My GopherConEU 2022 experience
Tags: go, gopherconeu
Published: 2022-08-10 05:30:44

---
title: My GopherConEU 2022 experience
published: true
description: My GopherConEU 2022 experience
tags: #go #gopherconeu
cover_image: ![GopherConEU2022](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ip1067ke7iuo4ky99vur.jpeg)
# Use a ratio of 100:42 for best results.
---
![GopherConEU2022](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ip1067ke7iuo4ky99vur.jpeg)

A week has already passed since GopherConEU 2022, held in July 28th to 31st, and I wish to share with you my experience of these amazing conference days and my take of the content of what was said in the various talks.

__TL;DR__: it was great to be back in person, meet new Gophers, hearing a lot of interesting talks and I was very happy to be speaking to a live audience for the first time.

## Let's start

GopherConEU 2022 was composed of several days: a community event, the workshop day and a two days run of talks. My participation was limited to the two days of talks but I sure felt the __great energy and friendly atmosphere__ that sourrounds the Go community. Everyone was eager to exchange and learn about Go, either on specific topics or on the general trends.

Every edition of GopherConEU, this being the 5th, has been organized in a different location, Iceland and the Canary islands to name a few; this year's edition was organized in Berlin in the Festsaal Kreuzberg.

![Lets start](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8s5j3wf70oy1vct2i9cy.jpg)
<figcaption align = "center"><b>Let's start</b></figcaption>

## A summary of two days

I'm going to build the resume of I took away from the talks of these two-days conference by discussing around these elements:

- Embracing the simplicity
- A focus on memory
- Practical uses of Go
- The Go team

### Embracing the simplicity

Some of the talks of these two days highlighted the __simplicity__ of the Go language by looking at the experiences that the speakers had with their work and with some references to the [UNIX philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) of building modular, simple and transparent software.

