Jfokus 2025 - Day 2
February 6, 2025This was the first regular conference day after yesterday's workshop/pre-conference day. So naturally, the conference was opened with the keynotes.
Keynotes
And boy ... that was quite the opening! The stage had been equipped with actual fire effects and loud metal music kicked off the show. "Welcome to Sweden", I chuckled to myself. Turns out these metal tunes (with geeky, coding-related lyrics) were actually performed by an Italian band called Nanowar of Steel. One of the band members even held a talk at this conference.
Beyond Code: The Role of Developers in the Age of AI
After that entertaining opening, things got a bit more serious and Kesha Williams discussed the question that probably many of use had pondered themselves recently.
"Will AI make us developers obsolete?"
While the talk did not answer this with a clear "yes" or "no", the clear sentiment seems to be that our role will change greatly in the forseeable future. Personally, I very much agree with the speaker that we are most likely the last generation of the classic developer role. What I haven't made my mind up about is how anxious this should make me. But I guess, at the wild pace of progress that we are experiencing right now, I will soon find out.
The Future of Work
The second keynote was also dedicated to the omnipresent topic of AI. This talk by Henrik Kniberg was more on the practical side of things and he showcased a couple of ways how to integrate AI tools and agents into your daily work. The scenarios he demonstrated, highlighted the great productivity gains that AI tools like Claude or Cursor can give us. Again though, I think this session left a lot of people in the audience with anxiety and worries about their future.
Continuations: The magic behind virtual threads in Java
As exciting as AI and its implications are, I mostly avoided talks about this topic during this conference for the sake of my mental wellbeing.
So, for the first session on this day, I decided to deepen my knowledge on Java's virtual threads
and continuation API. The session was very practical and hands-on and the speaker explained these
concepts quite well relying mostly on live-coding, which is a thing that I always appreciate.
I had not been familiar with the continuation API in Java, so I learned a lot and I must say that I quite like the approach they took with it.
The only thing that still puzzles me is why the Java community seemingly goes out of its way to avoid embracing
async/await
into the language. With continuations built in now, I think everything would be in place already to "just have it".
97 Things Every Java Programmer Should Know
This was a fun session. The 2 main authors (Kevlin Henny and Trisha Gee) of the book, equally titled as this session, hosted this. The whole session got then divided into 5 minute slots and both Kevlin and Trisha, as well as 3-4 other co-authors, present at the conference, got a chance to present the chapters they had contributed to this book.
Luckily, I had not forgotten to bring my own copy of the book to the conference and had it signed by the authors.
Real World Lean Java Practices, Patterns, Hacks and Workarounds
I did not really care for this session or rather the speaker's (Adam Bien) attitude, I must say. I had the constant impression that he takes a bit too much joy in being as opinionated and edgy as possible in his technical advice. He threw out statements like "I don't believe in unit tests" and was apparently waiting for reactions or push-back from the audience. Luckily, they did not give him this pleasure.
To me, he gave off the same vibe like a guy in a bar who desperately wants to start a fight while everyone keeps ignoring him.
How does code hot swapping work, and what are its pitfalls?
This was a short (15 minutes) talk by my fellow Dynatrace colleague and team member Marco Sussitz. Marco did a great job explaining in a nutshell how Java byte code transformation at runtime works. In a live sample he demoed how to patch an application's code while it keeps running.
If that's something that floats your boat you might want to check out a job at Dynatrace.
Unlocking Java's Code Maze
I felt that this was a rather lazy approach to doing a conference session. If you Google "Java coding interview questions", make those into a multiple choice quiz and a slide deck, you basically have recreated this talk. While it admittedly can be fun to do this kind of code quizzes, I think it's not enough for a conference session and it feels rather sloppy and lazy.
Caching Unleashed: Revolutionizing Java Performance
This talk should have been listed as a sponsored session, in my opinion. I went into the talk expecting code samples and practical applications, but was presented mostly with marketing slides.
Bonus - Game Dev Stockholm Meetup
A pleasant surprise was that the Stockholm Game Dev community held a meetup on the conference venue. So, instead of heading into Stockholm's nightlife, I chose the nerd-side and stayed for a couple of more talks.
The first Meetup talk was admittedly very well delivered but not exactly what I had hoped for. It was aiming more at the production side (e.g.how to get from idea to execution?) of game development, so not exactly relevant to me.
The second talk though was exactly what I had hoped to learn about. Bona Fyrvall (from Arrowhead Studios) explained the backend architecture of Helldivers 2 in great detail. The .NET enthusiast (at a Java conference, I know 🙈) in me was quite thrilled to learn about the tech stack (ASP.NET, Orleans, CosmosDB) that is driving this game.