Announcing the 2019 Go Developer Survey
20 Nov 2019
Tags: survey, community

Todd Kulesza
tkulesza@google.com

* Help shape the future of Go

Since 2016, thousands of Gophers around the world have helped the Go project
by sharing your thoughts via our annual Go Developer Survey.
Your feedback has played an enormous role in driving changes to our language,
ecosystem, and community, including [[https://about.sourcegraph.com/go/gophercon-2019-go-pls-stop-breaking-my-editor][the gopls language server]],
new [[https://blog.golang.org/go1.13-errors][error-handling mechanics]],
the [[https://blog.golang.org/module-mirror-launch][module mirror]],
and so much more from the latest [[https://blog.golang.org/go1.13][Go 1.13 release]].
And of course, we publicly share [[https://blog.golang.org/survey2016-results][each]]
[[https://blog.golang.org/survey2017-results][year's]] [[https://blog.golang.org/survey2018-results][results]],
so we can all benefit from the community's insights.

Today we are launching the 2019 Go Developer Survey.
We'd love to hear from everyone who uses Go,
used to use Go, or is interested in using Go,
to help ensure the language, community, and ecosystem fit the needs of the
people closest to it.
Please help us shape Go's future by participating in this 15-minute survey by December 15th:
[[https://google.qualtrics.com/jfe/form/SV_b1xqnBCMpZAhJZ3][Take the 2019 Go Developer Survey]].

* Spread the word!

We need as many Gophers as possible to participate in this survey to help
us better understand our global user base.
We'd be grateful if you would spread the word by sharing this post on your
social network feeds,
around the office, at meet-ups, and in other communities. Thank you!
