Nicolas Garnier

Nicolas Garnier

A little over a week ago, I had the awesome opportunity of representing Mailjet as a sponsor at Golang UK in London.

Being a huge advocate of Go, we were very excited about this opportunity to participate in the conference. I had often heard and read a lot of good things about Go, but attending Golang UK was a good opportunity to rub shoulders with experts (speakers included Mat Ryer, author of Go Programming Blueprints and Francesc Campoy, Senior Developer Advocate at Google, definitely someone you can’t miss if you’re into Go)  and listen to real-life use cases. The talks covered topics ranging from Concurrency Patterns, Memory Allocation to Building APIs.

Screen Shot 2015-09-07 at 10.49.14 AM
Source: Golang UK / Matthew Joseph
Screen Shot 2015-09-07 at 10.50.29 AM
Source: Golang UK / Matthew Joseph

Community with a capital C

Screen Shot 2015-09-07 at 10.53.12 AM
 

V1.5 had just been released the day before the event, so it was very timely to be meeting fellow Go enthusiasts and developers to discuss offline.

As soon as I arrived to the Brewery where the conference was held, I was pleasantly surprised by a large number of gophers – over 250 attendees. This is an especially successful turnout if you consider the context of it being the middle of August in Europe (designated month for vacation).  

As I mentioned earlier, I was curious to learn more about how these experts use the language in their day-to-day. After speaking with quite a few attendees, I realized a lot of gophers here used Go creatively to start or improve on their side projects outside of work. This is great and definitely something you don’t often see.

Damian Gryski, Developer at Booking.com delivered the closing keynote, going in depth  about the Go community. Damian had a lot to share about it as he is an hyperactive member of the community. You’ve probably met him if you’ve ever wandered onto the #golang feed on Twitter or Reddit.

Along the way, Damian posed an interesting question: “should we talk about the community or communities?”. The rising number of social channels, apps and online and offline developer communities have made these relationships more accessible but at the same time, more fragmented. The sum of these smaller communities like your local Go meetup or Slack channel doesn’t equal the whole. The knowledge being shared in these smaller pockets doesn’t always get through to the greater community, resulting in a skewed view of the Golang world. There’s an opportunity here to bridge these smaller communities.

Finding a solution

From there, how do we get involved and communicating  as one big “gopher” community?

To start, you can write and share code. It’s a good way to enrich the language, and other developers will benefit from your pre-written code. By experimenting with the technology, you might also end up using it in a different way than was expected when it was first created. With Go for example, creating a path different from Google’s trail can bring a lot of new innovation.

Next, writing content is another great way to contribute. Share problems you’ve run into and how you’ve successfully resolved them. People love use cases. But, don’t just stop at success stories. Highlighting mistakes or limitations can also be helpful for potential adopters.

Last but not least, get involved in the development of the technology. You can do that by reporting bugs in the most user friendly way possible. Also participate in betas and release candidates so you can contribute first hand to improving the experience.

Finally, don’t restrict yourself to just thinking about “wouldn’t it be cool if a package did this…?”.  Try building it yourself and share it with the world.

Innovating Together

Encouraging people to contribute is great, but  bridging the gap between “communities” and “the community” will take more than just that. We want to expose Go to and educate people of different experience levels and backgrounds in order to generate fresh perspectives and ideas. This will enable Go to live outside of Google.

At Golang UK, Damian took the example of a community survey about Development Platforms used with the Go installer.

Screen Shot 2015-09-07 at 10.57.16 AM

Source: Grokbase

 

Screen Shot 2015-09-07 at 11.04.58 AM
Source: Google Trends
 

Differences empower communities. Golang is extremely active in creating an open environment to encourage individuals of all experience levels and backgrounds to code – especially commonly underrepresented minority groups. They have multiple touch points for people to get involved, building conversation on their Slack channel, Google+ group and mailing list. Last but not least, they even have a Go tutorial videos, talks about Go and a calendar of events related to Go. As Woman Who Go said at a previous conference, “Go must be open. Go needs you. Go needs everyone!”