Sometimes it is a good idea as a developer to step back and do something different for a few days. So you can broaden your view and reflect on your work. Visiting a conference is a good chance to do so. You can learn about new technology, listen to people who question things that you considered a given, and see how other people solve similar problems.
It comes in handy that ePages offers their developers to go to conferences to take advantage of all these things. I took the chance and decided to visit the GeeCON 2016 in Kraków.
The GeeCON is a three-day conference with focus on JVM technology and mostly targets the Polish developer community. The conference was organised by a team of ten people in their spare time besides their main job.
Similar to the Code Talks in Hamburg, the conference took place in a cinema. This venue offered giant screens, and cosy seats. Three different tracks were offered and the variety of talks covered anything that the industry currently talks about - microservices, reactive applications, frameworks like Akka, Play, Ratpack and Spring Boot, JVM languages like Scala, Clojure, Kotlin and of course Java.
Here is a list of my personal highlights:
Josh Long - “Cloud Native Java”
Josh Long (@starbuxman) is a spring developer advocate that travels the world to spread the word about the greatness of Spring Boot to implement Cloud Native Applications. This is another - maybe better suited term - for microservices. At ePages, we work a lot with Spring Cloud and Spring Boot, so most of the content was not new to me. The interesting part was rather that Josh is the master of live-coding. He does that at an incredible speed and with a great level of entertainment. That was really a show.
Daniel Sawano and Daniel Deogun - “Beyond lambdas - the aftermatch”
The two Daniels (@DanielSawano, @DanielDeogun) focussed their talk on lambda expressions introduced in Java 8. In my team we love this language construct and use it extensively. The talk showed some common problems, smells, and pitfalls when using lambdas:
- Things that are obvious for functional programmers can be hard to adapt to for Java developers and you need to be very well aware of what is evaluated and when - so you better know the difference between
- The compact and fluent syntax of lambdas can hide issues where the separation of concerns is violated
I liked the talk because the topic was specific and small so it was possible to dive rather deep. Also they presented it in a really nice way by illustrating their points with live-coding and telling the whole story as a dialogue between two developers.
Julian Warszawski - “Greenfield Effect: Patterns for Effective Disaster Delivery”
Julian Warszawski (@hundredmondays) gave a very refreshing talk about the current state of our industry. He asked why developers so often start a greenfield project with best intentions and find themselves with a big ball of mud after some time. Such a code base is harder and harder to maintain and delivers features slower and slower.
One of the reasons he presented was technical debt and decisions taken by the wrong people. He stated that technical debt is a misleading term because the association with financial debt. Financial debt can easily be quantified and paid back in the future which is not the case for technical debt. And we better try to not pile up any because experience shows that it lasts forever and slows down our work.
He also described the Dunning-Kruger Effect (unskilled persons mistakenly assess their ability to be much higher than it really is) and the Halo Effect (the overall impression (fame, attractiveness) of a person influences our thoughts about the skills of that person) and tried to associate them to the world of software development. He argued that these effects lead to wrong decisions in projects. Julian proposed to rather rely on scientific methods - gather data for a question, test the hypothesis, and use the results for a conclusion.
Although I would not agree on all of his points, it was a very critical view on the industry that really made me think.
Other talks had a lot of value for me because the topic was directly related to our work at ePages:
“Scaling Microservices at Gilt” - Adrian Trenaman
Talk about the evolution of Gilt’s architecture towards today’s state with 300 microservices in production.
“Kubernetes in Production” - Paul Bakker
Paul Bakker talked about running Kubernetes in production including an approach to implement blue-green deployments using the Kubernetes API.
“The Wix Microservice stack” - Tomer Gabel
Tomer Gabel talked about Wix’s very pragmatic microservice architecture that can do without container sophisticated schedulers and dynamic service discovery.
The 900km trip from Hamburg to Kraków was really worth it and I enjoyed it a lot - not only because of the conference but also because Kraków has a lot to offer and is well worth a trip on its own.
So if you go there make sure you have a walk at the Vistula River, take a look at Wawel Castle and have a Kasztelan beer in the beautiful Stare Miasto - Kraków’s historic old city centre - which is part of the UNESCO World Heritage.
Was it all just fine? Of course not - as always, there is room for improvement. The conference was really packed and either the venue is too small or they sold too many tickets. The rooms were always crowded and the floor always packed - which starts to be a little annoying after spending three days in such an environment.
But apart from that I can only say thanks to the organisers. They put together a great conference that offers a good value, especially, when taking into account, that they organised it besides their main job, the result is pretty amazing.