golang.org/toolchain@v0.0.1-go1.9rc2.windows-amd64/blog/content/survey2016-results.article (about)

     1  Go 2016 Survey Results
     2  06 Mar 2017
     3  Tags: survey, community
     4  
     5  Steve Francia, for the Go team
     6  spf@golang.org
     7  
     8  * Thank you
     9  
    10  This post summarizes the result of our December 2016 user survey along with our commentary and insights.
    11  We are grateful to everyone who provided their feedback through the survey to help shape the future of Go.
    12  
    13  * Programming background
    14  
    15  Of the 3,595 survey respondents, 89% said they program in Go at work or outside of work,
    16  with 39% using Go both at home and at work, 27% using Go only at home, and 23% using Go only at work.
    17  
    18  We asked about the areas in which people work.
    19  63% said they work in web development, but only 9% listed web development alone.
    20  In fact, 77% chose two or more areas, and 53% chose three or more.
    21  
    22  We also asked about the kinds of programs people write in Go.
    23  63% of respondents write command-line programs, 60% write API or RPC services, and 52% write web services.
    24  Like in the previous question, most made multiple choices, with 85% choosing two or more and 72% choosing three or more.
    25  
    26  
    27  We asked about people’s expertise and preference among programming languages.
    28  Unsurprisingly, Go ranked highest among respondents’ first choices in both expertise (26%) and preference (62%).
    29  With Go excluded, the top five first choices for language expertise were
    30  Python (18%), Java (17%), JavaScript (13%), C (11%), and PHP (8%);
    31  and the top five first choices for language preference were
    32  Python (22%), JavaScript (10%), C (9%), Java (9%), and Ruby (7%).
    33  Go is clearly attracting many programmers from dynamic languages.
    34  
    35  
    36  .html survey2016/background.html
    37  
    38  * Go usage
    39  
    40  Users are overwhelmingly happy with Go:
    41  they agree that they would recommend Go to others by a ratio of 19:1,
    42  that they’d prefer to use Go for their next project (14:1),
    43  and that Go is working well for their teams (18:1).
    44  Fewer users agree that Go is critical to their company’s success (2.5:1).
    45  
    46  When asked what they like most about Go, users most commonly mentioned
    47  Go’s simplicity, ease of use, concurrency features, and performance.
    48  When asked what changes would most improve Go,
    49  users most commonly mentioned generics, package versioning, and dependency management.
    50  Other popular responses were GUIs, debugging, and error handling.
    51  
    52  When asked about the biggest challenges to their own personal use of Go,
    53  users mentioned many of the technical changes suggested in the previous question.
    54  The most common themes in the non-technical challenges were convincing others to use Go
    55  and communicating the value of Go to others, including management.
    56  Another common theme was learning Go or helping others learn,
    57  including finding documentation like getting-started walkthroughs,
    58  tutorials, examples, and best practices.
    59  
    60  Some representative common feedback, paraphrased for confidentiality:
    61  
    62  .html survey2016/quotes.html
    63  
    64  We appreciate the feedback given to identify these challenges faced by our users and community.
    65  In 2017 we are focusing on addressing these issues and hope to make as many significant improvements as we can.
    66  We welcome suggestions and contributions from the community in making these challenges into strengths for Go.
    67  
    68  .html survey2016/usage.html
    69  
    70  * Development and deployment
    71  
    72  When asked which operating systems they develop Go on,
    73  63% of respondents say they use Linux, 44% use MacOS, and 19% use Windows,
    74  with multiple choices allowed and 49% of respondents developing on multiple systems.
    75  The 51% of responses choosing a single system split into
    76  29% on Linux, 17% on MacOS, 5% on Windows, and 0.2% on other systems.
    77  
    78  
    79  Go deployment is roughly evenly split between privately managed servers and hosted cloud servers.
    80  
    81  
    82  .html survey2016/dev.html
    83  
    84  * Working Effectively
    85  
    86  We asked how strongly people agreed or disagreed with various statements about Go.
    87  Users most agreed that Go’s performance meets their needs (57:1 ratio agree versus disagree),
    88  that they are able to quickly find answers to their questions (20:1),
    89  and that they are able to effectively use Go’s concurrency features (14:1).
    90  On the other hand, users least agreed that they are able to effectively debug uses of Go’s concurrency features (2.7:1).
    91  
    92  
    93  Users mostly agreed that they were able to quickly find libraries they need (7.5:1).
    94  When asked what libraries are still missing, the most common request by far was a library for writing GUIs.
    95  Another popular topic was requests around data processing, analytics, and numerical and scientific computing.
    96  
    97  Of the 30% of users who suggested ways to improve Go’s documentation, the most common suggestion by far was more examples.
    98  
    99  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.
   100  
   101  The primary sources for finding answers to Go questions are the Go web site, Stack Overflow, and reading source code directly.
   102  
   103  .html survey2016/effective.html
   104  
   105  * The Go Project
   106  
   107  55% of respondents expressed interest in contributing in some way to the Go community and projects.
   108  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).
   109  In 2017, we intend to work on improving the contribution process and to continue to work to make all contributors feel welcome.
   110  
   111  Respondents agree that they are confident in the leadership of the Go project (9:1),
   112  but they agree much less that the project leadership understands their needs (2.6:1),
   113  and they agree even less that they feel comfortable approaching project leadership with questions and feedback (2.2:1).
   114  In fact, these were the only questions in the survey for which more than half of respondents
   115  did not mark “somewhat agree”, “agree”, or “strongly agree” (many were neutral or did not answer).
   116   
   117  We hope that the survey and this blog post convey to those of you
   118  who are aren’t comfortable reaching out that the Go project leadership is listening.
   119  Throughout 2017 we will be exploring new ways to engage with users to better understand their needs.
   120  
   121  .html survey2016/project.html
   122  
   123  * Community
   124  
   125  At the end of the survey, we asked some demographic questions.
   126  The country distribution of responses roughly matches the country distribution of site visits to golang.org,
   127  but the responses under-represent some Asian countries.
   128  In particular, India, China, and Japan each accounted for about 5% of the site visits to golang.org in 2016
   129  but only 3%, 2%, and 1% of survey responses.
   130  
   131  An important part of a community is making everyone feel welcome, especially people from under-represented demographics.
   132  We asked an optional question about identification across a few diversity groups.
   133  37% of respondents left the question blank and 12% of respondents chose “I prefer not to answer”,
   134  so we cannot make many broad conclusions from the data.
   135  However, one comparison stands out: the 9% who identified as underrepresented agreed
   136  with the statement “I feel welcome in the Go community” by a ratio of 7.5:1,
   137  compared with 15:1 in the survey as a whole.
   138  We aim to make the Go community even more welcoming.
   139  We support and are encouraged by the efforts of organizations like GoBridge and Women Who Go.
   140  
   141  The final question on the survey was just for fun: what’s your favorite Go keyword?
   142  Perhaps unsurprisingly, the most popular response was `go`, followed by `defer`, `func`, `interface`, and `select`.
   143  
   144  .html survey2016/community.html