Go 2017 Survey Results

26 February 2018

Thank you

This post summarizes the result of our user along with commentary

and insights. It also draws key comparisons between the of the 2016 and

2017 survey.

This year we had 6,173 survey respondents, 70% more than the 3,595 we had in the

Go 2016 User Survey. In

addition, it also had a slightly higher completion rate (84% → 87%) and a

higher response rate to most of the questions. We believe that survey length is

the main cause of this improvement as the 2017 survey was shortened in response

to feedback that the 2016 survey was too long.

We are grateful to everyone who provided their feedback through the survey to

help shape the future of Go.

Programming background

For the first time, more survey respondents say they are paid to write Go

than say they write it outside work. This indicates a significant shift in

Go’s user base and in its acceptance by companies for professional software

development.

The areas people who responded to the survey work in is mostly consistent with

last year, however, mobile and desktop applications have fallen significantly.

Another important shift: the #1 use of Go is now writing API/RPC services (65%,

up 5% over 2016), taking over the top spot from writing CLI tools in Go (63%).

Both take full advantage of Go’s distinguishing features and are key elements of

modern cloud computing. As more companies adopt Go, we expect these two uses

of Go to continue to thrive.

Most of the metrics reaffirm things we have learned in prior years. Go

programmers still overwhelmingly prefer Go. As more time passes Go users are

deepening their experience in Go. While Go has increased its lead among Go

developers, the order of language rankings remains quite consistent with last

year.


The following apply to me: (multiple choice)4,201 (67%)I program at work in Go3,935 (63%)I program in Go outside of work3,381 (54%)I program at work in another language1,001 (16%)I manage a programming team506  (8%)I am a student113  (2%)Other27  (0%)No response


I’ve used Go for: (single choice)686 (11%)Less than 3 months1,588 (26%)3 – 12 months1,338 (21%)13 – 24 months1,678 (27%)2 – 4 years809 (13%)4+ years102  (2%)I’ve never used Go25  (0%)No response


I work in the following areas: (multiple choice)3,807 (61%)Web development2,319 (37%)Systems programming2,250 (36%)DevOps1,969 (32%)Network programming1,751 (28%)Databases848 (14%)Security777 (12%)Finance/Commerce724 (12%)Data Science696 (11%)Mobile694 (11%)Desktop/GUI applications647 (10%)Embedded devices/Internet of Things581  (9%)Academic/Scientific/Numeric581  (9%)Machine Learning/Artificial Intelligence334  (5%)Gaming381  (6%)Other111  (2%)No response


I write the following in Go: (multiple choice)4,071 (65%)API/RPC services (returning non-HTML)3,921 (63%)A runnable/interactive program (CLI)3,027 (49%)Web services (returning HTML)2,766 (44%)Agents and daemons (e.g, monitoring)2,394 (38%)Libraries or Frameworks2,038 (33%)Automation/scripts (e.g, deployment, configuration management)2,030 (33%)Data processing (pipeline, aggregation)167  (3%)I don’t write in Go176  (3%)Other70  (1%)No response


I write in Go: (single choice)3,019 (48%)As part of my daily routine1,802 (29%)Weekly557  (9%)Monthly679 (11%)Infrequently118  (2%)I’ve never written in Go51  (1%)No response


Rank the following languages in terms of your expertise 5,540 (30, 27, 17, 9, 6%)Go3,638 (9, 16, 15, 11, 7%)JavaScript3,369 (13, 12, 12, 10, 7%)Python2,706 (11, 8, 8, 9, 7%)Java2,402 (7, 8, 8, 8, 8%)C2,020 (2, 5, 9, 10, 7%)Bash1,631 (4, 4, 5, 7, 6%)C++1,475 (7, 5, 4, 4, 4%)PHP1,042 (4, 3, 4, 3, 3%)C#1,034 (4, 3, 3, 3, 3%)Ruby460 (1, 1, 1, 2, 2%)Perl284 (0.5, 0.6, 0.8, 1, 1%)Scala278 (0.2, 0.4, 0.8, 1, 2%)Rust260 (0.3, 0.5, 0.7, 1, 1%)Swift223 (0.1, 0.2, 0.8, 1, 1%)Lua185 (0.1, 0.5, 0.7, 0.8, 0.8%)Kotlin139 (0.1, 0.2, 0.3, 0.6, 1%)Haskell139 (0.2, 0.2, 0.4, 0.8, 0.6%)Clojure136 (0.2, 0.3, 0.4, 0.5, 0.8%)R124 (0.1, 0.2, 0.4, 0.6, 0.7%)Erlang24 (0.0, 0.1, 0.0, 0.1, 0.1%)Julia726 (3, 2, 3, 2, 2%)Other173 (2.8%)No response