This was reflected, for example, in the talk about CLIs in Go by [Marian Montagnino](https://twitter.com/mmontagnino) where she gave a lot of insights on how to make a CLI that feels closer to the user than to the machine; in the talk about making the service easier to extend and refactor by transforming it into a platform by [Konrad Reiche](https://twitter.com/konradreiche). In this one in particular the focus was in making the distinction between eventual complexity, that is intrinsic to the problem we want to solve, and accidental complexity, which is the one we introduce while solving a a problem, and his experience showed us a way to reduce the accidental complexity; and as well another in the talk given by [Egon Elbre](https://twitter.com/egonelbre) that gave really useful tips about how (and when) to use concurrency, by showing patterns and constructs that are safer and simpler to use when introducing concurrency in our applications.

And last but not least, the talk by [Yarden Laifenfeld](https://twitter.com/YardenLaif) where she shared her experience of migrating an application from an OOP language (Java) to Go and we reinforced the message that when going from a language to Go (or any other language) it is never a plain translation, but an __embracement of Go values and features__, because they are too different from one language to another and this holds very true when thinking of Java and Go.

This to me highlights the experiences of the Go community when striving in making things simple, as said in the [Go Proverb](https://go-proverbs.github.io/) _"Clear is better than clever"_.

### A focus on memory

A lot of discussions were made around the memory and resources usage: from the talk about the new [memory limit](https://tip.golang.org/doc/go1.19#runtime) feature coming with Go 1.19 explained to us by [Michael Knyszek](https://twitter.com/mknyswe) to the entertaining story about a feud between [Bill Kennedy](https://twitter.com/goinggodotnet) and a man named Tyler about the memory allocations done by their algorithms and some practical tips how to use _pprof_ to investigate the performances and reduce the resources usage and when it's really worth doing it.

![Bill Kennedy on memory profiling](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j5j3ktx2k5iir74beiyf.jpg)
<figcaption align = "center"><b>Bill Kennedy on memory profiling</b></figcaption>

This was very interesting in a context where we want take care of our consumptions to see how to check what we consume and where we can do better and in __which situations it is important (or not) to do it__.

### Practical uses of Go

Many of the talks were also about how the community has used Go in its own projects.

Some of the highlights in this regard were:

- The talk about the usage of [TinyGo](https://tinygo.org/) to check the environment inside the hen house of [Donia Chaiehloudj](https://twitter.com/doniacld) where she made use of TinyGo to create an application embedded in an integrated circuit that took some measures and sent them to Grafana.
- The talk by [Robert Burke](https://twitter.com/lostluck) about how to use Apache Beam, now supporting Go, to perform stream processing in our applications, to consider the difference between event time and processing time and especially to focus on windows of event times instead of the event time itself.
- The talk by [Anna-Katharina Wikert](https://twitter.com/akwickert) where she explained us how to follow the vulnerable parts of our code from the source, e.g. sensitive data, to a potential sink, e.g. a `log.Println` statement without any sanitization process, using the [go-flow-levee](https://github.com/google/go-flow-levee) tool.

I could go on speaking and detailing about all the talks that were given as they were all interesting and insightful but I would never end my speech so let's move to...

### The Go team

There were few interactions with the Go team, besides the talk of Michael about memory limits, that were centered on a panel with the Go team where people could ask questions to some members of the Go team, Than Macintosh, [Cameron Balahan](https://twitter.com/cameronbalahan), Michael Knyszek and on some reflections shared by Cameron on how Go has become the Go we love today.

Some of the highilghts I took away were around the history of Go, how it grew by __embracing the community__ via the feedbacks from the surveys and the github issues and how it maintained its importance by __embracing the enterprise__ by brainstorming around ideas that could help enterprises adopt Go more easily and how it keeps __evolving__ besides language features, e.g. in its toolset.

![How Go became its best self](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fvk79w5aly239j1afcp8.jpg)
<figcaption align = "center"><b>How Go became its best self</b></figcaption>

_"No is the the default answer"_ is a sentence shared by the Go team to convey in a very effective way the fact that Go's values are simplicity and stability; this is in comparison to other languages that may add new features more frequently and make them sometimes more complex and challenging to embrace.

A last interesting point, shared by the Go team, was again about security as the evolution of Go keeps growing around functionalites and tools that help for instance with the dependency checks, e.g. the tampering check on the `go.sum` in Go modules and the introduction of __fuzzing__ to help unit test our application to find potentially dangerous edge cases.

## A personal note

GopherConEU 2022 was not just for me a place where I heard interesting talks and topics about my favorite language.

First of all it was an __occasion to meet a lot of nice Gophers__ from all over Europe, exchange and share our experences with them. There I met, for instance, nice people from Arduino, people from Celltech using Go to work on the creation and testing of batteries and other nice companies using Go for many different projects from Finance and Payment (Upvest and Form3) to Food Delivery (Delivery Hero), Data Federation (Hygraph) and Marketing and App promotion (Remerge).

Then, this edition of GopherConEU was special to me because it was my __first experience of talking in public to a live audience__. My talk was the second lightning talk where I did a small live coding session to show the power of the standard library when it comes to take the first steps to develop a web application.

![My first live talk](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h6nadq9simth6kjcyxyx.jpeg)
<figcaption align = "center"><b>My first live talk :heart_eyes:</b></figcaption> 

First live talk + lightning talk + live coding = a lot of challenge.

And a challenge was what I wanted to propose, to myself, to the organizers and to the audience, if selected. I must admit I was a bit nervous when I proposed it, but as I got accepted it was time to take on this challenge!

![Challenge accepted](https://media.giphy.com/media/f8TXO6yBb8CgU/giphy.gif)

And so it happened!

For this I must thank all the organization of the GopherConEU, from [Natalie](https://twitter.com/NataliePis) to Donna and everyone involved to give me this opportunity and honor and also a big thanks to the co-hosts [Mat Ryer](https://twitter.com/matryer) and [V Korbes](https://twitter.com/veekorbes) that supported and encouraged me before going on the stage.

Should you want to know more about this talk you can check my [websvc](https://github.com/mcaci/websvc) repo.

## Parting thoughts

![What we do on Sunday](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iirztl434coidh5p8emb.jpeg)
<figcaption align = "center"><b>We sure were! :grin:</b></figcaption> 

GopherCon EU was not just an occasion for sharing and learning, it was also a moment of distention and entertainement, I'm thinking especially of the improvised talks given by Mat Ryer and V Korbes on subjects given by the attendees (testing and doing code review with people you don't like) and a Live Episode of [Go Time](https://changelog.com/gotime) podcast with the "Gopher Say" Game.

Again, there are so many things that are worth mentioning but time is running out. If you haven't had the chance to participate to GopherCon EU, the talks will be made available in YouTube at some point you'll be able to do it soon.

I will close again by __thanking everyone__ that made this edition of GopherConEU and sharing some more pictures of this two days marathon.

You can find me up on twitter [@nikiforos_frees](https://twitter.com/nikiforos_frees) or here on dev.to @mcaci and I'm looking forward to hearing your comments.

__This was Michele, thanks for reading!__

__EDIT__: The [video](https://www.youtube.com/watch?v=JDRPfIlNqEs&ab_channel=GopherConEurope) for my lightning talk has been published! I hope you enjoy it!

![Gopher say](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ow1fiqt3vm9lolz79op.jpg)

![Saturday's Party](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hupu54y057499q2bqmsx.jpg)

![Gopher Graffiti](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aglcjrblbpdxqnmylytu.jpg)
 
![Bye GopherConEU](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/34plsj7lym85o2wp60u9.jpg)