I would love to hear an example of that as that seems a pretty extreme claim.
I would love to hear an example of that as that seems a pretty extreme claim.
In the cases I've seen what makes people a lot more productive is experience. At Google, Ken and Russ ran circles around me in terms of writing compilers, but I had only written half a dozen toy compilers while someone like Ken has written many more production ones.
My current co-worker Mikko just spent a few weeks re-writing the code to extract a mesh from our level set data. It's a distributed algorithm and our literature search didn't indicate it had ever been published. Starting with someone without domain experience it would be several weeks until the algorithm made sense. It probably would take years to replicate the feat.
Programming is a very specialized endeavor. Some parts of more than others. My own experience indicates that individuals can have magnitudes of difference in their performance when applied to some of these specialized areas.
You will note that the expert is not quicker by virtue of pulling in more sophisticated tools or large libraries. Rather the expert is faster due to knowing how to solve the actual problem.
Another one: http://www.paulgraham.com/spam.html
For many years hundreds of programmers worked on anti-SPAM systems that weren't as effective as the very simple method PG proposed.
If anyone else can think of more I'd love to know them.
The very fact there are articles explaining previous solutions to these problem domains is why I just don't believe anyone would ever take a year to get up to speed with something an expert could do in one day.
I can make a great spell checker or a great anti-spam program that takes an expert a day to program in less than a year by just googling it.
There are so few programming domains that aren't fairly transparent where a domain expert has such a massive advantage that a domain novice couldn't gather sufficient knowledge in a year to rival the other programmer's one day effort, given the same level of intelligence, etc.
It's certainly not that you're 10x better, it was homework. Your tutors expected you to be able to complete it as they'd spelled it out to you in the lectures.
We're talking about one programmer being 10x better than their peer, not of one generation being more scientifically advanced than the previous.
Moving back to programming, debugging specifically, I've had people spend weeks stuck on a bug, only for another programmer to find it in hours or days.