John Henry and the 10x Programmer
Remember the 19th-century folk tale of John Henry? Aghast at the idea that machines could do a better job than humans at driving steel rods into mountain rocks (to make room for explosives), John Henry agreed to a contest with a steam-powered rock drilling machine. He won the contest, but, of course, lost the war, as the machines were, in the end, more efficient for the long haul.
At The New Stack, we are primarily interested in easy scalability — how to harness the inherent power of computation to multiply value by some impressive order of magnitude. It is what computers do best, after all. So we’ve always been slightly suspicious of the idea of the “10x programmer,” those John-Henry-of-the-computer-coders who putatively can program 10 times (or greater) more efficiently than their peers. For even if they are magically more productive, in the end, the gain is not worth as much as you might expect.
Now we have some scientific backing.
Bill Nichols, a researcher from Carnegie Mellon University, questioned the relevance of individual developer productivity. His recently published survey of 490 programmers using the C programming language suggested that instead, half of the difference in “program-development effort” can actually be attributed to variations in each individual programmer’s day-to-day performance, and “most of the differences resulted from a few very low performances, rather than exceptional high performance …”
Does this mean the idea of the 10x programmer that all managers are seeking is a myth? “[W]hile some programmers are better or faster than others, the scale and usefulness of this difference have been greatly exaggerated,” Nichols wrote.
In other words, environmental factors play as much a role in helping or thwarting good programming. Get your shop a solid DevOps workflow — one that allows your programmers to code with minimal distraction — and you may find that your need for master programmers may not be urgent as you thought necessary.