How many mediocre programmers does it take to replace a good programmer?
The answer is: Trick question. No amount of mediocre programmers will ever replace a good one.
Let’s say your good programmer has a “productivity factor” of 1.0. We’ll take this to mean that he or she gets 1 “unit” of productive, production-ready software shipped per day.
The reality is that even an average programmer might not have a positive productivity factor. If you look at their productivity over the long term, it might actually be something like -0.1 or lower, meaning that overall they cause more work for others than they actually complete themselves. They basically just slow the good ones down.
Furthermore, every programmer you add to a project adds overhead – both in communication and complexity of the code. So adding two mediocre programmers is even worse than adding just one.
Software development is an extremely complex discipline that requires above-average performance across a very diverse set of skills: Mathematics, logic, communication, design, aesthetics, and more.
Of course, Fred Brooks knew this back in 1975 when he wrote The Mythical Man-Month, but we can always use a reminder every so often.