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!
