This year I had the chance to visit Devoxx 2019 in Belgium. A conference with a focus on Java but also other technologies, programming languages, leadership and various topics.
The frist two days of the conference were the “Deep Dive Days”. In these two days there were hands-on labs and talks, typically being around three hours and covering a topic in depth to understand it and also have enough knowledge to follow up on it.
After the typical first day actions like registration and finding out where what is happening I started the conference with a visit to a talk about Event Driven Business automation. Here a team from Red Hat showed off how new technologies in the Java space like GraalVM and Quarkus can bring new wind into a topic that is already existing. Their Framework Kogito is able to automate quite some actions in real time. As we are already using these kind of frameworks, I see here a great advantage also for SAP and its customers.
After a short lunch break the day continued with an in depth look into a non technical topic: Developer First.
In this talk Kate Wardin from Target told the attendees about her leadership style and some challenges that the industry is facing at the moment. These include the fact, that developers (especially in the US) stay in their roles for shorter times. She put a light on the various reasons why this is happening and what her and Targets strategies are to tackle this problem.
Her talk was very interactive and my seat partner and me had to answer some easy questions (i.e. where are you from) to some harder ones (i.e. what is a current problem in your job). The fact that the talk was so interactive also took care, that all attendees were engaged and the talk ran a little bit too long in the end. Kate also introduced us to her program Developer First, where she enabled us to get some materials for future learnings.
After another short break the next talk was a bit shorter but very insightful. It was a good connection to the first talk of the day. It was a “Battle of the Microservice Frameworks” about Quarkus and Mirconaut, both aim for similar things but have some different approaches.
Again this session was a little bit more interactive, essentially trying to tell, where the somewhat minor differences are in regards to these two frameworks. The audience voted what they liked more in a head to head comparison. Who won in the end you can check in the Video 😉
The day closed nicely with a talk about the Maven and the bad behaviour some developers have while using it.
The session was great to take direct learnings that are easy to apply. I really liked how it was an instant win for me and being able to use the content directly the next morning.
The second day started with Booths from different vendors with different sizes. Some were more local and some were industry leading, like IBM, RedHat, Microsoft or Amazon. Mainly the booths were about their products for developers and integration technologies.
Thanks to being there early colleagues from SAP and me had the chance to attend a lab by Googlers about Knative and the possibility to host your own platform as a service. It was a great hands on session and thanks to the documentation it should be possible to set it up on Kubernetes running on SAP Cloud Platform.
After the lunch break one of the highlights of the conference followed in form of a talk about Clean Code. The talk talked a very important topic in a fun and entertaining way, Victor had a lot of energy while showing code smells and how to avoid them. He provided an example showing how he cleans up code and which parts of code can be skipped. I highly recommend watching this talk, I know I will rewatch it before my next new Java project.
Victor used all the tools from Teddybears to flamethrowers to introduce the topic in an engaging way.
At the end of the day we learned about possible tools for a better productivity and how different tools can work together for more efficiency.
On Wednesday the Conference days started. Here the talks were a bit shorter and it was more about connecting with others and get a brief overview of current technologies and use cases.
This was a welcomed shift of pace as the sessions we easier to digest and really invited me to dig deeper into other topics.
The day started with the welcome Keynote which gave just a brief overview about Devoxx and the different conferences that are held around the globe throughout the year.
Afterwards came a guide to Diversity which focused on the improvements that can be achieved by having a diverse workforce and the needs that everybody has for their work. In the talk the speaker showed the results of different studies and her own personal experience to give to the audience a guide to look for more information and maybe to think about their colleagues.
The last part of the keynote tackled the topic of a highly effective Architect. With some good examples from his experience and with other sources the presenter showed what can be improved to enable others to really work as good architects and how to approach the topic in a broader sense.
Also he put into consideration the amount of time we all spend in our roles and what that does to our mentality towards our job. I really liked this talk as it was entertaining as well as informative and I recommended it to a lot of colleagues already.
Due to some technical difficulties the coffee break after the talks was non existent but that did not matter as the next topic was more technical and really fun to get to know.
It was a short (50 minutes) presentation about the GraalVM and its functions but also the short comings. We were presented with use cases and advantages of the GraalVM in comparison to the normal OpenJDK in addition to some of the limitation. In general the talk disproved some theories about performance but also for use cases and problems when it comes to memory management.
The topic was very inviting and gave the attendees a jump start to this new kind of technology.
Afterwards followed some shorter talks of around 15 minutes about various topics. These ranged from comparisons from different HelloWorld applications till the topic of the Chernobyl nuclear catastrophe.
In addition there was a standup comedy about Quality and how important quality is and what creates bugs. If you have some time during your lunch break and want to have a good laugh, I recommend watching the recording, it is very entertaining.
After this very funny presentation the day continued with another good presentation from Victor (read more about him in the previous day for Clean Code). This time he presented Unit Testing like a Pro.
He approached the topic not only from a coding perspective but also from a design perspective from the application. He made the point, that tests need to hurt. They really have to expose your weakness and not your strong sides of the code.
Also it was taken into consideration, that tests should be written early in the lifecycle of the application and not only late. Mutating code to purposely fail the tests is also one measure to test the code and the test. This ensures, that your test is really working as expected and does not test something meaningless.
The last talk of the day I attended, discussed running Sprint Boot apps on GraalVM. Here one of the Spring developers told what kind of changes had to be done to Spring Boot to support GraalVM and in the process optimising Spring Boot for all developers and not only for GraalVM users. As Spring Boot is known to have a large memory footprint this was a topic very interesting to me as a Spring Boot user without much access to the GraalVM.
Day 4 was similar to Day 3 in terms of structure. There were a lot of 50 minute sessions to choose from and to visit. (Sorry for not having pictures from this day).
Continuing my “quest” to learn more about native apps build with GraalVM I attend a session called “Kubernetes Native Spring apps on Quarkus“. This session focused with live examples on how to build an application with Spring and Quarkus to leverage the existing knowledge about Spring. Afterwards these examples were turned into a scalable microservice running on Kubernetes.
This enables developers to use their existing knowledge with only minor adjustments and still have new applications that are highly scalable, fast and have a low memory footprint.
The next talk about a Faceswap software went into another direction and talked a lot about how machine learning can be used to adjust pictures and videos. It showed nicely that there is no need anymore for expensive Hollywood grade CGI to fool people and fake news or other media.
Knowing these possibilities is not only helpful for intruders but also for others to question what they see if it sounds rather unrealistic.
Next up was a talk from Expedia about their usage of GraphQL to enhance their APIs.
This real life example for GraphQL was interesting to see and also to learn what advantages are to expect.
Cryptography 101 I just had to visit as this is really not my strong suite and I need to learn more about this topic in general and especially for Java development. The talk gave a good overview of the topics to follow up on. Even though this might not be something that you are interested in, nevertheless it is an important topic.
The Java path continued for me and I wanted to hear a real life example of the Java 11 migration path. The talk was full of good examples and an inevitable topic: Java 8 will be deprecated at some time and then we all have to upgrade. I could take some information away for the migration to Java 11 and what is important to look out for.
The last talk of the day tackled the problem of a container platform for banking. As banking is a very secure environment it was very interesting to see how this was done and why. It gave a lot of insights of how the banking industry might change and use containers in the future to get away of their current application stack.
Last but not least on this day, we had the possibility to watch the movie “Terminator: Dark Fate”. This was a really nice closing for me, even though the movie was just fine.
This day was for me a day to travel home and reflect on the around 4,5 hour drive what I learned in the last week.
I got to know many interesting people and found new contacts. For me the visit was definitely worth it and I can only recommend to visit the conference to anybody who has the time and is into Java development.
I have linked all recordings to the talks I have visited for you. If you are interested, you can see all talks as a recording on the Devoxx Youtube channel.