Rank the following languages in terms of your preference 5,728 (65, 18, 6, 2, 1%)Go3,156 (7, 18, 12, 8, 4%)Python2,463 (3, 9, 12, 8, 7%)JavaScript1,827 (2, 7, 8, 7, 6%)C1,764 (2, 6, 7, 7, 6%)Java1,240 (1, 4, 5, 5, 5%)C++1,196 (0.6, 3, 6, 5, 5%)Bash939 (2, 4, 4, 3, 2%)Rust924 (2, 4, 4, 3, 2%)C#859 (2, 4, 3, 3, 2%)Ruby757 (0.8, 3, 3, 3, 3%)PHP455 (1, 2, 2, 2, 0.9%)Kotlin414 (0.7, 1, 2, 2, 1%)Swift383 (1, 1, 1, 2, 1%)Haskell335 (0.8, 1, 1, 1, 0.9%)Scala305 (0.6, 1, 1, 1, 0.9%)Perl279 (0.3, 0.8, 1, 1, 0.8%)Erlang250 (0.1, 0.5, 1, 1, 1%)Lua248 (0.6, 0.8, 1, 0.9, 0.6%)Clojure113 (0.1, 0.4, 0.4, 0.5, 0.4%)R71 (0.1, 0.2, 0.3, 0.3, 0.2%)Julia709 (2, 3, 3, 2, 1%)Other241 (3.9%)No response


20162017The following apply to me: (multiple choice)4,201 (67%)I program at work in Go3,935 (63%)I program in Go outside of work3,381 (54%)I program at work in another language1,001 (16%)I manage a programming team506  (8%)I am a student113  (2%)Other27  (0%)No responseThe following apply to me: (multiple choice)2,386 (66%)I program in Go outside of work2,235 (62%)I program at work in Go2,004 (56%)I program at work in another language618 (17%)I manage a programming team337  (9%)I am a student78  (2%)Other10  (0%)No response


20162017I work in the following areas: (multiple choice)2,272 (63%)Web development1,359 (38%)Systems programming1,251 (35%)DevOps1,169 (33%)Network programming1,006 (28%)Databases533 (15%)Mobile490 (14%)Desktop/GUI applications457 (13%)Security435 (12%)Data Science417 (12%)Finance/Commerce394 (11%)Embedded devices/Internet of Things379 (11%)Academic/Scientific/Numeric228  (6%)Gaming238  (7%)Other74  (2%)No responseI work in the following areas: (multiple choice)3,807 (61%)Web development2,319 (37%)Systems programming2,250 (36%)DevOps1,969 (32%)Network programming1,751 (28%)Databases848 (14%)Security777 (12%)Finance/Commerce724 (12%)Data Science696 (11%)Mobile694 (11%)Desktop/GUI applications647 (10%)Embedded devices/Internet of Things581  (9%)Academic/Scientific/Numeric581  (9%)Machine Learning/Artificial Intelligence334  (5%)Gaming381  (6%)Other111  (2%)No response


20162017I write the following in Go: (multiple choice)2,247 (63%)A runnable/interactive program2,174 (60%)API/RPC services1,886 (52%)Web services1,583 (44%)Agents and daemons1,417 (39%)Libraries or Frameworks1,209 (34%)Data processing1,120 (31%)Automation/scripts107  (3%)I don’t write in Go137  (4%)Other45  (1%)No responseI write the following in Go: (multiple choice)4,071 (65%)API/RPC services3,921 (63%)A runnable/interactive program3,027 (49%)Web services2,766 (44%)Agents and daemons2,394 (38%)Libraries or Frameworks2,038 (33%)Automation/scripts2,030 (33%)Data processing167  (3%)I don’t write in Go176  (3%)Other70  (1%)No response

Go usage

In nearly every question around the usage and perception of Go, Go has

demonstrated improvement over our prior survey. Users are happier using Go, and

a greater percentage prefer using Go for their next project.

When asked about the biggest challenges to their own personal use of Go, users

clearly conveyed that lack of dependency management and lack of generics were

their two biggest issues, consistent with 2016. In 2017 we laid a foundation to

