Nov 17, 2016

GothamGo 2016: Advanced Go Workshop

I discovered GothamGo last year while reading about Go, sadly, I missed GothamGo 2015. This year I wanted to change that, I did not want to miss the opportunity, so I decided to take two days off from work and go all in!

I attended Bill’s Workshop, called: Advanced Go, Bill Kennedy is one of the authors of Go in Action, one of my favorite and easy to read Go books.

To be honest with you this is my first workshop, ever. I honestly believed that it was going to be a little bit hard for me to follow up, I don’t know… I guess I’m always a pessimist guy. Either way I’m pleasantly surprised my previous debugging experience as well as my CS background help me to understand with no issues everything Bill said.

Bill’s program covered the following topics:

  • Mechanical Sympathy: which honestly did not know about it until after listening to GoTime’s episode 6, which obviously has the same name and has Bill as the guest. To me this was the most refreshing topic, it was really nice to listen someone talk about CPU caches, processors, hardware and how all of that matters when developing software.
  • Data Oriented Design: important topic for people new to Go, to think how to represent all the different things you want to build based on their behavior instead of what they are.
  • Concurrency: explanation about Goroutines, Channels, how the behave with the processor, memory sharing and whatnot.
  • Testing: testing examples.
  • Benchmarking: concrete benchmarking, for improving your code.
  • Profiling and Debugging: this was the most interesting thing to me, how to profile and understand the data.

As a cool surprise Filipo was also there, and he showed us how to trace networking as well as system calls. Pretty cool stuff.

I personally enjoyed this workshop a lot, Bill’s way of explaining things, his enthusiasm and stories blend nicely with the topics covered. For me it was a phenomenal way to kick off GothamGo 2016.