|This is hardly news to top programmers -- or to managers at the best software houses. Joel, however, has some evidence that may help convince the non-believers. Records kept for years by a computer science professor at Yale pretty clearly summarizes the effect. There are huge gaps between the best programmers and the worst.|
Furthermore, even the alarming numbers presented in the article don't tell the whole story. Remember, these are all students who made it into a very selective university. So, while reading the data, bear in mind that the worst programmers in these classes are likely closer to the average coders you'd encounter in the typical job market.
The logical conclusion one would draw from this evidence is clear: if you have the opportunity to hire a super programmer, take it. Even if that means paying the programmer more than his manager. All you have to do to understand the economics is to calculate how many average programmers it would take to do the same work of one top-notch coder.
Of course, if you don't have quite challenging programming projects, this doesn't fully apply to you. Not only would you not get the best work out of the unchallenged super coder, but he probably wouldn't stay around very long anyway.
Worse, it's probably impossible for some managers to even recognize a great programmer.
The fastest students were finishing three or four times faster than the average students and as much as ten times faster than the slowest students. The standard deviation is outrageous. So then I thought, hmm, maybe some of these students are doing a terrible job. I didn't want to include students who spent 4 hours on the assignment without producing a working program. So I narrowed the data down and only included the data from students who were in the top quartile of grades... the top 25% in terms of the quality of the code.