be able to address these issues. We improved our proposal and development

process with the addition of

Experience Reports which is

enabling the project to gather and obtain feedback critical to making these

significant changes. We also made

sigificant changes under the hood in

how Go obtains, and builds packages. This is foundational work essential to

addressing our dependency management needs.

These two issues will continue to be a major focus of the project through 2018.

In this section we asked two new questions. Both center around what

developers are doing with Go in a more granular way than we’ve previously asked.

We hope this data will provide insights for the Go project and ecosystem.

Since last year there has been an increase of the percentage of people who

identified “Go lacks critical features” as the reason they don’t use Go more and

a decreased percentage who identified “Go not being an appropriate fit”. Other

than these changes, the list remains consistent with last year.


To what extent do you agree or disagree with the following statements: (strongly disagree, disagree, somewhat disagree, neither agree nor disagree, somewhat agree, agree, strongly agree)5,938 (2, 0.8, 1, 2, 5, 21, 64%)I would recommend using Go to others (26:1) [32:1]5,928 (2, 1, 2, 4, 8, 20, 58%)I would prefer to use Go for my next new project (17:1) [23:1]4,548 (1, 0.8, 1, 7, 9, 23, 31%)Go is working well for my team (21:1) [26:1]4,716 (5, 6, 4, 17, 14, 14, 17%)Go is critical to my company’s success (3.1:1) [3.1:1]

Reading the data: This question asked how strongly the respondent agreed or disagreed with the statement.
The responses for each statement are displayed as sections of a single bar, from “strongly disagree” in deep red on the left end
to “strongly agree” in deep blue on the right end. The bars use the same scale as the rest of the graphs,
so they can (and do, especially later in the survey) vary in overall length due to lack of responses.

The ratio after the text compares the number of respondents who agreed (including “somewhat agree” and “strongly agree”)
to those who disagreed (including “somewhat disagree” and “strongly disagree”).
For example, the ratio of respondents agreeing that they would recommend Go to respondents disagreeing was 19 to 1.
The second ratio (within the brackets) is simply a weighted ratio with each somewhat = 1, agree/disagree = 2, and strongly = 4.


What is the biggest challenge you personally face using Go today? 582 (9.3%)lack489 (7.9%)generics402 (6.5%)management277 (4.4%)libraries266 (4.3%)dependency management194 (3.1%)lack of generics159 (2.6%)package137 (2.2%)gui137 (2.2%)library132 (2.1%)good132 (2.1%)work122 (2.0%)time115 (1.8%)enough114 (1.8%)error handling113 (1.8%)type109 (1.8%)learning106 (1.7%)projects104 (1.7%)hard97 (1.6%)team91 (1.5%)dependencies91 (1.5%)java87 (1.4%)c82 (1.3%)debugging81 (1.3%)no generics81 (1.3%)vendoring79 (1.3%)package management79 (1.3%)programming77 (1.2%)gopath76 (1.2%)features76 (1.2%)types75 (1.2%)people74 (1.2%)web73 (1.2%)python73 (1.2%)write68 (1.1%)development67 (1.1%)generic67 (1.1%)writing66 (1.1%)difficult64 (1.0%)interface64 (1.0%)tools63 (1.0%)missing62 (1.0%)performance60 (1.0%)interfaces60 (1.0%)standard58 (0.9%)community58 (0.9%)packages56 (0.9%)build56 (0.9%)well55 (0.9%)best55 (0.9%)cgo55 (0.9%)debugger55 (0.9%)ide55 (0.9%)other languages55 (0.9%)verbose54 (0.9%)boilerplate54 (0.9%)finding54 (0.9%)learn53 (0.9%)not enough2,956 (47.5%)No response

Reading the data: This question asked for write-in responses.
The bars above show the fraction of surveys mentioning common words or phrases. Only words or phrases that
appeared in 20 or more surveys are listed, and meaningless common words or phrases like “the” or “to be” are omitted.
The displayed results do overlap: for example, the 402 responses that mentioned “management” do include the
266 listed separately that mentioned “dependency management” and the 79 listed separately that mentioned
“package management.”

However, nearly or completely redundant shorter entries are omitted: there are not twenty or more surveys that listed
“dependency” without mentioning “dependency management,” so there is no separate entry for “dependency.”


