Norway


Go 2016 Survey Results

6 March 2017

Thank you

This post summarizes the result of our December 2016 user survey along with our commentary and insights.

We are grateful to everyone who provided their feedback through the survey to help shape the future of Go.

Programming background

Of the 3,595 survey respondents, 89% said they program in Go at work or outside of work,

with 39% using Go both at and at work, 27% using Go only at , and 23% using Go only at work.

We asked about the areas in which people work.

63% said they work in web development, but only 9% listed web development alone.

In fact, 77% chose two or more areas, and 53% chose three or more.

We also asked about the kinds of programs people write in Go.

63% of respondents write command-line programs, 60% write API or RPC services, and 52% write web services.

Like in the previous question, most made multiple choices, with 85% choosing two or more and 72% choosing three or more.

We asked about people’s expertise and preference among programming languages.

Unsurprisingly, Go ranked highest among respondents’ first choices in both expertise (26%) and preference (62%).

With Go excluded, the five first choices for language expertise were

Python (18%), Java (17%), JavaScript (13%), C (11%), and PHP (8%);

and the top five first choices for language preference were

Python (22%), JavaScript (%), C (9%), Java (9%), and Ruby (7%).

Go is clearly attracting many programmers from dynamic languages.


The 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

Reading the data: This question was “multiple choice,” so the percentages add up to well over 100%. All graphs in this post show both the total count and the corresponding percentage of the 3,595 surveys completed.


I 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 response


I’ve used Go for: (single choice)432 (12%)Less than 3 months1,009 (28%)3 – 12 months829 (23%)13 – 24 months903 (25%)2 – 4 years321  (9%)4+ years77  (2%)I’ve never used Go24  (1%)No response


I write the following in Go: (multiple choice)2,247 (63%)A runnable/interactive program (CLI)2,174 (60%)API/RPC services (returning non-HTML)1,886 (52%)Web services (returning HTML)1,583 (44%)Agents and daemons (e.g, monitoring)1,417 (39%)Libraries or Frameworks1,209 (34%)Data processing (pipeline, aggregation)1,120 (31%)Automation/scripts (e.g, deployment, configuration management)107  (3%)I don’t write in Go137  (4%)Other45  (1%)No response


I write in Go: (single choice)1,567 (44%)As part of my daily routine1,054 (29%)Weekly486 (14%)Infrequently368 (10%)Monthly77  (2%)I’ve never written in Go43  (1%)No response


Rank the following languages in terms of your expertise: (ordered choice, up to 5)3,111 (26, 26, 19, 10, 5%)Go2,048 (8, 15, 14, 11, 8%)JavaScript1,896 (12, 12, 10, 10, 7%)Python1,618 (13, 8, 8, 8, 8%)Java1,512 (8, 8, 9, 9, 7%)C1,064 (2, 4, 7, 8, 8%)Bash1,039 (5, 5, 7, 6, 6%)C++830 (6, 4, 4, 5, 4%)PHP668 (5, 4, 3, 4, 3%)Ruby622 (5, 3, 3, 4, 3%)C#294 (2, 1, 2, 2, 2%)Perl184 (1, 1, 1, 1, 1%)Scala156 (0, 0, 1, 1, 2%)Rust142 (0, 0, 1, 1, 1%)Lua136 (0, 0, 0, 1, 2%)Haskell94 (0, 0, 0, 1, 1%)R93 (0, 0, 0, 1, 1%)Clojure72 (0, 0, 0, 0, 1%)Erlang18 (0, 0, 0, 0, 0%)Julia499 (2, 3, 3, 3, 3%)Other134 (3.7%)No response

Reading the data: This question was “ordered choice.” The first, second, third, fourth, and fifth choices are displayed as progressively lighter sections of the bars. The total count shown next to the bar is for all choices; the percentage list shows how the choices are divided.


