How Many Go Developers Are There?
Posted on Thursday, July 13, 2017.
How many Go developers are there in the world? My best estimate is between half a million and a million (as of early July 2017).
Update, July 2018: My best estimate is now between 0.8 and 1.6 million. It seems to me likely that we've crossed a million Go developers.
My approach is to compute:
Then we need to answer how many software developers there are in the world and what percentage of them are using Go.
Number of Software Developers
How many software developers are there in the world?
In January 2014, InfoQ reported that IDC published a report (no longer available online, it would seem) estimating that there were 11,005,000 “professional software developers” and 7,534,500 “hobbyist software developers,” giving a total estimate of 18,539,500.
In October 2016, Evans Data Corporation issued a press release advertising their “Global Developer Population and Demographic Study 2016” in which they estimated the total worldwide population of software developers to be 21 million.
Maybe the Evans estimate is too high. The details of their methodology are key to their business and therefore not revealed publicly, so we can't easily tell how strict or loose their definition of developer is. In January 2017, PK of the DQYDJ blog posted an analysis titled “How Many Developers are There in America, and Where Do They Live?,” That post, which includes an admirably detailed methodology section, used data from the 2016 American Census Survey (ACS) and included these employment categories as “strict” software developers:
- Computer Scientists and Systems Analysts / Network Systems Analysts / Web Developers
- Computer Programmers
- Software Developers, Applications and Systems Software
- Database Administrators
Using that list, PK arrived at a total of 3,357,626 software developers in the United States. The post then added two less strict categories, which expanded the total to 4,185,114 software developers. A conservative estimate of the number of software developers worldwide would probably include only PK's “strict” category, about 80% of the United States total. If we assume conservatively that the Evans estimate was similarly loose and that the 80% ratio holds worldwide, we can make the Evans estimate stricter by multiplying it by the same 80%, arriving at 16.8 million.
Maybe the Evans estimate is too low. In May 2017, RedMonk blogger James Governor reported that, in a recent speech, GitHub CEO Chris Wanstrath claimed GitHub has 21 million active users and GitHub's Atom editor has 2 million active users (who haven't turned off metrics and tracking) and concluded that the IDC and Evans estimates are therefore too low. Governor went on to give a “wild assed guess” of 35 million developers worldwide.
Based on all this (and ignoring wild-assed guesses), I think it's reasonable to estimate that the number of software developers worldwide in 2017 is likely to be in the range 16.8-21 million.
Fraction using Go
What fraction of software developers use Go?
Stack Overflow has been running an annual developer survey for the past few years. In their 2017 survey, 4.2% of all respondents and 4.6% of professional developers reported using Go. Unfortunately, we cannot sanity check Go against the year before, because the 2016 survey report cut off the list of popular technologies after Objective-C (6.5%).
O'Reilly has been running annual software developer salary surveys for the past few years as well, and their survey asks about language use. The 2016 worldwide survey reports that Go is used by 3.9% of respondents, while the 2016 European survey reports Go is used by 3.3% of respondents. (I derived both these numbers by measuring the bars in the graphs.) The 2017 worldwide survey reports in commentary that 4.5% of respondents say they use Go.
Maybe the 4.2–4.6% estimate is too high. Both of these are online surveys with a danger of self-selection bias among respondents, and that developers who don't answer online surveys use Go much less than those who do. For example, perhaps the surveys are skewed by geography or experience in a way that affects the result. Suppose, I think quite pessimistically, that the survey respondents are only representative of half of the software developer population, and that in the other half, Go is only half as popular. Then if a survey found 4.2% of developers use Go, the real percentage would be three quarters as much, or 3.15%.
Based on all this, I think it's reasonable to estimate that the fraction of software developers using Go worldwide is at least 3% and possibly as high as 4.6%.
Number of Go Developers
How many Go developers are there?
On the low end, 3% of 16.8 million is 504,000. On the high end, 4.6% of 21 million is 966,000. Based on all this, I think it's reasonable to estimate that, as of early 2017, there are between half a million and a million Go developers worldwide.
Update, July 2018: The 2018 Evans Data Global Developer Population and Demographic Study estimates 23 million developers worldwide, up from 21 million in the 2016 survey. If the confidence range last year was 16.8–21 million, it seems reasonable to move up by the 10% growth to be 18.4–23 million developers.
The 2018 Stack Overflow Developer Survey reports that 7.1% of all developers and 7.2% of professional developers use Go. Applying the same pessimism as last year (multiplying by three quarters) suggests a lower bound of 5.3%, but I'll be even more conservative and use last year's 4.6% as a lower bound. (The O'Reilly surveys aren't out yet this year. If they come in above 4.6% then maybe we'll move that up.)
Multiplying 18.4–23 million by 4.6–7.1% yields a range of 846,400 to 1,633,000 Go developers. It seems likely that Go has crossed a million developers. (And if it hasn't, it will very soon.)