If it were not for the following reasons I would use Go more: 3,077 (31, 14, 4%)I work on an existing project written in another language2,152 (14, 16, 5%)My project / team / TL prefers another language1,218 (10, 5, 4%)Go lacks critical features1,100 (6, 7, 4%)Go lacks critical libraries1,056 (6, 6, 4%)Go isn’t appropriate for what I’m working on643 (4, 4, 3%)Not enough education or support resources for Go311 (2, 2, 1%)Go lacks critical performance790 (5, 4, 3%)Other1,309 (21%)No response


Which of the following functionality have you implemented (multiple choice)3,262 (52%)Writing logs/metrics3,123 (50%)Reading/updating configuration2,771 (45%)User login and authentication2,748 (44%)Process to process communication2,504 (40%)Service authentication/authorization2,056 (33%)Health checking1,138 (18%)Keys & secret maintenance831 (13%)Distributed caching532  (9%)Distributed tracing1,269 (20%)No response


Which of the following do you access from Go: (multiple choice)3,784 (61%)Open Source Relational DB (MySQL/PostgreSQL/CockroachDB)2,400 (39%)Memory Cache (Redis/memcache)2,005 (32%)Cloud Storage (S3/Google Cloud Storage/Azure Storage/Minio)1,891 (30%)Open Source NoSQL DB (MongoDB/Cassandra)1,606 (26%)Authentication and federation (SSO/LDAP/OAuth)1,546 (25%)Distributed Key-Value store (etcd/consul)657 (11%)Proprietary Relational DB (Oracle/DB2/MSSQL/Sybase)459  (7%)Distributed Lock Service (zookeeper)1,367 (22%)No response


20162017If it were not for the following reasons I would use Go more:3,077 (31,14,4%)I work on an existing project written in another lang2,152 (14,16,5%)My project / team / TL prefers another language1,218 (10,5,4%)Go lacks critical features1,100 (6,7,4%)Go lacks critical libraries1,056 (6,6,4%)Go isn’t appropriate for what I’m working on643 (4,4,3%)Not enough education or support resources for Go311 (2,2,1%)Go lacks critical performance790 (5,4,3%)Other1,309 (21%)No responseIf it were not for the following reasons I would use Go more:1,485 (24,14,4%)I work on an existing project written in another lang1,160 (16,12,4%)My project / team / TL prefers another language841 (11,8,5%)Go isn’t an appropriate fit for what I’m working on596 (6,6,4%)Go lacks critical libraries412 (6,3,2%)Go lacks critical features319 (3,3,3%)Not enough education or support resources for Go121 (1,1,0.8%)Go lacks critical performance374 (4,3,3%)Other1,042 (29%)No response

Development and deployment

We asked programmers which operating systems they develop Go on; the ratios of

their responses remain consistent with last year. 64% of respondents say

they use Linux, 49% use MacOS, and 18% use Windows, with multiple choices

allowed.

Continuing its explosive growth, VSCode is now the most popular editor among

Gophers. IntelliJ/GoLand also saw significant increase in usage. These largely

came at the expense of Atom and Submlime Text which saw relative usage drops.

This question had a 6% higher response rate from last year.

Survey respondents demonstrated significantly higher satisfaction with Go

support in their editors over 2016 with the ratio of satisfied to dissatisfied

doubling (9:1 → 18:1). Thank you to everyone who worked on Go editor support

for all your hard work.

Go deployment is roughly evenly split between privately managed servers and

hosted cloud servers. For Go applications, Google Cloud services saw significant

increase over 2016. For Non-Go applications, AWS Lambda saw the largest increase in use.


I primarily develop Go on: (multiple choice)3,973 (64%)Linux3,048 (49%)MacOS1,151 (18%)Windows112  (2%)Other328  (5%)No response


My preferred code editor 2,449 (27, 13%)VSCode2,288 (22, 14%)Vim1,628 (19, 7%)IntelliJ/GoLand912 (7, 8%)Sublime Text791 (6, 7%)Atom490 (6, 2%)Emacs274 (2, 2%)Visual Studio154 (1, 1%)LiteIDE88 (0.5, 0.9%)Eclipse67 (0.6, 0.4%)Acme256 (3, 2%)Other382 (6.1%)No response


How satisfied are you with Go support in your preferred editor: (very dissatisfied, dissatisfied, somewhat dissatisfied, neither satisfied or unsatisfied, somewhat satisfied, satisfied, very satisfied)5,730 (1, 0.9, 3, 3, 16, 38, 29%) (18:1) [24:1]