Rank the following languages in terms of your preference: (ordered choice, up to 5)3,248 (62, 19, 6, 2, 1%)Go1,796 (7, 17, 12, 9, 5%)Python1,482 (3, 9, 13, 10, 8%)JavaScript1,235 (2, 8, 9, 9, 6%)C1,167 (3, 7, 8, 7, 7%)Java809 (2, 4, 6, 6, 5%)C++647 (1, 3, 5, 5, 5%)Bash563 (3, 5, 4, 3, 2%)Ruby557 (2, 4, 4, 3, 2%)C#475 (2, 4, 3, 3, 2%)Rust449 (1, 2, 3, 3, 3%)PHP278 (1, 2, 2, 2, 1%)Haskell215 (1, 1, 1, 1, 1%)Perl214 (1, 1, 1, 1, 1%)Scala178 (0, 1, 2, 2, 1%)Lua168 (0, 1, 1, 1, 1%)Erlang156 (1, 1, 1, 1, 1%)Clojure79 (0, 0, 0, 1, 1%)R43 (0, 0, 0, 0, 0%)Julia507 (3, 4, 4, 2, 1%)Other166 (4.6%)No response

Go usage

Users are overwhelmingly happy with Go:

they agree that they would recommend Go to others by a ratio of 19:1,

that they’d prefer to use Go for their next project (14:1),

and that Go is working well for their teams (18:1).

Fewer users agree that Go is critical to their company’s success (2.5:1).

When asked what they like most about Go, users most commonly mentioned

Go’s simplicity, ease of use, concurrency features, and performance.

When asked what changes would most improve Go,

users most commonly mentioned generics, package versioning, and dependency management.

Other popular responses were GUIs, debugging, and error handling.

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

users mentioned many of the technical changes suggested in the previous question.

The most common themes in the non-technical challenges were convincing others to use Go

and communicating the value of Go to others, including management.

Another common theme was learning Go or helping others learn,

including finding documentation like getting-started walkthroughs,

tutorials, examples, and best practices.

Some representative common feedback, paraphrased for confidentiality:

“The documentation is not clear enough for beginners.
It needs more examples and often assumes experience with other languages and various computer science topics.”

“I want to use Go at work but struggle to convince my team to even try Go.”

“I can’t get management approval to use Go; they don’t see its value and worry about adoption and finding developers.”

We appreciate the feedback given to identify these challenges faced by our users and community.

In 2017 we are focusing on addressing these issues and hope to make as many significant improvements as we can.

We welcome suggestions and contributions from the community in making these challenges into strengths for Go.


