﻿Participate in the 2018 Go Company Questionnaire
4 Oct 2018
Tags: survey, community

Ran Tao, Steve Francia
spf@golang.org

* The Go project wants to hear from you!

We need your help to create the best programming language for developing
simple, reliable, and scalable software. To do this, we need to better
understand how companies are using Go. Please help by participating in a
7-minute company questionnaire.

*Who:* If you are in a position to share details like “company name,” “if your
company is hiring Go developers,” and “reasons your team or company adopted Go”
then please help us by taking this company questionnaire. We only need one
response per company (or per department for larger companies). If you aren’t the
right person, please forward this onto the right person at your company.

_Please_note:_this_is_different_from_our_annual_anonymous_Go_user_survey,_which_
_will_be_announced_in_November._

*Where:* Please take this 7-minute questionnaire by October 30th:
[[http://goo.gl/nnPfct][Go Company Questionnaire 2018]].

The questionnaire is confidential, but not anonymous. For more information,
please refer to Google’s privacy policy
[[https://policies.google.com/privacy][here]].

The Go project leadership will use your responses to better understand how
companies use Go and in what ways we can improve their experience.

* Spread the word!

We would like as many companies as possible to participate to help us better
understand our global user base. Please help us spread the word by sharing this
post on your social network feeds, at meetups, and in other communities.