My team deploys Go programs to: (multiple choice)2,664 (43%)Self/Company Owned Servers1,689 (27%)AWS EC2799 (13%)None732 (12%)AWS Container631 (10%)Digital Ocean596 (10%)Google Compute Engine485  (8%)Google Container Engine (GKE)328  (5%)Google App Engine262  (4%)AWS Lambda255  (4%)Heroku255  (4%)Microsoft Azure183  (3%)Linode61  (1%)Azure Container Service51  (1%)Google Cloud Functions13  (0%)Azure Functions601 (10%)Other652 (10%)No response


My team deploys Non-Go programs to: (multiple choice)2,865 (46%)Self/Company Owned Servers2,076 (33%)AWS EC2806 (13%)AWS Container644 (10%)AWS Lambda528  (8%)Google Compute Engine527  (8%)Digital Ocean442  (7%)None402  (6%)Microsoft Azure340  (5%)Heroku327  (5%)Google Container Engine (GKE)188  (3%)Google App Engine159  (3%)Linode95  (2%)Google Cloud Functions85  (1%)Azure Container Service50  (1%)Azure Functions524  (8%)Other825 (13%)No response


20162017My preferred code editor2,449 (27,13%)VSCode2,288 (22,14%)Vim1,628 (19,7%)IntelliJ/GoLand912 (7,8%)Sublime Text791 (6,7%)Atom490 (6,2%)Emacs274 (2,2%)Visual Studio154 (1,1%)LiteIDE88 (0.5,0.9%)Eclipse67 (0.6,0.4%)Acme256 (3,2%)Other382 (6.1%)No responseMy preferred code editor1,359 (25,13%)Vim814 (14,9%)VSCode676 (10,9%)Atom687 (13,6%)IntelliJ655 (10,8%)Sublime Text305 (6,2%)Emacs137 (2,2%)Visual Studio153 (3,2%)LiteIDE99 (1,2%)Eclipse37 (0.5,0.5%)Acme238 (4,3%)Other425 (12%)No response


20162017My team deploys Go programs to: (multiple choice)1,489 (41%)Self/Company Owned Servers928 (26%)AWS EC2503 (14%)None412 (11%)Digital Ocean292  (8%)AWS Container221  (6%)Google Compute Engine188  (5%)Google App Engine161  (4%)Google Container Engine (GKE)121  (3%)Heroku114  (3%)Microsoft Azure104  (3%)Linode94  (3%)AWS Lambda301  (8%)Other639 (18%)No responseMy team deploys Go programs to: (multiple choice)2,664 (43%)Self/Company Owned Servers1,689 (27%)AWS EC2799 (13%)None732 (12%)AWS Container631 (10%)Digital Ocean596 (10%)Google Compute Engine485  (8%)Google Container Engine (GKE)328  (5%)Google App Engine262  (4%)AWS Lambda255  (4%)Heroku255  (4%)Microsoft Azure183  (3%)Linode61  (1%)Azure Container Service51  (1%)Google Cloud Functions13  (0%)Azure Functions601 (10%)Other652 (10%)No response


20162017My team deploys Non-Go programs to: (multiple choice)1,714 (48%)Self/Company Owned Servers1,122 (31%)AWS EC2360 (10%)Digital Ocean343 (10%)AWS Container249  (7%)None233  (6%)AWS Lambda210  (6%)Microsoft Azure186  (5%)Google Compute Engine185  (5%)Heroku115  (3%)Google Container Engine (GKE)100  (3%)Linode94  (3%)Google App Engine297  (8%)Other660 (18%)No responseMy team deploys Non-Go programs to: (multiple choice)2,865 (46%)Self/Company Owned Servers2,076 (33%)AWS EC2806 (13%)AWS Container644 (10%)AWS Lambda528  (8%)Google Compute Engine527  (8%)Digital Ocean442  (7%)None402  (6%)Microsoft Azure340  (5%)Heroku327  (5%)Google Container Engine (GKE)188  (3%)Google App Engine159  (3%)Linode95  (2%)Google Cloud Functions85  (1%)Azure Container Service50  (1%)Azure Functions524  (8%)Other825 (13%)No response

Working Effectively

We asked how strongly people agreed or disagreed with various statements about

Go. All questions are repeated from last year with the addition of one new

question which we introduced to add further clarifaction around how users are

able to both find and use Go libraries.

All responses either indicated a small improvement or are comparable to 2016.

As in 2016, the most commonly requested missing library for Go is one for

writing GUIs though the demand is not as pronounced as last year. No other

