devoxx Belgium 2017 - Day 1

Being at the devoxx for the first time, but having heard so much praise already, and seeing all those high-profile speakers on the schedule, I was really eager to get to Antwerp for this year’s devoxx. And I’m also eager to share my personal impressions 🙂.

One really cool thing about devoxx is that they stream all of the talks live at their Youtube channel, and put the recordings online pretty soon (usually online the next day). So if you find a topic interesting, tune in.

Now, here’s my personal schedule and summary for the first of the conference part.

Keynote: Moving Java Forward Faster

In this first keynote, Mark Reinhold, Chief Architect of the Java Platform Group, presented an outlook to the future release process of Java. We’re going to get new releases every 6 month, with LTS releases every three years (and being supported that long). On top of this, he and Brian Goetz also let us peek into future of Java, with highly appreciated features like pattern matching.

If you have followed the Java news, you might know most of the stuff already, but still I would highly recommend this talk.

Keynote: CERN, from an IT Perspective

Being completely off-topic from a developer perspective, Derek Mathieson gave insights to the famous CERN. Very informative and entertaining, growing the desire to see it for myself. Which will be possible in 2019 at the OpenCERN event and VoxxedDays.

Keynote: Move Slow and Mend Things

My favorite takeaway from the talk of Kevlin Henney is “speed != velocity, because velocity has a direction, while speed may be high, but without (or the wrong) direction”. He very successfully made the point that sometimes being fast and breaking things is okay, but there are also lots of occasions when moving slow and fixing things is the better choice. Altogether, I had the feeling Kevlin was summarizing a lot of my experiences from two decades as a professional software developer exactly to the point.

Once again, definitely worth watching!

Kotlin for Java Programmers

Want to learn Kotlin and don’t have much time? Then I definitely recommend viewing Venkat Subramaniam’s talk. It’s force-feeding Kotlin concepts which would fill a two day training somewhere else into 50 minutes. When watching this on Youtube, you might want to reduce the speed to avoid brain overload ;-)

When the session is over, one could feel like you could (and also want to) start programming in Kotlin immediately.

Personally, I would like to see a conference talk battle between Venkat and Josh Long to find out who speaks faster and packs more stuff into the minute 🙂

Quickie: Spring Framework 5: Hidden Gems

If you’re using Spring Framework for some time and already know all those major improvements that Spring 5 brings, having a look at this presentation by Jürgen Höller is really worth the time. It turns the spotlight to the less prominent improvements, of which several might make the life of an Spring developer easier. My personal highlight is the build-time annotation processor, which might take away the real pain if long startup times for heavily annotation driven Spring (Boot) applications.

Quickie: Let’s config your Java Project (for Cloud)

To keep it short: Not worth looking at.

Modular Development with JDK 9

Alex Buckley, specification lead for Java at Oracle, gave a really thorough overview on the new module system in Java 9. Presenting the new concepts, the steps to migrate an existing application to Java 9 and what to watch out for, I would recommend this talk to anyone who hasn’t looked deeper into the Java module system and wants to get a condensed introduction.

Plain Functional Programming

In this talk, originally announced as a beginner-level talk, but changed to intermediate-level, Scala inventor Martin Odersky explained Kleisli triples and implicit functions, and why you sometimes shouldn’t use them either. Although I wasn’t able to grasp everything, being not too deep into functional programming yet, the main takeaway, the concept of least power, is surely relevant way beyond the domain of functional programming. One could also apply this easily to Spring. If you’re really into functional programming, this session might be interesting to you. Otherwise be aware it is definitely not beginner level.

API Versioning for Zero Downtime

I was keen to visit this talk since the everlasting question on how to deal with changing APIs is also challenging us at ePages. From that perspective, and the expectations I had from the abstract, I was really disappointed from what Patrice Krakow, lead architect at ING, finally presented. He talked about service discovery, routing, server-side and client-side loadbalancing. He also explained how to pin a service to a specific API version, but not about how to deal with changes in the API itself. Aside from this, the talk gave a good introduction into mentioned topics. He was sometimes being too focused on ING’s specific requirements, where others might be successful with easier solutions.

JUnit 5 — The New Testing Framework for Java and Platform for the JVM

In this last full session of the day, Sam Brennan and Marc Phillipp introduced the new architecture of JUnit 5, together with a lot of its cool new features. Really recommended if you want to get a quick introduction, together with live coding examples.

Summary

Wow. What an amazing first day, packed with so much good stuff. With the amount of information being packed into one day, I might even need to watch the recordings of some talks I visited to get all out of it. This was by far the most interesting, but also the most exhausting conference day I attended in the last few years. I’ eagerly looking forward for day2. Stay tuned for the Thursday summary…

About the author

Dirk Jablonski is an experienced Java developer. He has deep DevOps knowledge and a strong passion for Kubernetes and cloud technologies.