Go User Survey 2018 results: Golang goes from strength to strength, as more engineers than ever are using it at work

Yesterday, the team at Go announced the results of their user survey for the year 2018. 5,883 users from 103 different countries participated in the survey.

Key highlights from the Go User Survey 2018

According to the report, for the first time, half of the survey respondents said that they are currently using Go as part of their daily routine. It seems this year proved to be even better for Go as the graph saw a significant increase in the number of respondents who develop their projects in Go as part of their jobs and also use Go outside of their work responsibilities. Also, a majority of survey respondents said that Go is their most-preferred programming language. Here are some other findings:

API/RPC services and CLI tools are the commonly used tools by Go users. VS Code and GoLand have become the most popular code editors among survey respondents. Most Go developers use more than one primary OS for development where Linux and macOS are popular.

Automation tasks were declared as the fast-growing area for Go.

Web development still remains the most common domain but DevOps has shown the highest year-over-year growth and is also the second most common domain now.

Survey respondents have been shifting from on-premise Go deployments to containers and serverless cloud deployments.

To simplify the survey report, the team at Go broke the responses down into three groups:

The ones who are using Go both in and outside of work

The ones who use Go professionally but not outside of work

The ones who only use Go outside of their job responsibilities

According to the survey, nearly half (46% of respondents) write Go code professionally as well as during their free time because the language appeals to developers who do not view software engineering only as a day job.According to the survey, 85% of respondents would prefer to use Go for their next project.

Would you recommend Go to a friend?

This year, the team had added a question, “How likely are you to recommend Go to a friend or colleague?” for calculating Net Promoter Score. This score measures the number of “promoters” a product has than “detractors” and it ranges from -100 to 100. A positive value would suggest most people are likely to recommend using a product, while negative values will suggest, most people wouldn’t recommend using it. The latest score (2018) is 61, where 68% are promoters – 7% are detractors.

How satisfied are developers with Go?

The team also asked many questions about developer satisfaction with Go, in the survey. Majority survey respondents indicated a high level of satisfaction which is consistent with prior year results. Around 89% of the respondents said that they are happy with Go and 66% felt that it is working well for their team. These metrics showed an increase in 2017 and they mostly remained stable this year.

The downside

About half of the survey respondents work on existing projects that are written in other languages, and ⅓ work on a team or project that prefer a language other than Go. The reason highlighted by the respondents for this is the missing language features and libraries. The team identified the biggest challenges faced by developers while using Go with the help of their machine learning tools. The top three challenges highlighted by the team as per the survey are:

Package management is one of the major challenges.

A response from the survey reads,“keeping up with vendoring, dependency / packet [sic] management / vendoring is not unified.”

There are major differences from more familiar programming languages.

A response from the survey reads, “Syntax close to C-languages with slightly different semantics makes me look up references somewhat more than I’d like”, Another respondent says, “My coworkers who come from non-Go backgrounds are trying to use Go as a version of their previous language but with channels and Goroutines.”

Lack of generics is another problem.

Another response from the survey reads, “Lack of generics makes it difficult to persuade people who have not tried Go that they would find it efficient. Hard to build richer abstractions (want generics)”

Go community

Go blog, Reddit’s r/ golang, Twitter, and Hacker News remain the primary sources for Go news. This year, 55% of survey respondents said they are interested in contributing towards the Go community, though it is slightly lesser than last year (59%). The standard library and official Go tools require interacting with the core Go team which could be one of the reasons for the dip in the percentage. Another reason is the dip in the percentage of participants who are willing to take up the Go project leadership. It was 30% last year and it has become 25% this year. This year only 46% of respondents are confident about taking the leadership of Go, it was 54% last year.