For the first time, voxxed days was held in Thessaloniki, Greece. We, the community, were very excited about this but we were also anxious if it would comply with the high quality standards of the brand. And it certainly did! And it certainly met all our expectations!
I had a great day meeting colleagues and friends and new interesting people to talk with. The topics of discussion were of course the talks delivered during the conference but also and more important the state of the Greek IT which has been hit hard by the Greek economic crisis. But no matter how a discussion between developers starts, even for debt and IMF, it eventually becomes purely technical about microservices and designing for failure.
Thessaloniki is one of the most beautiful Greek cities and a great destination for food lovers, so no surprise that the venue, the food and the pastries were excellent.
Now the talks. There were three tracks: java/devops, big data/methodology and web. There were 2 common keynotes so you had to chose 5 out of 15 talks to attend. I decided to optimize for best practical value and i avoided talks about new technologies and future directions. I unashamedly cared only for the present.
The opening keynote was by Simon Ritter about the upcoming features of JDK9 and project jigsaw which adds modules to java. It was a detailed talk about the language changes and how they affect legacy and new code. Alas I am with those who believe that jigsaw is too late and it will be irrelevant. Developers have learned to live without modules using facilities provided by build tools, frameworks and application servers. I hope that the final release of the JDK9 next year will prove me wrong.
But while jigsaw value is debatable the value of HTTP 2 is not. In a very informative and lively talk Ole Michaelis presented the problems of HTTP 1.1, destroyed the myths about some web techniques that we accept as best practices but actually are limitations of the protocol and presented the next version of HTTP. It is supported on all major browsers and platforms and it can be used right away. I totally agree with him. Let's use better technologies to build a better web. Let's get rid of the asset pipeline that makes our lives bitter. A great talk, i enjoyed a lot.
Next was Stavros Kontopoulos who talked about data streaming engines and used Apache spark as a case study. He presented the design principles of such engines, guidelines for good design of applications that use them and showed examples with spark. It was the kind of the simple straightforward talk that helps you tidy up your concepts and views about the topic and rethink your approaches. Personally it helped me a lot to clarify that an application I maintain is actually a custom streaming engine as it has all the characteristics of them. Now it is obvious how it should evolve.
Most developers hate documentation. They believe the myth that if the code is well written there is no need for documentation. I adore documentation. I even prefer to write documentation than unit tests. Peter Hilton delivered a great talk about documentation and discussed all aspects of it: when to avoid it, when to write it, how to avoid it without harm for the software, how to write it well and many many more. The slides were by itself a beautiful document on documentation. Find them and use them as a manual. This was imho the best talk of the conference.
Now it is time to become technical. Ali Kheyrollahi discussed best practices to write microservices. These are in a nutshell: ActivityId propagator, retries and timeouts, io monitoring, circuit breaker and canary, health endpoints. Although the context was microservices they are applicable to general network programming. The essence of his talk was that distribution is about reliability and in distributed systems everything can fail, so design for failure from day 1. This is of course a big topic but the talk succeeded in making it's point clear.
Dimitris Andreadis from redhat presented the latest versions of wildfly and wildfly swarm. These are JEE application servers for the cloud. Plain wildfly is a classic server on steroids, very fast and extensible. Wildfly swarm is a modular version of wildfly that you can assemble and configure as you wish. It has very small footprint, and has all the functionality of wildfly. This is the version for cloud deployment. JEE is still strong although not as dominant as it used. I really liked the architecture of swarm. Note however that many of the decisions were made to bypass the lack of modules in java and swarm's design is a better foundation for modular apps than jigsaw. Nice project but personally i like dropwizard very much to change it.
The closing keynote was by Sandro Mancuso about career design and development. To be honest, in Greece this is frequently discussed between developers because the environment is generally toxic for good career development. There are good jobs, good companies, good engineers but no full path for career development. We have the dots but we cannot connect the line, to paraphrase a classic talk by Steve Jobs. Sandro gave us valuable advices but most importantly he transmitted positive energy to us. Thanks Sandro.
Voxxed days Thessaloniki finished with good news. Next year there will be Voxxed days Athens and we hope it will be as good as this one. Greece is back to the map of good IT conferences.
PS1 I am writing on a bus without wifi, so i can't provide links. You will find them at the web page of the event but first make a small stop to check the people who organized this. Greece is not back on the map of conferences by luck or accident. People worked hard for it and they deserve our appreciation.
PS2 Outside the venue there was a chess event. I bet nobody figured out that the guest of honor was the girls world champion under 18 which is Greek! Google for her, she will win the women world championship one day.