The Go community continues to grow, a calendar full of events, meetings, workshops and conferences. This year alone there will be more than 12 conferences around the world.
Go and his community are young, but surely very well prepared. There is a long way and many new thing to learn. On this occasion, a team of TravelgateX Go developers, had the opportunity to attend the GopherCon Europe 2019 in Tenerife. An event where they have brought together great assets of the community as well as representatives of the Go team.
In this second edition, the designated place has been Tenerife (last year it took place in Reykjavik, Iceland), a beautiful island of warm climate, perfect breeding ground for gophers (as Go developers usually call themselves) to interact and grow as a community.
Workshops (Thursday, May 30th)
On the first day the lectures were devoted entirely to workshops, given by professionals with years of experience in this technology. We listened to Bill Kennedy (@goinggodotnet) again with his “Advanced Ultimate Go” workshop, going deeper into how to improve the performance of existing systems by giving valuable tricks and techniques to improve performance.
There was also Miki Tebeka (@tebeka), CEO of 353solutions with his workshop “The Daily Go”, focused on the maintainability of code, a concept that is often lost sight of in long term projects. Code structure, dependency management, unit tests, logging and metrics, etc… day-to-day concepts that the developer has to deal with and that, if not taken into account , can make the cost of incorporating new features too high.
On the same afternoon of Thursday 30th there was an event powered by GoBridge (@GolangBridge), a community that seeks to build “bridges” to educate and help underrepresented communities and bring them closer to the technology. Their initiatives can be seen at the following link: https://github.com/gobridge/about-us/blob/master/README.md
It was a social event where workshop participants and other community members could, in a relaxed way, share experiences, concerns and, why not, have a good time having a drink at sunset in Tenerife.
Celebrities like Cassandra Salisbury (@Cassandraoid) and Bill Kennedy were also seen sharing interesting reflections on the state of the community and being very interested in how we, those who participate at the event think; with the intention of improving and having better feedback.
The conferences (Friday 31 May)
The big day arrives, we are very excited with all the talks that are presented.
The one in charge of the opening, as it could not be otherwise, Cassandra Salisbury, public face of Google for their Open Source projects, making a precise analysis of the current state, needs, concerns and the way forward. It gives a very important value to the community and how development standards and priorities are changing.
Previously, it was usual for the company owning the technology to have its roadmap and priorities in the new features, but now the way they operate is different, it is the community that decides which are the priorities. Working and directing efforts in one direction or another and afterwards, the company supports these movements depending on their impact. Very interesting reflection that reminds us that nothing moves if we are not the ones who lay the first stone.
We continue, on the one hand, with Julie Qiu (@JQiu25) of the Golang team, giving valuable advice on how to find quality packages developed by third parties (third party packages) within the Go ecosystem, still not very standardized. On the other hand, with Tom Ogoma (@tom_ogoma) exposing his extensive experience in the development of API RESTful in Go.
Now he exposes Mat Ryer (@matryer), a veteran developer, co-maker of machinebox.io, writer of the book “Go Programming, blueprints” and known collaborator in free software projects, who shares his experience in more than 8 years of development with Go. A very elegant presentation where it touches cases of common use in the development of web applications, many of them directly related to current developments that we have in TravelgateX. We found him as a fantastic disseminator, disposed to engage in any debate during the days that the event lasted.
After a short coffee break we continue with Aaron Schlesinger (@arschles) who tells us about the project he is working on: The Athens Project (https://docs.gomods.io/), which tries to cover a current need for dependency management in Go, offering a proxy server where you can configure the dependencies that your organization requires. Including those that need authentication. A very interesting approach to the current problem with dependency management.
At the same time, in the other room, is exhibiting Kevin Hungai (@Hungai), an experienced developer from Nairobi who tells us about his experience with tracing in distributed systems. Very interesting talk because it is a case of very common use in TravelgateX, where we need to monitor the millions of transactions we receive in a purely distributed system.
Now is the turn of Carlos Gonzalez (@carlosglezvila) and Sara Baez (@Bz_Sara) developers for System73 (https://system73.com/), a company focused on streaming video, with his talk entitled “API Gateway, a success story”. We found it very interesting, because its technological model is very similar to the one we have in TravelgateX, where a single entry point (gateway) distributes requests in different microservices in systems with high concurrency.
They described the problems they encountered during their development and we feel very identified with them, as we have encountered the same stones during the development of our gateway; problems with scaling services in the cloud and how to handle them. We realized the importance of choosing well your technology partner on which many services depend.
It’s time to eat with the great buffet of the Hard Rock Hotel, we took advantage of this time to share with other colleagues what we thought of the talks and exchange our opinions.
After the break we continued with Egon Elbre (@egonelbre) who gave us a very interesting vision and different for us, who are used to a more technical profile, “the psychology in the legibility of the code”. We don’t have to forget that when we develop we try to create “artefacts” that work and sometimes we also forget that we also have to create those “artefacts” for future maintenance. In the same way that automotive engineers produce cars that work but are at the same time, are ready to exchange parts and repair in the future, our code must be legible and understandable so we can extend it, modify it or exchange modules in a simple and enjoyable way.
Continuing in this dynamic, Ivan Daniluk (@idanyliuk) explains his experience in how programmers interpret the code, reminding us that a programmer spends more time reading code than writing, and the importance of getting to write a simple and readable code. Paraphrasing Albert Einstein with his famous quote “Everything should be made as simple as possible, but no simpler” reminds us that we must make simple tools to understand, but not necessarily less complex.
And at the end of the day a round of open questions is proposed to the Go team, represented on stage by Julie Qiu (@JQiu25), Cassandra Salisbury (@cassandraoid), Steve France (@spf13) and Filippo Valsorda (@FiloSottile) where they answer the concerns of the audience, giving some clues as to where Go’s development team has planned to go in the next releases of the code. Pleasant and funny chat where teddy gophers and t-shirts were given to the participants.
Finally we could have a drink with the speakers and organizers of the event on the terrace of the Hard Rock Hotel, very funny moments of the hand of Bill Kennedy and other companions.
Light Talks (Saturday June 1st)
Today is community day. Several collaborators offer to carry out participative workshops, among them, Ellen Körbes (@ellenkorbes), excellent programmer and disseminator, giving us time to “play” and share knowledge in an active way, with the laptop in front and writing code is when the knowledge is really acquired.
And now to end up the event, is time for the Ligth Talks. These are small exhibitions of no more than 10 minutes where speakers, amateurs and professionals, take advantage of that small space of time to show a specific case of something interesting related with the technology.
Here we were proposed to expose, we man up even having no experience in lectures and the technology, something that, to astonishment, seemed very interesting to a wide sector of participants. That is how we work with API’s in GraphQL developed in Go in TravelgateX . Apparently, there is not much experience in this regard and GraphQL is new in the world of Go.
Never one to miss a trick, we started to think, in an improvised way, of an exhibition where we could show how to mount from scratch an API in GraphQL Go using the package maintained by 99designs gqlgen (https://gqlgen.com/). Finally I expose as one of the first to an expectant audience who gave us all their support and affection (thanks Ellen) who knew beforehand that we are not experienced speakers.
In the end it seems that the presentation was very well-received, and we left with very good sensations, leaving at least our grain of sand in a basic and simple introduction on a subject still not very widespread.
After several very intense days, little sleep and a lot of coverage, we leave with more than we have come. Socializing with colleagues from all over the world who find themselves in situations very similar to us on a small island in the Mediterranean, offers you a much wider vision, with more perspective, opens doors for you and illuminates the sometimes dark path to satisfaction as a developer. It makes you feel less small and that you are not alone.
In such a competitive world, we are realizing, both companies and individuals, that the collaborative way gives many more benefits than the competitive way. Being able to offer, participate and collaborate in seeking a more efficient, fair and welcoming world makes us better professionals and gives us more opportunities than ever before.
I am looking forward to more, to continue sharing, to continue participating. Perhaps for the next Golab in Florence (https://golab.io/)? We’ll see.
Translation help by Sergio Lucea.