To what extent do you agree or disagree with the following statements:(strongly disagree, disagree, somewhat disagree, neutral, somewhat agree, agree, strongly agree)3,250 (2, 1, 1, 2, 5, 21, 57%)I would recommend using Go to others (19:1)3,219 (3, 1, 2, 4, 8, 19, 52%)I would prefer to use Go for my next new project (14:1)2,325 (1, 1, 1, 7, 8, 25, 22%)Go is working well for my team. (18:1)2,336 (4, 7, 3, 14, 12, 12, 12%)Go is critical to my company’s success. (2.5: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 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.


What do you like most about Go?595 (17%)simplicity543 (15%)easy523 (15%)concurrency495 (14%)simple454 (13%)fast293  (8%)syntax287  (8%)standard library286  (8%)tooling270  (8%)static266  (7%)performance235  (7%)speed202  (6%)interfaces184  (5%)channels183  (5%)community180  (5%)good177  (5%)compilation177  (5%)goroutines167  (5%)binary156  (4%)great148  (4%)tools146  (4%)compiled137  (4%)compile127  (4%)type124  (3%)118  (3%)c114  (3%)gofmt114  (3%)libraries88  (2%)clean87  (2%)easy to learn82  (2%)deployment78  (2%)memory78  (2%)strong76  (2%)concise76  (2%)single binary73  (2%)low73  (2%)static typing71  (2%)build68  (2%)easy to read63  (2%)fast compilation56  (2%)simple syntax55  (2%)type system54  (2%)simple language51  (1%)easy concurrency47  (1%)static binaries46  (1%)go fmt45  (1%)fast compile43  (1%)small language41  (1%)error handling39  (1%)concurrency model39  (1%)go routines38  (1%)easy to use38  (1%)statically typed36  (1%)cross platform35  (1%)concurrency primitives35  (1%)goroutines channels33  (1%)easy to write27  (1%)great standard library23  (1%)ease of use940 (26%)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 twenty 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 287 responses that mentioned “standard library” do include the 27 listed separately that mentioned “great standard library.”
However, nearly or completely redundant shorter entries are omitted: there are not twenty or more surveys that listed
“standard” without mentioning “standard library,” so there is no separate entry for “standard.”


What changes would improve Go most?572 (16%)generics451 (13%)management330  (9%)dependency314  (9%)package266  (7%)dependency management164  (5%)library159  (4%)gui134  (4%)package management134  (4%)vendoring128  (4%)debugger126  (4%)libraries122  (3%)standard117  (3%)type109  (3%)error94  (3%)system89  (2%)types88  (2%)official85  (2%)tools84  (2%)c82  (2%)gopath78  (2%)performance70  (2%)error handling70  (2%)ide69  (2%)package manager66  (2%)documentation66  (2%)faster64  (2%)good63  (2%)simple63  (2%)tool62  (2%)mobile60  (2%)debugging57  (2%)build56  (2%)packages55  (2%)easier55  (2%)standard library55  (2%)tooling54  (2%)interface51  (1%)dependencies51  (1%)generic48  (1%)programming48  (1%)versioning47  (1%)syntax45  (1%)compile45  (1%)solution44  (1%)framework43  (1%)examples43  (1%)gc43  (1%)type system42  (1%)gui library41  (1%)templates40  (1%)android40  (1%)community40  (1%)function40  (1%)native40  (1%)ui40  (1%)web39  (1%)functions21  (1%)cross platform1,215 (34%)No response


What is the biggest challenge you personally face using Go today?249 (6.9%)lack206 (5.7%)management146 (4.1%)libraries129 (3.6%)generics127 (3.5%)dependency management84 (2.3%)work78 (2.2%)package76 (2.1%)hard68 (1.9%)67 (1.9%)good67 (1.9%)java66 (1.8%)gui61 (1.7%)web60 (1.7%)c60 (1.7%)debugging59 (1.6%)vendoring58 (1.6%)projects56 (1.6%)lack of generics56 (1.6%)library51 (1.4%)type51 (1.4%)write50 (1.4%)finding49 (1.4%)ide49 (1.4%)packages48 (1.3%)dependencies46 (1.3%)package management45 (1.3%)debugger44 (1.2%)adoption42 (1.2%)people41 (1.1%)learning41 (1.1%)team40 (1.1%)convincing40 (1.1%)tools39 (1.1%)error handling39 (1.1%)interfaces39 (1.1%)other languages39 (1.1%)writing38 (1.1%)interface38 (1.1%)others37 (1.0%)python35 (1.0%)find35 (1.0%)gopath35 (1.0%)programming34 (0.9%)can’t34 (0.9%)standard33 (0.9%)build33 (0.9%)tooling32 (0.9%)generic31 (0.9%)boilerplate30 (0.8%)applications30 (0.8%)developers30 (0.8%)having30 (0.8%)types30 (0.8%)working26 (0.7%)at work26 (0.7%)using go22 (0.6%)no generics20 (0.6%)not enough1,581 (44.0%)No response


If it were not for the following reasons I would use Go more: (ordered choice, up to 3)1,485 (24, 14, 4%)I work on an existing project written in another language1,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 on (eg. iOS, JS)596 (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, 1%)Go lacks critical performance374 (4, 3, 3%)Other1,042 (29%)No response


If you desire, please elaborate on your reasons above.58 (1.6%)c58 (1.6%)java58 (1.6%)libraries50 (1.4%)python47 (1.3%)web45 (1.3%)generics45 (1.3%)work40 (1.1%)projects34 (0.9%)languages33 (0.9%)hard32 (0.9%)lack32 (0.9%)team31 (0.9%)library31 (0.9%)people29 (0.8%)gui25 (0.7%)good25 (0.7%)performance24 (0.7%)mobile24 (0.7%)written23 (0.6%)programming23 (0.6%)time22 (0.6%)golang20 (0.6%)company20 (0.6%)existing20 (0.6%)great20 (0.6%)php20 (0.6%)tools3,033 (84.4%)No response

Development and deployment

When asked which operating systems they develop Go on,

63% of respondents say they use Linux, 44% use MacOS, and 19% use Windows,

with multiple choices allowed and 49% of respondents developing on multiple systems.

The 51% of responses choosing a single system split into

29% on Linux, 17% on MacOS, 5% on Windows, and 0.2% on other systems.

Go deployment is roughly evenly split between privately managed servers and hosted cloud servers.


I primarily develop Go on: (multiple choice)2,263 (63%)Linux1,592 (44%)MacOS682 (19%)Windows82  (2%)Other434 (12%)No response


My preferred code editor: (ordered choice, up to 2)1,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 (1, 1%)Acme238 (4, 3%)Other425 (12%)No response


How satisfied are you with Go support in your preferred editor: (single choice)69 (1.9%)Very Dissatisfied52 (1.4%)Dissatisfied164 (4.6%)Somewhat Dissatisfied134 (3.7%)Neither Satisfied or Unsatisfied609 (16.9%)Somewhat Satisfied1,258 (35.0%)Satisfied838 (23.3%)Very Satisfied471 (13.1%)No response


What one addition would make the biggest improvement to Go editing in your preferred editor?180 (5.0%)debugging136 (3.8%)debugger116 (3.2%)refactoring79 (2.2%)integration72 (2.0%)tools68 (1.9%)completion58 (1.6%)editor46 (1.3%)debug43 (1.2%)code completion43 (1.2%)work41 (1.1%)vim40 (1.1%)autocomplete40 (1.1%)vscode37 (1.0%)package37 (1.0%)plugin36 (1.0%)definition36 (1.0%)easier36 (1.0%)good36 (1.0%)ide36 (1.0%)intellij35 (1.0%)faster35 (1.0%)function34 (0.9%)atom34 (0.9%)interface33 (0.9%)vim-go32 (0.9%)gopath31 (0.9%)integrated30 (0.8%)working29 (0.8%)auto28 (0.8%)refactoring support27 (0.8%)delve27 (0.8%)type26 (0.7%)guru26 (0.7%)syntax25 (0.7%)error25 (0.7%)method25 (0.7%)packages25 (0.7%)plugins24 (0.7%)compile24 (0.7%)jump23 (0.6%)features23 (0.6%)find23 (0.6%)goimports23 (0.6%)navigation23 (0.6%)performance23 (0.6%)refactoring tools23 (0.6%)works22 (0.6%)autocompletion22 (0.6%)debugging support22 (0.6%)errors22 (0.6%)gofmt22 (0.6%)run21 (0.6%)highlighting21 (0.6%)save21 (0.6%)setup21 (0.6%)visual20 (0.6%)documentation20 (0.6%)great2,291 (63.7%)No response


My team deploys Go/non-Go programs to: (multiple choice)1,489 (41%)Self/Company Owned Servers (Go)1,714 (48%)(non-Go)928 (26%)AWS EC21,122 (31%)503 (14%)None249  (7%)412 (11%)Digital Ocean360 (10%)292  (8%)AWS Container343 (10%)221  (6%)Google Compute Engine186  (5%)188  (5%)Google App Engine94  (3%)161  (4%)Google Container Engine (GKE)115  (3%)121  (3%)Heroku185  (5%)114  (3%)Microsoft Azure210  (6%)104  (3%)Linode100  (3%)94  (3%)AWS Lambda233  (6%)301  (8%)Other297  (8%)639 (18%)No response660 (18%)

Working Effectively

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

Users most agreed that Go’s performance meets their needs (57:1 ratio agree versus disagree),

that they are able to quickly find answers to their questions (20:1),

and that they are able to effectively use Go’s concurrency features (14:1).

On the other hand, users least agreed that they are able to effectively debug uses of Go’s concurrency features (2.7:1).

Users mostly agreed that they were able to quickly find libraries they need (7.5:1).

When asked what libraries are still missing, the most common request by far was a library for writing GUIs.

Another popular topic was requests around data processing, analytics, and numerical and scientific computing.

Of the 30% of users who suggested ways to improve Go’s documentation, the most common suggestion by far was more examples.

The primary sources for Go news are the Go blog, Reddit’s /r/golang and Twitter; there may be some bias here since these are also how the survey was announced.

The primary sources for finding answers to Go questions are the Go web site, Stack Overflow, and reading source code directly.


To what extent do you agree or disagree with the following statements:(strongly disagree, disagree, somewhat disagree, neutral, somewhat agree, agree, strongly agree)3,094 (1, 2, 5, 6, 27, 32, 12%)I have a good understanding of Go best practices. (9.6:1)3,083 (0, 1, 3, 4, 17, 41, 20%)I am able to quickly find answers to my questions. (20:1)3,053 (0, 0, 1, 2, 7, 32, 42%)Go’s performance meets my needs. (57:1)2,523 (1, 3, 5, 14, 15, 26, 8%)Go’s support for language interoperability meets my needs. (6.0:1)3,049 (1, 2, 6, 7, 24, 34, 11%)I am able to quickly find libraries that I need. (7.5:1)3,083 (1, 2, 4, 5, 18, 37, 20%)Go language, library, and tool documentation meet my needs. (11:1)


What Go libraries do you need that aren’t available today?208 (5.8%)gui144 (4.0%)library121 (3.4%)libraries63 (1.8%)native60 (1.7%)ui53 (1.5%)good33 (0.9%)orm33 (0.9%)standard33 (0.9%)web32 (0.9%)framework32 (0.9%)gui library31 (0.9%)mobile28 (0.8%)android28 (0.8%)database28 (0.8%)desktop28 (0.8%)libs28 (0.8%)sql26 (0.7%)cross platform25 (0.7%)processing25 (0.7%)xml24 (0.7%)api24 (0.7%)machine learning24 (0.7%)official24 (0.7%)windows23 (0.6%)soap22 (0.6%)toolkit21 (0.6%)pdf21 (0.6%)python20 (0.6%)bindings20 (0.6%)graphics20 (0.6%)package2,498 (69.5%)No response


What changes would most improve the Go documentation?512 (14%)examples300  (8%)more examples134  (4%)documentation69  (2%)example62  (2%)docs49  (1%)godoc34  (1%)usage32  (1%)functions32  (1%)package31  (1%)good29  (1%)function29  (1%)great29  (1%)packages29  (1%)search28  (1%)cases26  (1%)best practices26  (1%)libraries23  (1%)doc23  (1%)more example22  (1%)code examples21  (1%)syntax20  (1%)interface2,532 (70%)No response


To what extent do you agree or disagree with the following statements:(strongly disagree, disagree, somewhat disagree, neutral, somewhat agree, agree, strongly agree)3,002 (1, 2, 6, 7, 23, 34, 11%)I am able to effectively diagnose bugs in my Go programs. (7.2:1)2,725 (1, 2, 6, 13, 22, 24, 7%)I am able to effectively diagnose performance issues in my Go programs. (5.8:1)2,932 (1, 2, 3, 5, 17, 33, 22%)I am able to effectively use Go’s concurrency features (goroutines, channels, select). (14:1)2,801 (2, 5, 11, 14, 23, 18, 5%)I am able to effectively debug uses of Go’s concurrency features (goroutines, channels, select). (2.7:1)


Rank the following in terms of where you get Go answers from: (ordered choice, up to 5)2,226 (23, 18, 12, 7, 3%)Stack Overflow2,101 (30, 15, 8, 4, 1%)golang.org1,814 (13, 17, 12, 7, 2%)Reading source code (e.g., standard library, open-source packages)1,200 (3, 8, 12, 7, 4%)GitHub854 (3, 7, 7, 5, 3%)golang-nuts mailing list (groups.google.com/d/forum/golang-nuts)682 (2, 3, 5, 5, 3%)Reddit (r/golang)630 (3, 4, 5, 3, 2%)Coworkers334 (2, 2, 2, 2, 2%)Gopher Slack (invite.slack.golangbridge.org)214 (1, 1, 2, 1, 1%)Friends161 (0, 0, 1, 1, 1%)Twitter156 (1, 1, 1, 1, 0%)IRC126 (0, 1, 1, 1, 1%)Go Forum (forum.golangbridge.org)262 (2, 2, 1, 1, 1%)Other643 (18%)No response


Rank the following in terms of where you get Go news from: (ordered choice, up to 5)1,659 (17, 14, 9, 4, 2%)blog.Golang.org1,153 (17, 8, 4, 2, 1%)Reddit (r/golang)1,053 (14, 8, 4, 3, 1%)Twitter903 (6, 8, 6, 3, 1%) News777 (9, 6, 4, 2, 0%)Golangweekly.com633 (2, 6, 5, 4, 1%)Community Blogs430 (2, 3, 4, 2, 1%)GitHub418 (3, 3, 3, 2, 1%)golang-nuts mailing list (groups.google.com/d/forum/golang-nuts)394 (3, 3, 3, 1, 1%)Coworkers212 (1, 1, 2, 1, 1%)Gopher Slack (invite.slack.golangbridge.org)203 (1, 2, 1, 1, 1%)Golangnews.com199 (1, 2, 1, 1, 1%)golang-announce (groups.google.com/d/forum/golang-announce)176 (1, 1, 1, 1, 1%)Go Time podcast65 (0, 0, 0, 1, 0%)Go Forum (forum.golangbridge.org)42 (0, 0, 0, 0, 0%)Facebook160 (1, 1, 1, 0, 0%)Other747 (21%)No response


I have attended: (multiple choice)1,315 (37%)None879 (24%)A Go meetup523 (15%)A Go themed conference (GopherCon, GothamGo, etc)276  (8%)A Go remote meetup / online event186  (5%)Go training165  (5%)A technical conference for it’s Go content43  (1%)A GoBridge event37  (1%)A Women Who Go event65  (2%)Other993 (28%)No response

The Go Project

55% of respondents expressed interest in contributing in some way to the Go community and projects.

Unfortunately, relatively few agreed that they felt welcome to do so (3.3:1) and even fewer felt that the process was clear (1.3:1).

In 2017, we intend to work on improving the contribution process and to continue to work to make all contributors feel welcome.

Respondents agree that they are confident in the leadership of the Go project (9:1),

but they agree much less that the project leadership understands their needs (2.6:1),

and they agree even less that they feel comfortable approaching project leadership with questions and feedback (2.2:1).

In fact, these were the only questions in the survey for which more than half of respondents

did not mark “somewhat agree”, “agree”, or “strongly agree” (many were neutral or did not answer).

We hope that the survey and this blog post convey to those of you

who are aren’t comfortable reaching out that the Go project leadership is listening.

Throughout 2017 we will be exploring new ways to engage with users to better understand their needs.


I contribute to open source projects written in Go: (single choice)1,227 (34%)Infrequently890 (25%)Never345 (10%)Monthly295  (8%)Weekly234  (7%)As part of my daily routine604 (17%)No response


I have contributed or am interested in contributing in the following ways to the Go community and Projects: (multiple choice)892 (25%)Standard library663 (18%)Tools (go guru, go vet, go doc, etc)602 (17%)Tutorials560 (16%)Documentation557 (15%)Community support via Stack Overflow, Slack, mailing list, etc 472 (13%)Community involvement (workgroups, meetup attendance)440 (12%)Being a technical mentor374 (10%)Toolchain (compiler, linker, etc)275  (8%)Go Project maintenance (issue triage)246  (7%)Event planning (meetup, conference, etc)236  (7%)Language translation165  (5%)General UX & contributions154  (4%)golang.org website (code, UX, IA, content, etc)92  (3%)Other1,621 (45%)No response


To what extent do you agree or disagree with the following statements:(strongly disagree, disagree, somewhat disagree, neutral, somewhat agree, agree, strongly agree)2,091 (1, 3, 5, 19, 10, 14, 6%)I feel welcome to contribute to Go (compiler, standard library, documentation, website) (3.3:1)2,168 (3, 7, 9, 16, 10, 11, 4%)The process of contributing to the Go project is clear to me (1.3:1)1,900 (1, 2, 5, 22, 8, 11, 3%)The Go project leadership understands my needs (2.6:1)2,114 (2, 4, 6, 18, 10, 14, 5%)I feel comfortable approaching the Go project leadership with questions and feedback (2.2:1)2,374 (1, 1, 3, 12, 9, 24, 15%)I am confident in the leadership of Go (9.0:1)


What is the biggest challenge facing the Go project today?71 (2.0%)community68 (1.9%)google63 (1.8%)generics62 (1.7%)management49 (1.4%)adoption45 (1.3%)lack43 (1.2%)features43 (1.2%)people40 (1.1%)dependency management37 (1.0%)java32 (0.9%)languages31 (0.9%)keeping29 (0.8%)c27 (0.8%)developers27 (0.8%)leadership24 (0.7%)good24 (0.7%)libraries24 (0.7%)package23 (0.6%)simple21 (0.6%)core21 (0.6%)feature20 (0.6%)programming20 (0.6%)team2,771 (77.1%)No response

Community

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

The country distribution of responses roughly matches the country distribution of site visits to golang.org,

but the responses under-represent some Asian countries.

In particular, India, China, and Japan each accounted for about 5% of the site visits to golang.org in 2016

but only 3%, 2%, and 1% of survey responses.

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 diversity groups.

37% of respondents left the question blank and 12% of respondents chose “I prefer not to answer”,

so we cannot make many broad conclusions from the data.

However, one comparison stands out: the 9% who identified as underrepresented agreed

with the statement “I feel welcome in the Go community” by a ratio of 7.5:1,

compared with 15:1 in the survey as a whole.

We aim to make the Go community even more welcoming.

We support and are encouraged by the efforts of organizations like GoBridge and Women Who Go.

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.


To what extent do you agree or disagree with the following statements:(strongly disagree, disagree, somewhat disagree, neutral, somewhat agree, agree, strongly agree)2,701 (1, 1, 2, 11, 10, 31, 19%)I feel welcome in the Go community. (15:1)


What changes would make the Go community more welcoming?115 (3.2%)community52 (1.4%)people32 (0.9%)r/golang31 (0.9%)go community30 (0.8%)google30 (0.8%)reddit24 (0.7%)welcoming23 (0.6%)official23 (0.6%)open22 (0.6%)code of conduct21 (0.6%)golang21 (0.6%)team3,017 (83.9%)No response


In which country do you currently reside? (single choice)928 (26%)United States of America253  (7%)Germany168  (5%)United Kingdom148  (4%)Russia119  (3%)France112  (3%)Canada91  (3%)India73  (2%)China72  (2%)Australia55  (2%)Netherlands54  (2%)Spain45  (1%)Sweden43  (1%)Poland40  (1%)Italy36  (1%)Brazil36  (1%)Switzerland35  (1%)Ukraine27  (1%)Japan24  (1%)Czech Republic23  (1%)Belgium441 (12%)Other772 (21%)No response


We want the Go community to be inclusive; we want to see how we’re doing and how to improve.Please select the groups you identify with: (multiple choice)1,499 (42%)I do not identify as part of an underrepresented group438 (12%)I prefer not to answer101  (3%)I identify as LGBTQIA95  (3%)I identify as ethnically or racially underrepresented77  (2%)I identify as neurodiverse or as having a disability49  (1%)I identify as a woman47  (1%)Write-in: objection to the question.38  (1%)I identify as part of an underrepresented group, but I prefer not to specify34  (1%)I identify with an underrepresented group not listed.1,332 (37%)No response


Just for fun: What is your favorite Go keyword?854 (24%)go455 (13%)defer253  (7%)func240  (7%)select227  (6%)interface145  (4%)struct139  (4%)chan129  (4%)range67  (2%)fallthrough56  (2%)switch53  (1%)for48  (1%)type47  (1%)map44  (1%)goto36  (1%)import22  (1%)if20  (1%)package19  (1%)var17  (0%)const14  (0%)continue13  (0%)return12  (0%)break3  (0%)else2  (0%)case2  (0%)default678 (19%)No response


Is there anything else you would like to share with us?95 (2.6%)thanks94 (2.6%)great86 (2.4%)thank you47 (1.3%)keep up the good work47 (1.3%)programming43 (1.2%)community39 (1.1%)c37 (1.0%)awesome33 (0.9%)i love31 (0.9%)people29 (0.8%)golang27 (0.8%)great work27 (0.8%)java27 (0.8%)languages26 (0.7%)fun26 (0.7%)job26 (0.7%)time25 (0.7%)love go24 (0.7%)generics24 (0.7%)team23 (0.6%)projects22 (0.6%)best22 (0.6%)wish22 (0.6%)years21 (0.6%)simple2,886 (80.3%)No response

By Steve Francia, for the Go team



Source link

LEAVE A REPLY

Please enter your comment!
Please enter your name here