missing library registered a significant number of responses.

The primary sources for finding answers to Go questions are the Go web site,

Stack Overflow, and reading source code directly. Stack Overflow showed a small

increase from usage over last year.

The primary sources for Go news are still the Go , Reddit’s /r/golang and

Twitter; like last year, there may be some bias here since these are also how

the survey was announced.


To what extent do you agree or disagree with the following statements: (strongly disagree, disagree, somewhat disagree, neither agree nor disagree, somewhat agree, agree, strongly agree)5,555 (1, 2, 4, 7, 27, 34, 13%)I have a good understanding of Go best practices (9.5:1) [11:1]5,549 (0.4, 0.9, 3, 4, 17, 42, 23%)I am able to quickly find answers to my questions (21:1) [31:1]5,528 (0.4, 0.4, 1, 2, 6, 32, 47%)Go’s performance meets my needs (48:1) [80:1]4,614 (1, 2, 4, 12, 15, 26, 13%)Go’s support for language interoperability meets my needs (6.8:1) [8.8:1]5,478 (0.8, 2, 5, 6, 24, 36, 13%)I am able to quickly find libraries that I need (8.9:1) [12:1]5,443 (0.9, 2, 5, 7, 23, 37, 12%)The Go libraries I use have the stability and features I need (9.1:1) [12:1]5,521 (0.8, 2, 4, 5, 17, 37, 22%)Go language, library, and tool documentation meet my needs (11:1) [16:1]


To what extent do you agree or disagree with the following statements: (strongly disagree, disagree, somewhat disagree, neither agree nor disagree, somewhat agree, agree, strongly agree)5,446 (0.8, 2, 6, 6, 21, 37, 14%)I am able to effectively diagnose bugs in my Go programs (8.7:1) [12:1]4,968 (0.7, 2, 6, 13, 22, 27, 9%)I am able to effectively diagnose performance issues in Go programs (6.7:1) [8.7:1]5,319 (0.7, 2, 3, 6, 16, 35, 24%)I am able to effectively use Go’s concurrency features (goroutines, channels, select) (14:1) [21:1]5,096 (2, 5, 8, 15, 24, 21, 7%)I am able to effectively debug uses of Go’s concurrency features (goroutines, channels, select) (3.6:1) [3.9:1]


Which Go libraries do you need that aren’t available today? 306 (4.9%)gui221 (3.5%)library185 (3.0%)libraries90 (1.4%)native83 (1.3%)good60 (1.0%)ui59 (0.9%)machine learning54 (0.9%)framework48 (0.8%)gui library48 (0.8%)orm48 (0.8%)processing47 (0.8%)desktop44 (0.7%)web41 (0.7%)cross-platform39 (0.6%)client39 (0.6%)platform37 (0.6%)standard35 (0.6%)audio34 (0.5%)image34 (0.5%)mobile33 (0.5%)sql32 (0.5%)soap31 (0.5%)pdf30 (0.5%)api30 (0.5%)package4,578 (73.5%)No response


Rank the following in terms of where you get Go answers from: 4,337 (28, 20, 13, 6, 2%)Stack Overflow3,791 (29, 17, 9, 4, 1%)golang.org3,362 (13, 17, 14, 8, 2%)Reading source code (e.g., standard library, open-source packages)2,428 (4, 11, 13, 8, 3%)GitHub1,408 (5, 6, 6, 5, 2%)Coworkers1,071 (2, 4, 5, 4, 2%)golang-nuts mailing list (groups.google.com/d/forum/golang-nuts)895 (1, 2, 4, 4, 3%)Reddit (r/golang)569 (1, 2, 2, 2, 2%)Gopher Slack (invite.slack.golangbridge.org)432 (0.9, 1, 2, 2, 2%)Friends283 (0.5, 0.7, 0.9, 1, 1%)Twitter214 (0.2, 0.8, 0.8, 1, 0.6%)Go Forum (forum.golangbridge.org)186 (0.5, 0.7, 0.7, 0.6, 0.5%)IRC386 (2, 1, 1, 0.9, 0.7%)Other844 (14%)No response


