tl;dr
- Follow up to Older Developers.
- Key findings of a study on the differences between developers of different ages.
- People use less science than they think.
The Reality
Last week I blogged about the Tech Industry’s Darkest Secret. In both my post and the article I was quoting from there was a lot of speculation about the knowledge difference between older and younger developers. Certainly everyone assumes that older developers have more of a certain kind of experience, but this sort of knowledge is largely anecdotal. Or at least that’s what I thought, but just this morning I came across an article reporting on a study comparing those differences scientifically. Titled Older Is Wiser: Study Shows Software Developers’ Skills Improve Over Time, the article leaves very little doubt about the results of the study.
Interesting bits from the study include:
- The researchers examined data from 80,000 StackOverflow users.
- Reputation (based on quality of questions and answers) increased with age.
- Breadth of knowledge decreased between 15 and 30, but then there was a sharp increase from 30′s into the 50′s.
- And then the one that surprised me the most, the researchers compared new technology knowledge (last 10 years) and found “no statistically significant difference between older and younger programmers” on all but a couple of technologies, and on those (iOS and Windows Phone 7) the older developers had a “significant edge”.
Now before you think to yourself “Older developers for the win!”, there is still the potential issue of big differences in hours worked and starting salary between younger and older developers. As to the issue of the former, I think the data is pretty clear that working people more than 40 hours consistently doesn’t get you anything, and may in fact be detrimental. On the issue of the latter, well I guess you have to figure out what the $ benefit is of the greater knowledge, which is tough, but not impossible.
Everyone claims that they want to be scientific with their business, they want to listen to the data, make calls driven by logic rather than emotion, vague hunches, or whatever way the wind happens to be blowing at the time. This is a great idea, but it’s also tough, and as a result a lot of people don’t do it. The debate over hiring younger programmers vs. older programmers is a classic example of this. The current image of a great programmer is someone in their early 20′s who hasn’t shaved in two weeks, perched in front of a computer, the discarded remains of a dozen energy drinks stacked in a precarious pyramid on one corner of his desk. This image is backed up by a huge amount of intuition, lots of anecdotes and very little real data. Which is not to say that older developers are better, it’s to say that decisions made based on reality will be better than decisions based on your perception of reality…