Opinionated wrap-up of 2025's Devoxx UK, Geecon, and KotlinConf - JVM Weekly vol. 130
As I already hinted a week (and two weeks) ago, today’s edition will be rather unusual because I’ll use it to recap my conference travels from this May.
However, before we dive into recaps of events that have already happened, there is still one event ahead.
On June 10, 2025, in Warsaw, there will be a free conference called JEurope, which is completely free and will feature several speakers I can wholeheartedly recommend, like Grzegorz Piwowarek and Krystian Zybała. You can't go wrong with these two.
If you happen to be in Warsaw, I recommend checking it out 🙂.
And now, time for the recaps!
Devoxx UK 2025 in London
Let’s start chronologically, with Devoxx UK held at the Business Design Center in London in the first week of May.
After the Devoxx in Belgium, which took place in a cinema (and as you’ll soon find out, I have particular reasons for my fondness of cinemas), the conference in a more typical “conference venue” had a different vibe, somewhat more sterile. At the same time, this meant you didn’t have to squeeze through vendor booths even during breaks between talks, which is certainly a plus.
And those booths were worth visiting. What I like about Devoxx (and what worked well both in the UK and Belgium) is the number of really interesting exhibitors who show up. It is changing nowadays, but in Poland, for years, conferences have mostly served as recruiting events (especially before the latest market reshuffling). However abroad, it’s much easier to find infrastructure/tooling companies, the most prominent player on the market, or just one doing interesting things. Besides the usual Oracle, Red Hat (thanks for the great party, we’ll get back to that!), Snowflake , or Redis booths, there were several others.
For example, Diffblue. Their flagship product, Cover, is an intelligent unit test generator that - surprise! - does not rely on trendy LLMs behind the scenes. Instead, it’s based on solid, "old-school" code analysis, symbolic modeling, and formal methods, as befits a team originating from Oxford University. In other words, while the rest of the world tries to shove ChatGPT grills into toasters, Diffblue quietly does its own thing: reads your Java legacy code, drills through dependencies, and spits out sensible tests using standard models and formal methods. Refreshing, to say the least.
Next one is JFrog, the artifact repository tool you probably know - had maybe not the flashiest, but probably my favorite demo of the whole event: they showed a tool that enables holistic tracking of CVE vulnerabilities (both with UI and CLI). Perhaps the most charming aspect of the entire project was that, despite having GPTs capable of summarizing everything with LLMs, they chose to rely on real human editors to craft a more friendly and approachable version of the recommendations. It’s nice that things like vulnerability instructions still pass through a low-pass filter of human review.
It was also great to see Retool team. I used that tool for a long time; it has a special place in my heart, so it was nice to meet them. You helped me take one product alive to prod once in the past, that's something to be remembered! Recommend at least checking this one if you need some internal tool, it is very easy to set an initial version with Retool, and this is a powerful beast.
Finally, it was wonderful to meet London Java Community team.
To wrap this part up, I must admit I really enjoyed the Arcade contest.
And since Devoxx UK always publishes talks pretty much immediately after they happen, I have a few great ones I attended that I can personally recommend.
Top REST API Design Pitfalls
We are starting here, cause Victor Rentea is Victor Rentea, and every talk of his is great — even when covering apparently obvious stuff like API.
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
Holly Cummins presentation reminds us that code doesn’t live in a vacuum, and above the keyboard hovers a pantheon of seemingly foreign forces.
Statisticians urging us to see data as probabilistic divination, hardware creators adding cores, yelling "parallelize or perish." At the same time, cryptographers scare us with "quantum" hammers that will smash today’s keys tomorrow, and economists remind us that venture capital doesn’t grow on trees, interest rates can crush even the prettiest roadmap, and Jevons paradox means every optimized API will still get flooded with new traffic.
In short, chaos. And a fantastic talk trying to make sense of it all.
Unlocking the Full Power of AI Coding Tools: Practical Advice for Developers
Steve Poole presents a well-known topic from the perspective of a skeptical practitioner who nonetheless tries to find their way in the tool-filled world without falling into hype.
A good, balanced talk.
Writing Greener Software Even When You Are Stuck On-Prem
Perfect for those who say sustainability is old news in 2025 - Charles Humble gives us solid ways to sleep every night a little easier, knowing our app is not quite draining the electricity resources of a small country.
I like the topic, I really enjoyed the delivery, and so did the rest of the audience.
Empathy-Driven Development: The Key to Unlocking True Accessibility?
This talk by Ante Tomić forces us to look at how we design applications in a completely different way and proves that accessibility matters to everyone of us. Again, lots of great examples.
PS: As a bonus, there’s mine too 😅 I talked about the evolution of ARM support in Java and more.
And finally, can’t forget the party (again, thanks RedHat!). To give you a little taste of what it was like, I couldn’t resist sharing a snippet of a concert of the one and only LineBreakers!
What can I say- it’s nerd bliss in classic style 😃. Dylan Beattie , creator of Rockstar language is a true rockstar.
And talking about nerd bliss, my visit to London awakened the Potterhead in me.
Geecon 2025 in Kraków
Our next step is Krakow, City of Dragons.
The second event is local for me (as I'm from Krakow myself), but it is probably my favorite conference ever - geecon was the first industry event I ever had a chance to attend, back in the day, as a participant. At least, that’s how I remember it because I recall watching the first presentations on Vert.x or... REST API in the Kraków Multikino halls.
Can you believe talks about this concept, like REST have once happened at conferences? I remember around 2010, about every other talk was about this topic. It was an MCP of its age.
And as usual, Kraków Multikino filled with people. Greetings to all exhibitors: Clari , Tesco , Allegro, Pegasystems, Sabre Poland and Revolut - great that you help Geecon move forward!
I also have a few great talks from Geecon you should catch upon:
Brief history of Virtual Threads in Java – I really like "overview" talks, and Daniel Kec from Helidon skillfully guided the audience through this one. No surprise, as he’s involved in that particular framework - remember, Helidon Nima is the first one fully supported by Virtual Threads from top to bottom.
Jakarta Data: Simplifying Database Operations for Modern Enterprise Architectures – I know Jakarta is not the sexiest topic, but Jakarta Data is actually quite interesting, and Otavio Santana is a great speaker who extracted a lot of substance from it.
Stream Processing As You’ve Never Seen Before (Seriously): Apache Flink for Java Developers by Viktor Gamov . Kafka + Flink — a really interesting combo of extremely practical technologies. I especially recommend Viktor’s talks at meetups — his 45-minute talk suddenly fills the full runtime and you get tons of goodies.
A way for multi-language refactoring with OpenRewrite by Andrii Rodionov from Moderne, because code modernization seems to be this year’s leitmotif (and you’ll hear more about this later today).
And of course, Gentle Introduction to Lock-Free Programming in Java by Jarosław Pałka and Andrzej Grzesik . I'm breaking the rules here, but even though I missed this one (I have to find to work sometimes as well...), I’m confident about the quality and can't wait to watch the stream. You can't go wrong with these two, and together it was destined to be a blast.
Intrigued? If you want to watch these talks, Geecon gives you this opportunity in exchange for supporting a fundraiser for the hand surgery of Kuba, son of one of the Tri-City JUG organizers - I recommend it. The 2025 recordings aren’t up yet, but the 2024 ones are still very relevant.
Karma’s a boomerang, remember.
PS2: I had my own talk at Geecon, JVM in the Age of AI, but I’ve promoted it so many times I don’t want to bombard you with it again 😉. Simply buy the recordings.

And finally, KotlinConf 2025 in Copenhagen
At last, let’s get to the main event - KotlinConf. Not because I have anything bad to say about the previous conferences, both were darn fun!
But KotlinConf is unique in that its Keynote is not a typical “mindset” talk (as I dare call such presentations), but a full announcement show like you see at Google I/O or Microsoft Build. That’s what makes these events unique - a World Premiere effect. And yesterday there were plenty of those.
Among others, JetBrains released Koog – a framework for gluing AI agents. You get a clean coroutine-based DSL, some plugins (LLM streaming, modular “tools” for external APIs, flight-recorder-like tracking of every agent phase), and you can write a bot in a few lines that calls its own tools, compresses chat history, and returns structured JSON. It looked very elegant and tasty.
Speaking of AI, JetBrains also released to the public Mellum-4b-sft-kotlin - a 4-billion-parameter “LLaMA-style” model trained on over 4 trillion tokens and flavored purely with Kotlin, fitting into a home laptop’s 8192-token window. Instead of chasing 70B+ giants, Mellum focuses on “focal depth” (finish this code, don’t review Shakespeare), and thanks to ollama support, it runs easily locally. On my M1 Pro it’s still slow, but you know - that’s a 5-year-old laptop.
Probably the most spectacular announcement was the pre-alpha release of kotlin-lsp. When Microsoft released the Language Server Protocol in 2016, Kotlin — or rather JetBrains - probably shrugged: who needs LSP when you have the ultimate IDE champion, IntelliJ?
The Kotlin compiler was deeply integrated into the IDE’s guts, and the first usable LSP support was community-driven (fwcd/kotlin-language-server), giving VS Code autocomplete, diagnostics, and hovers by 2018, but with frequent crashes and instability - anyone who used it knows.

At KotlinConf 2025, a pre-alpha LSP server version was shown running not only in VS Code but also in Neovim. JetBrains also announced Kotlin 2.0 will be "IDE-agnostic by design", nicely closing the somewhat monopolistic journey from "LSP? What is that?" to "LSP first-class citizen." Much respect.

JetBrains went all-in and officially married the Spring team, announcing a strategic partnership where Kotlin will be a first-class citizen in the Spring Boot ecosystem: full null-safety throughout the framework, brand-new kotlinx.reflect (so DI won’t crackle like cold fries), DSLs for bean registration, even courses and tutorials written directly in Kotlin. Spring team confirmed on the KotlinConf stage that this is no longer a fling but a "marriage". In short: we got the promise that the backend of the future will be more concise, type-safe, and, well, simply cooler.
As proof, the concurrently held Spring.io and KotlinConf shared exactly the same color scheme — part of the team attended the competing event, and as you can see, it’s hard to tell them apart. The left one is Spring Keynote.

There were more announcements - you can find them all here.
But a conference is not just about the Keynote 😃. There were also lots of great talks by other speakers.
If I have to name my favorite, it was probably Large Scale Changes with AI - Migrating millions of lines of Java to Kotlin at Uber by Ty Smith. I respect the engineering rigor of the whole process and the many techniques ensuring quality in times when many migrations were just copy-pasting to a ChatGPT interface.
I won’t bombard you with out-of-context slides - KotlinConf always shares presentations on their channel. From my side, I suggest watching at least:
From 0 to h-AI-ro: high-speed track to AI for Kotlin developers by Urs Peter - excellent delivery and very good examples, despite the topic you’ve probably seen at least once, after all, it’s 2025 😉
Kotlin and Spring: The modern server side stack by Rod Johnson , where we got a practical project example (RAG, yes, 2025) showing places where Kotlin already wins in Spring applications.
Taming Asynchronous Beasts: Debugging and Performance Tuning in a Coroutine World by Marcin Moskala - debugging coroutines is hard, but this talk will make it at least a bit easier.
Stream Processing Rocks! Stream processing in Kotlin from KStreams to RocksDB by Hunter Sherman and Geoff Gerrietts — streaming remains a hugely important building block of today’s apps, and it’s worth doing well in Kotlin.
And I heard great things about 47 Refactorings in 45 minutes by Duncan McGregor and Dmitry Kandalov. I wasn’t there, but I will watch it for sure - I heard it was funny as hell.
I also had my talk, which didn’t have much Kotlin but let my nerdy soul have a lot of fun breaking down the architecture of the original NES and the nuances of its emulation. You can find the emulator there under ArturSkowronski/kNES and the slides below!
Thanks to everyone who came! The fact that people watched me painfully fail the first two levels of Super Mario Bros on stage warmed my heart.
It was nice to meet lots of cool community projects. There were several exhibitors, but I especially want to greet the team from Koin from Kotzilla .
At the very end, I’ll mention that it’s no secret the star of the whole event was Junie - "she" was everywhere, and there were always queues at the booth where "she" was being showed.
Additionally, KotlinConf announced Junie for GitHub, which will run in the background and perform tasks for us in repositories. Interestingly, there’s no official announcement online yet, but someone already got access (wink wink), and I’ll prepare some tests.
And I respect the design principle. To every complaint that Junie is slow, JetBrains’ team didn’t try to excuse themselves with the usual "we’re working on performance and every version brings X speedup" but honestly said - Junie will be slow. Because it’s not supposed to be fast; it has to be accurate and do its job correctly, which simply takes more time. Somehow, I really respect that approach.
To finish, I’ll leave the topic of the party - why, why, why was there no Karaoke 😃. It was the funniest thing ever.
Still, people seemed to have a great time
At the end: seeing JVM Weekly logo in the Keynote Room - priceless experience. Thank you for chance to be a part of the event!
As a wrap-up - I think we’re reviving the Kraków Kotlin Meetup Group - I got a positive boost after the event.
Plus, we have to do something with the ~100 pins and stickers I got from JetBrains.
PS: Speaking of stickers, I got this gem from Dave Leeds from TypeAlias.
Nice to meet you IRL, Dave! I don’t think anyone has influenced the graphic style and character of this newsletter as much as you.
So if you have a problem with the number of cartoon heroes in red polos and glasses in this newsletter - blame Dave, not me. It’s his fault 🤷
PS2: KotlinConf has the best swag for speakers, no contest. I like every swag, but my face was smiling for half a day.
PS4: I’ll be at Devoxx Poland in June, and there will be some mention here 😃.
We’ll be presenting there with Rafał Maciak , whom I also spent KotlinConf with.
PS5: And yes, I know Java celebrated 30 years — all the best! — but more on that next week 🎉
https://www.slideshare.net/slideshow/build-your-own-nes-emulator-with-kotlin/279560285