Rank the following in terms of where you get Go news from: 2,809 (16, 14, 9, 4, 2%)blog.Golang.org1,838 (15, 7, 4, 3, 1%)Twitter1,703 (12, 7, 4, 2, 1%)Reddit (r/golang)1,617 (13, 7, 3, 2, 0.7%)Golangweekly.com1,578 (9, 8, 5, 3, 1%)Hacker News1,051 (2, 5, 5, 3, 2%)Community Blogs859 (2, 4, 4, 2, 2%)GitHub798 (4, 4, 3, 1, 0.6%)Coworkers704 (1, 3, 3, 2, 1%)Just For Func516 (2, 2, 2, 1, 0.7%)golang-nuts mailing list (groups.google.com/d/forum/golang-nuts)428 (1, 2, 2, 1, 0.6%)Go Time podcast393 (2, 2, 1, 1, 0.4%)Golangnews.com333 (1, 1, 1, 1, 0.7%)Gopher Slack (invite.slack.golangbridge.org)287 (1, 1, 1, 0.7, 0.4%)golang-announce (groups.google.com/d/forum/golang-announce)120 (0.5, 0.5, 0.4, 0.2, 0.3%)Facebook86 (0.1, 0.4, 0.4, 0.2, 0.2%)Go Forum (forum.golangbridge.org)205 (1, 1, 0.7, 0.3, 0.1%)Other1,040 (17%)No response


I have attended: (multiple choice)2,497 (40%)None1,618 (26%)A Go meetup947 (15%)A Go themed conference (GopherCon, GothamGo, etc)506  (8%)A Go remote meetup / online event363  (6%)Go training228  (4%)A technical conference for it’s Go content65  (1%)A Women Who Go event64  (1%)A GoBridge event58  (1%)Other1,440 (23%)No response

The Go Project

59% of respondents expressed interest in contributing in some way to the Go

community and projects, up from 55% last year. Respondents also indicated that

they felt much more welcome to contribute than in 2016. Unfortunately,

respondents indicated only a very tiny improvement in understanding how to

contribute. We will be actively working with the community and its leaders

to make this a more accessible process.

Respondents showed an increase in agreement that they are confident in the

leadership of the Go project (9:1 → 11:1). They also showed a small increase in

agreement that the project leadership understands their needs (2.6:1 → 2.8:1)

and in agreement that they feel comfortable approaching project leadership with

questions and feedback (2.2:1 → 2.4:1). While improvements were made, this

continues to be an area of focus for the project and its leadership going

forward. We will continue to work to improve our understanding of user needs and

approachability.

We tried some new ways to engage

with users in 2017 and while progress was made, we are still working on making these

solutions scalable for our growing community.


I contribute to open source projects written in Go: (single choice)382 (6.1%)As part of my daily routine463 (7.4%)Weekly603 (9.7%)Monthly2,180 (35.0%)Infrequently1,792 (28.8%)Never806 (12.9%)No response


I have or am interested in contributing in the following ways to the Go community and projects: (multiple choice)1,785 (29%)Standard library1,331 (21%)Tools (go guru, go vet, go doc, etc)1,129 (18%)Documentation1,115 (18%)Tutorials967 (16%)Community support via Stack Overflow, Slack, mailing list, etc 863 (14%)Being a technical mentor829 (13%)Community involvement (workgroups, meetup attendance)727 (12%)Toolchain (compiler, linker, etc)514  (8%)Go Project maintenance (issue triage)474  (8%)Event planning (meetup, conference, etc)433  (7%)Language translation337  (5%)General UX & Design contributions309  (5%)golang.org website (code, UX, IA, content, etc)148  (2%)Other2,553 (41%)No response


To what extent do you agree or disagree with the following statements: (strongly disagree, disagree, somewhat disagree, neither agree nor disagree, somewhat agree, agree, strongly agree)4,091 (1, 3, 4, 19, 12, 18, 8%)I feel welcome to contribute to Go (compiler, standard library, documentation, website) (4.3:1) [5.0:1]4,083 (3, 8, 10, 17, 11, 11, 5%)The process of contributing to the Go project is clear to me (1.3:1) [1.3:1]3,657 (2, 3, 5, 23, 10, 13, 4%)The Go project leadership understands my needs (2.8:1) [2.8:1]3,860 (2, 5, 6, 20, 10, 14, 6%)I feel comfortable approaching the Go project leadership with questions and feedback (2.4:1) [2.7:1]4,351 (1, 2, 2, 12, 10, 26, 18%)I am confident in the leadership of Go (11:1) [13:1]

Community

At the end of the survey, we asked some demographic questions.

The country distribution of responses is largely similar to last year with minor

fluctuations. Like last year, the distribution of countries is similar to the

