Golang boost: Ultimate workshop with Bill Kennedy

Leonor Martins de Oliveira
HelloTech
Published in
5 min readMar 14, 2018

--

HelloFresh and Go

If you follow the HelloTech blog, you may know already that a big part of our tech stack is written in Go.

This was actually one of the reasons why I joined HelloFresh as I’ve been learning the language on the side for some months now. I currently work as a frontend developer at HelloFresh and as much as I love it, I wanted to expand my horizons further than the JavaScript world. That’s why I started attending some Go related meetups in Berlin, one of them being the Women Who Go, Berlin chapter, which I have to highlight here for being one of the main players around Bill Kennedy’s Ultimate Go Workshop at HelloFresh.

Women Who Go!

In the words of one of the amazing organisers of this meetup “Our mission with this meetup is to have it deprecated. We exist because there is a serious lack of diversity in the Go community and we want to change that by offering a better entry point to women who are interested in Go.“

If finding out about the unique Go concurrency pattern wasn’t already cool enough, it was even better to do it in the awesome community I discovered there: an increasing number of people from underrepresented groups in tech who were just as curious as I was to just try the language out and learn more about it in a safe environment where it is ok to ask “silly” questions. This meetup takes place every month and there we try to solve some pretty challenging but useful exercises which intend to show how some Go patterns help to solve technical challenges. These challenges are kindly thought up and prepared by the meetup organisers and take place in several Berlin tech companies who use Go.

Women Who HelloFresh

I’m lucky enough to work for a company who also recognise the gender gap and agrees that more diversity means greater productivity and a better work environment for everyone and takes some steps in order to achieve a more diverse environment.

HelloFresh has been hosting some of the meetups that share the same goal of closing this gender gap, including some from WomenWhoGo, Codebar and WomenWhoCode. Still it came as a very pleasant surprise when one of the organisers contacted HelloFresh asking to sponsor and host a 2 days on-site workshop about getting started in Go with the one and only Bill Kennedy.

Bill Who Goes?

If you are somehow related to the Go community, you’ve most probably heard the name Bill Kennedy. If you aren’t, let me quickly introduce you to him:

William Kennedy (@goinggodotnet) is a managing partner at Ardan Studio in Miami, Florida, a mobile, web, and systems development company. He is also a co-author of the book Go in Action, the author of the blog GoingGo.Net, and a founding member of GoBridge which is working to increase Go adoption through diversity.

Besides all of this, he has been speaking in several Go conferences around the world and most importantly, he has been teaching workshops to underrepresented communities to teach technical skills and to foster diversity in Go. One of these channels has been the several Women Who Go chapters across the globe and this is actually how this workshop at HelloFresh came to be.

What did I learn from the Workshop?

The workshop was as intense as it was fun. It shifted from high level conversations on the importance of having constructive discussions to understanding the impact of engineering decisions. We learnt how to be “sympathetic with the mechanics” by understanding the internals of the language. It was all lectured in a very comprehensive way, using examples, live coding and the speaker’s unique ability to break down complex topics into actual concepts we could understand. It definitely was beyond just a language class. By the end of the second day I had a melting brain, tons of notes and some general takings:

  • It is a good idea to understand one level below the level you write your code
  • The ability to read and effectively review code is very powerful
  • There are a lot of mistakes you will make in the language as it is very powerful and that is ok
  • There is an exception to every best practice in Go
  • We have to think twice about our choices so we don’t accidentally allocate unnecessary memory to the HEAP
  • Only use concurrency when really necessary, Go is very fast already
  • Your data should be your starting point to every model. We have to understand the data so we can fully understand the problem in hand
  • Everyone is still learning all of this!

I’ve been trying to apply these principles in my day to day work by thinking more consciously about the technical decisions I do and their impact, keeping my code simple and easy to read and trying not to write implementations that could be useful (or not) in the future. I’ve been revisiting some of the course material after the workshop, which you can also check here.

So you want to learn Go

Go for it! The language was thoughtfully designed, it is open sourced but backed by Google, it is very safe as it is strongly typed and with a very clever compiler. It is fast and it has unique concurrency patterns. You can find more resources about it in the links above.

Special shoutout if you’re from an underrepresented group: we need you! Help us make this community even more awesome.

Special Thanks to

  • Nuno Simaria, HelloFresh Global CTO
  • Adriana Hurduc and Sam Cameron, HelloFresh HR
  • Bill Kennedy, Ardan labs
  • Ronna Steinberg, Organiser of WomenWhoGo Berlin

Looking for a new job opportunity? Become a part of our team! We are constantly on the lookout for great talent. Help us in our mission of delivering fresh ingredients to your door and change the way people eat forever.

--

--