How many programmers are there?

According to Evans Data, the worldwide developer community will reach 29M by 2019. The largest growth is expected to come from China and, to a lesser extent, other developing economies.

I tend to be very skeptical about quantitative analysis of the developer community, and more-so when it comes to global analysis and forecasting, but I have no prima facie reason to criticize those numbers.

As always, I turn my attention to questions of the distribution of developer productivity. Is the distribution of talent among these 29M more like:


A normal distribution would imply that the most effective team structures would be fairly democratic.

The “superprogrammer” distribution, in which an elite (but not vanishingly small) population is vastly more productive than median would imply the most effective team structure as being one structured like a surgical team (the team is structure in service to the elite member).

The “incompetent” distribution, in which a good number of exceptionally bad programmers manage to stay employed, implies that instead of seeking out “rockstars” and “ninjas,” teams should take a satisficing approach. In this world, the median professional programmer is pretty darn good, but sees a lot of unacceptable crap.

A belief in the “superprogrammer” distribution is prevalent, but the “incompetent” distribution best explains the world I’ve seen over the past 30 years.

3 thoughts on “How many programmers are there?

  1. I feel it’s a multi-dimensional and contextualized space.

    Multi-dimensional, because there are many different skills involved in software delivery, and that’s not captured in 1-D diagrams.

    Contextualized because some programming contexts transform the X-axis (which I assume is labelled “payoff”) in a way that make us then interpret the underlying skills distributions as “superprogrammer”, likewise “incompetent”,

    To put it another way, are the diagrams showing distribution of “talent” (but then what does “talent” even mean? scores on a test? bug fix rates? task completion rates? creativity?), or distributions of payoff (how raw skill translates to business results)? If you’re talking about the latter, then it is highly contextualized, and the same group of programmers will look different in different contexts.

    🙂 don

    1. “…then it is highly contextualized, and the same group of programmers will look different in different contexts.”

      Yes, I believe that this is true. I think, though, that it is not the majority view. To me, today’s “rock star/ninja” is tomorrow’s under- or average-performer and vice versa.

Comments are closed.