0

Driving instructors (at leas in Germany) often mention 100.000 km driven as a reference point where a driver is considered experienced.

Is there a similar number for programmers?

For example, how many lines of code does the average junior/senior developer have written when starting their job?

Also: after how many lines in a specific language does one usually become an expert of that language?

Of course, there are many other factors, that make up who is a good programmer and who is not, however I feel like the number of lines of code could be a pretty good indicator of hands on experience.

Update:

Originally, I asked for a number of lines of code.

Of course I am aware, that it makes a big difference, what quality of code was written, in what fields etc. I would not consider any person, that has driven over 100.000km, a good driver either.

And I am still convinced, that everybody needs a certain time of experience, to become a great programmer. Though hours was not the measure I was looking for, the number of hours in the answer of suhit was essentially what I wanted.

A more clear version of my original question might be: After how many lines of code has a dedicated programmer, who constantly challenges himself, likely acquired enough knowledge and skill to be considered experienced?

  • 1
    More seriously: I would consider a driving instructor be more experienced the more pupils he/she has successfully prepared for the exam, not the driven kilometers alone. Same goes with programmers. – Marcel Dec 10 '13 at 7:30
  • 1
    If you are in write-only mode, the correct number is: ∞ – mouviciel Dec 10 '13 at 8:23
  • 2
    My goal is to have written negative lines of code over my career. It's hard, but I'm trending the right way at the moment. – Móż Dec 10 '13 at 9:20
  • 3
    I think people are missing the point here. He's asking for a metric. The fact that his suggested metric isn't a good one should cloud the issue. He has still asked a valid question. – MetaFight Dec 10 '13 at 10:12
  • 2
    Damnit. I meant to say "The fact that his suggested metric isn't a good one shouldn't cloud the issue." But I went and clouded the issue instead :| – MetaFight Dec 10 '13 at 10:19
3

I think that, It's not the number of hours that the coder worked on but number of project he worked upon which consist of complex tasks and how he handled those different tasks. How he can break the complex task into small pieces and can build it up from scratch using reusable code. How much he understands programming concepts and best practices while coding. Best way to evaluate is how quickly you can solve a task or build a project. This link better explains about number of hours Can programmer experience be expressed in hours of coded like hours of flight for a pilot?

  • 1
    I have 1000 hour experience but I've done those 1000 hours ten times. I must be really good! – Móż Dec 10 '13 at 9:22
8

Researchers tend to say that it takes ten years to develop a deep level of expertise. This equates to around 10,000 hours of learning the craft. How many lines of code can you type in an hour?

It is probably not so much the lines of code, but what those lines of code do. The idea is that each successive target should be a bit more complex and a bit of a stretch for your current skill set, not just writing the same style of code over and over.

Deliberative practice, where you set yourself increasing challenges, is the key.

  • 2
    thinking about those lines will give you more experience than copy-pasting them – ratchet freak Dec 10 '13 at 7:52
2

As others in this thread have mentioned (less explicitly), there are many skills to being a developer:

  • refactoring: How can you shift around the logic in a program to condense and clarify the ideas?
  • mistakes: How many have you made? How have you learned to avoid them?
  • scope: What kinds of problems can you solve? Have you spent most of your programming career solving problems in the same domain? How would you function in a domain outside of that?
  • creating new ideas from little: How well can you code something from scratch or near-scratch? Do you need code-generation tools to give you a template to modify?
  • contributing to large projects: How well can you navigate and contribute to larger projects in which there's no possible way you could be responsible for the whole app?
  • wtfs per time-unit: How many times does your code make you or someone say wtf per year? (See-also: refactoring)

inspiration

1

This leads to 220 working days a year, and 22000 lines of code written in ten years.

(Don't take this too seriously)

Not the answer you're looking for? Browse other questions tagged or ask your own question.