Published at 05.04.2019
On the 25th of March myself and Robert had the pleasure of visiting the dotGo conference in Paris. Having taken the train from Germany the day before and had a brief wander around the city, we woke up keen to learn what the conference had to offer.
A short stroll from our hotel lead us to the Théâtre de Paris where the event would take place. The location was made all the clearer by the alphabetically bucketed queues of gophers streaming into the entrance. Once inside we dropped off our bags, perused the breakfast buffet, then we went about inspecting the booths of the various sponsors.
Standing in the crowd led was a great opportunity for meeting new people in the Go user community. We had some excellent conversations with some especially talented and interesting people. Sharing our collective knowledge about building maintainable, reliable, and scalable systems in Go was the main ambition of the hallway track.
Table of Contents
When the bell rang, it was time to enter the first block of talks. After a short introduction to the event and ice breaking exercise the presentations proceeded. The format worked well with a concise lecture followed up with a short on stage interview with the speaker. There were no audience questions but there was plenty of opportunity to catch the speakers during the breaks.
— dotGo (@dotGoEu) 28. März 2019
The talks were blended with topics for beginners and advanced gophers making for an engaging schedule for all. A couple of them focused on performance and optimisation, others on the future of idiomatic Go, and an array of intriguing use cases for the language.
On the performance front it was particularly interesting to learn about tuning Go’s garbage collector. While Go’s garbage collector is not as complex as others, having only one option, tuning it yields a reasonable amount of power. We are already able to speed up our short lived Go build turning the garbage collector off completely. The discussion of further tuning options such as minimum and maximum memory usage parameters could have a sizable impact on optimizing for containers.
Error handling was another hot topic at dotGo. It came with the experience that the Go 1.x error contract often falls short on error traceability and internationalisation. For a long time, the community has been providing its own error types, addressing these problems, it is good to see the Go project moving towards more flexible errors for Go 2.x.
What could be a vanity project for some might find pragmatic application at anynines. Go as a scripting language has some considerable advantages for maintainability and code quality over interpreted languages. We look forward to experimenting with this idea in our data service automation.
After a day of intense learning we refreshed ourselves and continued conversations at the pub. At the pub we shared and listened to more stories about challenges in Cloud & DevOps transitions. With sufficient lubrication we even managed some none work related topics; a nice perk for the road warrior or satellite office worker.
— Mathieu Cornic (@matcornic) March 25, 2019
We are thankful that anynines understands the importance of its developers interacting in the community enabling to attend events like this. We definitely will attend plenty more.
Robert & Morgan