On 22-23 October 2015 I attended to GeeCON conference in Prague. It was second edition in Prague, but it was my first time on GeeCON.

GeeCON is a conference focused on Java and Java Virtual Machine based technologies, with special attention to dynamic languages like Groovy and Ruby. GeeCON is a forum for sharing experiences about modern software development methodologies, enterprise architectures, software craftsmanship, design patterns, distributed computing and more!”

The conference in numbers: over 600 participants, 50 speakers and 60 lecture sessions. Unfortunately on this kind of conference it is not possible to attend all the lectures, but all lectures were recorded, so I think in few weeks all of them should be available on GeeCON vimeo channel.

How was it?

In this article I want to notice something about lectures were interesting for me.


The conference began with a keynote titled Level Up by Grant Ingersoll . He was talking about software development, but he was doing it in context of computer games. It was not technical lecture, but there was a lot of information which could inspire us to level up our skills. I think he said many important things that everyone should know, for example that UI is not the same UX, or about Oprah effect or that we should always be learning.

I attended two lectures about things I use, but I don’t know (or don’t really mind) how they really work. 20151022_113949The first one was How to make Java profilers lie less by Jaroslav Bachorik. During this lecture, I’ve learnt something new about profiling. I found out about types of profilers and common problems with them. Jaroslav also mentioned about his project Btrace.

Next lecture was Understanding ClassLoaders by Martin Skurla. It was very interesting because it was about common problems. Many of problems  can be localized by some tools like javap, java –verbose:class. There are interesting projects related to class-loading:

20151023_084834Next technical lecture which I attended was Dangers of Parallel Streams by Lukáš Křečan. It was very interesting, in short period of time we were able to see many examples of processing parallel streams with very clever explanation. He presented examples where some improvements in code look logical and good, but in fact they are really bad. In some cases we didn’t have enough time to wait for result of „improvements”.

Another lecture was Performance Tuning with JPA 2.1 and Hibernate by Thorben Janssen. He said about typical problems with performance and good practices. He also explained types of cache and when we shouldn’t use one.

Of course there had to be something about microservices. I was on two talks about them. First one was The dangers of building microservices by Christopher Batey. It was pretty good presentation, mainly it was about testing microservices. He gave some tips how to do it well and showed some interesting tools like tc – linux tool for manipulating traffic control settings. Two interesting projects he was talking about were WireMock for simulation of http service and Saboteur for simulation of connection faults.

Next talk was Microservices: the lean way, I mean, code by Bruno Bossola. This talk was about what are microservices, common antipatterns and issues. Common antipatterns was the most interesting part, because he showed them and gave solutions. Solutions he provided were enforced or are still being enforced in his projects. For example “Babel Tower” where microservices are using different lingos to talk to each other like SOAP, REST, RMIP etc. and simple solution – standardize protocols. At last he showed live demo, how to create simple microservice with Node.js.

At last few words a20151022_170305bout lectures I appreciate the most in conferences like GeeCON. It will be the ones where speaker shares her/his experience and thoughts about something, not only the technical stuff. One of them was Clean Coders Hate What Happens To Your Code When You Use These Enterprise Programming Tricks by Kevlin Henney . He showed problems with coding the “enterprise way” – good example of such is FizzBuzzEnterpise project. The project shows in a humorous way how simple task done in Java can get bloated beyond reason using enterprise best / worst practices (luckily you can avoid this following good practices). For example problem with using imports with wildcards or specific type. We should remember that “Software is about details, software is details”. I think Kevlin Henney got the biggest applause from among all speakers.

Another very good talk was Your role in the next release of “World” project! by Milen Dyankov.  It was very thought-provoking, maybe a little philosophical talk. One of the main concept was that we shouldn’t focus only on our career, we should do something to make world a better place. Milen showed how Liferay company is supporting employees taking part in volunteering events (digging wells in developing countries, organizing food-raising or building bikes for children). Milen also mentioned about dark patterns and possible ways of our career (it’s your choice if you’re on light- or dark-side of the force).


It was very good organized conference. GeeCON and similar conferences give opportunity to learn something new, share experience and meet other developers. Good thing is that all talks were recorded and I think I will watch some of them. It was my first time on GeeCON, but not the last.