There exists a widely held (and frequently asserted) belief that there is a very big (relatively to other professions) discrepancy between the top tier software developers and the non-top-tier.
... of superstars that produce ten times as much as the merely brilliant software developers.
Just to clarify - I'm not asking if Joel was correct in naming 100x more productive developers "superstars" - that's his definition. I'm asking if there are enough such 100x more productive developers (100x on average) to warrant a separate class.
Count on the best people outperforming the worst by about 10:1.
Count on the best performer being about 2.5 times better than the median performer.
Count on the half that are better-than-median performers outdoing the other half by more than 2:1.
[Boehm et al. 2000] Boehm, Barry, et al. 2000. Software Cost Estimation with Cocomo II. Boston: Addison-Wesley.
[Boehm and Papaccio 1988] Boehm, Barry W., and Philip N. Papaccio. 1988. Understanding and Controlling Software Costs. IEEE Transactions on Software Engineering 14(10): 1462–1477.
[Curtis 1981] Curtis, Bill. 1981. Substantiating Programmer Variability. Proceedings of the IEEE 69(7): 846.
[DeMarco and Lister 1985] DeMarco, Tom, and Timothy Lister. 1985. Programmer Performance and the Effects of the Workplace. Proceedings of the 8th International Conference on Software Engineering: 268–272.
[Mills 1983] Mills, Harlan D. 1983. Software Productivity. Boston: Little, Brown.
[Card 1987] Card, David N. 1987. A Software Technology Evaluation Program. Information and Software Technology 29(6): 291–300.
[Curtis et al. 1986] Curtis, Bill, et al. 1986. Software Psychology: The Need for an Interdisciplinary Program. Proceedings of the IEEE 74(8): 1092–1106.
[Valett and McGarry 1989] Valett, J., and F.E. McGarry. 1989. A Summary of Software Measurement Experiences in the Software Engineering Laboratory. Journal of Systems and Software 9(2): 137–148.
For interesting discussion on programming ability related to salary check Stackoverflow podcast #77.
On page 22, there's a box graph of hours needed to complete the program by language. If we assume programmer productivity to be time to complete a given programming task, then we have a maximum range of productivity of ~4 hours - 63 hours within Java. We can say that the best programmer did perform 10 times faster than the worst.
If you were interested, the paper includes the raw data, and you can perform your own analysis on the distribution. The distribution would tell you approximately how many programmers you would need to say that the best programmer is 100x more productive than the worst.
Not the answer you're looking for? Browse other questions tagged productivity programming-productivity .
Are monitors with an IPS (in-plane switching) panel better for the eyes?