visits to golang.org, though some Asian countries remain under-represented in

the survey.

Perhaps the most significant improvement over 2016 came from the question which

asked to what degree do respondents agreed with the statement, “I feel welcome

in the Go community”. Last year the agreement to disagreement ratio was 15:1. In

2017 this ratio nearly doubled to 25:1.

An important part of a community is making everyone feel welcome, especially

people from under-represented demographics. We asked an optional question about

identification across a few underrepresented groups. We had a 4% increase in

response rate over last year. The percentage of each underrepresented group

increased over 2016, some quite significantly.

Like last year, we took the results of the statement “I feel welcome in the Go

community” and broke them down by responses to the various underrepresented

categories. Like the whole, most of the respondents who identified as

underrepresented also felt significantly more welcome in the Go community than

in 2016. Respondents who identified as a woman showed the most significant

improvement with an increase of over 400% in the ratio of agree:disagree to this

statement (3:1 → 13:1). People who identified as ethnically or racially

underrepresented had an increase of over 250% (7:1 → 18:1). Like last year,

those who identified as not underrepresented still had a much higher percentage

of agreement to this statement than those identifying from underrepresented

groups.

We are encouraged by this progress and hope that the momentum continues.

The final question on the survey was just for fun: what’s your favorite Go

keyword? Perhaps unsurprisingly, the most popular response was go, followed by

defer, func, interface, and select, unchanged from last year.


Did you take last year’s survey (single choice)1,569 (25%)Yes2,892 (46%)No952 (15%)I don’t remember813 (13%)No response


To what extent do you agree or disagree with the following statement: (strongly disagree, disagree, somewhat disagree, neither agree nor disagree, somewhat agree, agree, strongly agree)4,970 (0.5, 0.8, 1, 10, 10, 34, 22%)I feel welcome in the Go community (25:1) [33:1]


List of Countries (multiple choice)1,561 (25%)United States of America436  (7%)Germany343  (6%)United Kingdom211  (3%)Canada200  (3%)France174  (3%)Russia130  (2%)Australia113  (2%)India110  (2%)Sweden103  (2%)China99  (2%)Netherlands95  (2%)Spain94  (2%)Brazil89  (1%)Japan84  (1%)Poland62  (1%)Ukraine58  (1%)Italy57  (1%)Switzerland48  (1%)Taiwan42  (1%)Israel873 (14%)Other1,244 (20%)No response


We want the Go community to be inclusive; we want to see how we’re doing and how to improve. Plea… (multiple choice)2,591 (42%)I do not identify as part of an underrepresented group790 (13%)I prefer not to answer197  (3%)I identify as LGBTQIA191  (3%)I identify as ethnically or racially underrepresented164  (3%)I identify as neurodiverse or as having a disability156  (3%)I identify with an underrepresented group not listed (please specify)101  (2%)I identify as a woman81  (1%)I identify as part of an underrepresented group, but I prefer not to specify2,085 (33%)No response


Just for fun: What is your favorite Go keyword? (multiple choice)1,627 (26%)go856 (14%)defer539  (9%)func384  (6%)select375  (6%)interface242  (4%)range222  (4%)chan215  (3%)struct114  (2%)fallthrough96  (2%)goto90  (1%)switch89  (1%)type82  (1%)for71  (1%)map48  (1%)import39  (1%)if33  (1%)package32  (1%)return27  (0%)var24  (0%)continue22  (0%)const15  (0%)break10  (0%)case5  (0%)else969 (16%)No response


Is there anything else you would like to share with us?130 (2.1%)great119 (1.9%)generics104 (1.7%)love104 (1.7%)thank you99 (1.6%)thanks87 (1.4%)community58 (0.9%)programming56 (0.9%)simple52 (0.8%)awesome51 (0.8%)i love48 (0.8%)people44 (0.7%)team40 (0.6%)golang38 (0.6%)keep up the good work38 (0.6%)time37 (0.6%)hard37 (0.6%)languages36 (0.6%)job35 (0.6%)features35 (0.6%)great work30 (0.5%)330 (0.5%)amazing30 (0.5%)c30 (0.5%)google5,167 (83.0%)No response

Finally, on behalf of the entire Go project, we are grateful for everyone who

has contributed to our project, whether by being a part of our great community,

by taking this survey or by taking an interest in Go.

By Steve Francia



Source link https://blog.golang.org/survey2017-results

LEAVE A REPLY

Please enter your comment!
Please enter your name here