Why Spring Boot Feels Smaller in Kotlin
Spring Boot applications often grow into layers of builders, null checks, utility classes, and repetitive mapping code. Kotlin removes much of that weight without replacing it with “magic.”
Join me for a practical introduction to Kotlin from the perspective of a Spring Boot developer. I will show how features like strict nullability, smart casts, extension functions, reified generics, and Kotlin DSLs make backend code safer, smaller, and easier to reason about while still working seamlessly with existing Java codebases.
Along the way, we will look under the hood at what actually happens when Kotlin meets Spring. Why does Spring need the allOpen plugin? What changes when classes become final by default? How does Java interoperability really work? And why do some Kotlin features feel so natural in Spring applications while others can quietly work against you?
I will also share lessons from introducing Kotlin into large production systems, including common mistakes Java developers make early on, how Kotlin’s type system changes everyday coding habits, and how libraries like Mappie, MockK, Kotest, and Exposed fit naturally into the ecosystem.
By the end of the talk, you will understand not just how to write Kotlin in Spring Boot, but why Kotlin changes the way Spring applications feel to build and maintain.
Frederik is a Developer Advocate at JetBrains, passionate about building the best possible products, and regularly presents at international conferences and writes the occasional blog post.
In his free time, he likes to explore programming languages and frameworks, meet and chat with other software enthusiasts, and play with his cats.