After working with Golang for some time I decided to attend my first ever Golang conference. In the past I attended only local events in Budapest and in Vienna, but I wanted to meet more people from this community. Read my selection of the best sessions during two conference days.
The conference took place in the centre of London at a venue called Brewery, just a few steps from Liverpool Street where I stayed. On Thursday I started the day with more than 500 Gophers listening to the keynote by Aditya Mukerjee. In the session it was explained what contribution to Golang community means. I find this topic very important to discuss and talk about it. It has very encouraging effect on people as they see that they don’t need to be superb coders to make contribution. It was also very nice to hear that we’re contributing just by attending the conference. Generally speaking, whatever you do to make the life of developers easier and it somehow involves Go, you are a contributor. The end of the keynote focused on code contribution. Aditya recommends to focus on third party libraries because standard library is not going to be any bigger. You should make commitment to opensource your next obscure library.
For next session I picked up Debuggers from scratch by Liz Rice. In the beginning she explained how debuggers know where is your breakpoint in code. Then the session turned into a live coding session with a great mix of Go and system level stuff. Liz explained that binary execution can be stopped using ptrace function, she placed a breakpoint using it and worked through several iterations to demonstrate how real debuggers in IDEs supposed to work. At the end she even showed how to change the value of a variable or the output of a function.
The Session by Pawel Slomka was about writing Go tests and it gave me an interesting new perspective on writing tests. In the first part of his session, he put emphasis on TDD. His fun and exciting approach made this session really great. The second half of the session focused more on the best practices of writing tests. I find these practices easy to apply in other programming languages. It’s interesting that even though these practices are simple and logical they aren’t widely spread.
The next day was started by Cassandra Salisbury’s session about the growing community of Gophers. A quick survey among attendees showed that more than 80 % were attending a Go conference for the first time ever. Cassandra pointed out that since last year the number of Go-focused conferences has grown by 100 %! From her point of view now it’s the important time to decide what kind of community the Go community wants to be. My observations so far are that the Go community is very welcoming and open-minded and I wish it stays this way.
Those who have been coding in go for less than a year - those are our audience. Go userbase grew 30-40% last year. Their first impressions matter. They don't know the history of the community. They'll judge it by what they see when they find us. Let's build empathy💙 #gopherconuk pic.twitter.com/KViwqbXptn— Kat Zień (@kasiazien) August 3, 2018
The last session in my selection is Kat Zień’s talk about structuring Go apps. This session was especially interesting for me, because so far I wasn't deeply involved in architectural decisions in applications my team develops and I’ve wanted to change this for some time now. Kat showed several different ways to structure applications from scratch by starting with MVC through different approaches, to DDD. We use something very close to MVC and during programming I experienced several issues showed by Kat. I currently prefer MVC model given my web development background, but DDD definitely seems to be an interesting design pattern.
In the end I can say that I really enjoyed my first Go conference and I hope to attend many other of them in the future. For next year I’m looking forward to meeting new Gophers at dotGo in Paris and possibly at GopherCon in the UK.