The official Go blog recently released the Go 2019 Survey Report. This survey collected 10,975 responses, nearly twice as many as last year. Feedback from these respondents will be used to improve Go.
The following is a summary of the 2019 survey report:
- The demographics of the respondents were similar to Stack Overflow’s survey respondents, which increases our confidence that these results are representatives of the larger Go developer community.
- A majority of respondents use Go every day, and this number is trending upward each year.
- Go is still mainly used by tech companies, but Go is increasingly found in a wider range of industries, such as finance and media.
- As in the past, Go is still primarily used for building API/RPC services and command-line interfaces (CLIs.)
- Almost everyone in the Go ecosystem is now using modules, but there is still some confusion surrounding package management.
- High-priority areas for improvement include improving the developer experience for debugging, working with modules, and working with cloud services.
- VS Code and GoLand have continued to see increased use, and they are now the preferred choice of 3 out of 4 respondents.
The results of the survey are described in detail below.
The survey results show that, at 72%, the proportion of respondents who use Go at work is basically the same last year. This number is trending up each year. However, the proportion of people who use Go outside work has decreased from 70% to 62%.
1. Time Using Go
2. Experience with Other Languages
Go is a successful open-source project, but most respondents are not frequent contributors to Go open-source projects. As the Go community expands, we are seeing the proportion of respondents who’ve never contributed to Go open-source projects slowly trend upward.
In last year’s survey, most of the respondents were from tech companies and in fields such as software and the Internet. In this year’s survey, respondents represented a broader range of industries. The proportion of respondents from the financial industry has increased significantly from 8% to 12%, and the proportion of respondents from the tech industry has dropped from 52% to 43%.
Specifically, Go is most commonly used in web development, with 66% of respondents reporting using it for this purpose. The number of respondents who used Go in database-related areas has increased significantly from 29% to 45%, moving this area from fifth place to second place. Other common areas include network programming (42%), system programming (38%), and DevOps (37%).
Go is mainly used to build API or RPC services (71%) and develop CLI applications (62%). Go is also used for libraries and frameworks, with the proportion of this area increasing from 30% to 48%.
As in previous years, the vast majority of survey respondents reported working with Go on the Linux (66%) and macOS (53%) systems. There is one area of significant divergence between our respondents and StackOverflow’s 2019 results. In our survey, only 20% of respondents use Windows as their primary development platform, while for StackOverflow it was 45% of respondents.
In addition, 38% of the respondents use this cross-platform language for multiple operating systems, which is slightly lower than last year (41%).
In terms of development tools, VS Code, GoLand, and Vim are still the top three editors, and these three editors are now the preferred choice of 3 out of 4 respondents. GoLand saw the sharpest increase in use this year, rising from 24% to 34%. VS Code’s growth slowed.
This year we added a question about internal Go documentation tooling. A small minority of respondents (6%) reported that their organizations run their own Go documentation servers, though this percentage nearly doubles (to 11%) when we look only at respondents at large organizations (those with at least 5,000 employees.)
This year’s questionnaire added several questions about cloud development. The survey results show that more developers choose to deploy Go applications on the cloud. 42% of respondents chose AWS, which is almost the same as those who chose to deploy Go applications locally (44%).
The three largest global cloud providers (Amazon Web Services, Google Cloud Platform, and Microsoft Azure) all appear to be trending up in usage among survey respondents and firmly occupy most of the market share.
Overall, a majority of respondents were satisfied with the Go use experience on all three major cloud providers. Respondents reported similar satisfaction levels with Go development for AWS (80% satisfied) and GCP (78% satisfied), while Azure received a lower satisfaction score (57% satisfied).
Attitudes about the Go Language
The questionnaire contained the question “Would you recommend Go to friends or colleagues?” which we used to calculate the net promoter score (NPS.) The NPS of Go in the 2019 survey was 60 (67% promoters minus 7% detractors), and the NPS in last year’s survey was 61.
Package management and the lack of generics are still the two major challenges faced by Go developers and the proportion of respondents highlighting tooling problems increased. All three of these are areas of focus for the Go team this year, and we hope to greatly improve the developer experience, particularly regarding modules, tooling, and the beginner experience, in the coming months.
Go Community Atmosphere
Compared with previous years, respondents’ views about the Go community have fluctuated significantly. The proportion of respondents who think they are not well represented in the community has dropped from 82% to 75%.
On the other hand, the respondents’ responses to this question are becoming polarized. The proportions of respondents who select “Strongly disagree” and “Strongly agree” both increased. The Go team plans to study this issue further.
This is a summary of the information provided in the Go 2019 survey. To view the complete survey report, go to the official Go blog.