The past week, KotlinConf took place in Amsterdam. It was my very first KotlinConf ever, and to be fair I had been excitingly waiting for it for a long time 😊.I'll be trying to share some of my excitement as well as my impressions here. This post is obviously biased, for official news I recommend you directly go to the source!
The first and main reason for me to go to the conference was to meet all the community again, as always. I've had a glimpse of it a couple months back at the GDE summit, but even more people were there this time 😊.
Many known faces of course, from Louis to James, Duncan, Trisha or Amanda, who was also speaker at the very first conference I spoke at (in Belarus, how times change...) but also so many people I know online for a long time and who I finally got to meet. Isa, a content creator from Spain, Sebastian, which content I follow not only because of the Kotlin magic but also to learn more about the craft of content creation itself. And I finally got to meet Margaryta, who introduced me to the GDE program and came with the whole family (seriously though, more kids at conferences!)
Somehow, I still didn't manage to Josh and Svetlana ^^. That'll be for another time.
And of course, there's all the new folks. Most notably Salih, we nerded about developer advocacy and leadership.
The new stuff
The Keynote announcements were quite exciting to be honest. From the announcement of Kotlin Notebooks (been wishing for this for a long time, try them out!), to obviously the K2 compiler and much of the goodies that come with it. The notebooks announcement (as well as some of the ML/AI related talks at the conference) also hint at Kotlin becoming a potential alternative for Python for ML engineers out there in the future. Why not?
I care a lot about the language features but even more about the ecosystem, and seeing more companies joining the Kotlin Foundation was the best news of the day to me. It is a great step for a long living healthy language and I'm sure it'll help drive adoption further.
I really liked all of the sponsors that were present at the event. The venue was also dope for me, with a large Jetbrains booth in the middle stuffed with Product and Engineering folks. After all, Kotlin is a creation of Jetbrains and having the product smack in the middle of everyone with demos running at all times was super cool. Of course, you know me as a big Jetbrains fan so it was really a nerd fest for me.
Sponsors also made a lot of sense, and I liked that they were from various industries and domains. Hardware, Multiplatform, server, small and big companies, they were all represented and that was really cool.
Quite a few of the companies who also have a large impact on the community via their contributions made it a strong part of their booth and I liked it a lot. From Xebia (47deg) with Arrow, Kodein or even http4K, it was nice to have strong players present as well and see industry support for the ecosystem. It is obviously a big PR and recruitment move for them, but hey I find it smart and it's a strong win/win situation in my opinion.
I spent most of my time roaming around talking to people, so I won't describe all of the sessions I joined but instead I want to give some items which I really liked or who caught my attention particularly.
First, I wanna start with the one session which was an absolute blast for me : Video Game Hacking using Kotlin/Native by Ignat Beresnev. It was fun, entertaining, I've learnt stuff, delivery was amazing and the topic was great as well. Surprisingly, it packed a whole lot of punch for a lightning talk. Honestly though, what's more fun that learning about memory hacking and seeing cars appear straight in GTA, all of that in Kotlin. The presentation is full of well timed jokes, and honestly it grew me as a speaker. I can't recommend it enough.
Then, there was the crash course on compilers by my colleague Amanda. Damn, it's impressive to see deep dive talks from people who are really passionate about their craft. Imposter syndrome hit hard there, and the room was absolutely packed! I have to admit that the topic was quite far from my usual dabblings and I'm still unsure what I could build a compiler plugin for ^^, but I've definitely learnt a lot about how Kotlin works under the hood!
Compose, compose and compose
You probably know it, I'm a backend guy. I make do with frontend if I have to, mostly using Web Components. I tried Compose back in the past, mostly for web but I really never got excited about it. I mean, I really do like the components idea and the language is a blast but maybe it was too early. Things weren't documented as much as I wanted to, reloading was slow, tooling wasn't quite there yet, ... I really wasn't reaching the experience that I wanted.
I have to say however that they did manage to hype me up for it again during the conference.
First, Sebastian Aigner adnd Nikita Lipsky announcing Compose Multiplatform on iOS with a banging demo and a flawless (and fun) distribution.
Then John O'Reilly and Martin Bonnin building a Kotlin Multiplatform conference app in 40min live on stage. I mean, of course those speakers rock, they're seasoned and it's clear they're having a blast on stage. But it's also hard not to get seduced seeing so much code reuse between the front and the backend of an app and seeing it run both on android and iOS in minutes.
I also went to see Victor Kropp talk about how they used compose to build the Jetbrains toolbox (use it if you don't yet, it's great!). The toolbox is one application that I quite admire, it's lean and mean while still getting the job done. It's always there for you and damn, it's pretty. So when I learnt it was built using Jetpack Compose for Desktop, my interest for compose obviously grew even more.
Finally, adding the Compose for web demos (using WASM) constantly running on the Jetbrains booth, it's hard not to get a little excited about the future for Kotlin.
How much compose is too much though?
One thing however bothered me a little bit during the conference, is the amount of Kotlin Multiplatform / Android relative to the server content that was present there. In terms of content, sessions, but also sponsors and visitors. I might be biased really, because that's something that I seem to see in the ecosystem already. Let's have a quick look at it.
The numbers I'm about to give are not precise, because the frontier between Multiplatform and backend is not always crystal clear, but if we look at the ~80 talks present at the conference, I counted about 20 compose related talked, and 30 backend related ones. The rest is either compiler, platform, community, ... related.
It's honestly better than I was expecting, much likely because I used the conference as an opportunity to learn more about Compose.
Out of those 30 backend talks though, more than 12 of those are coroutines related one way or another. That's massive and there's clearly something to see here ^^.
If we look at the Kotlin Foundation partners, the Kotlin partners are Jetbrains, Google, and the newly announced ones are Gradle, Shopify and Touchlab.
Of course, all of those are invested in backend as well with Kotlin being the default for backend at Google those days for example. But even keeping Jetbrains apart (even though it obviously is MASSIVELY invested in KMM), touchlabs and shopify are heavily weighting in the KMM ecosystem. And Google is obviously behind most of the Jetpack Compose and Android technologies. That leaves us with Gradle, which arguably is mostly involved in tooling.
It might be too black and white statement, but as far as I see today most of the partners are more influential in the KMM part of the ecosystem.
Obviously, as I mentioned this is a bet that I'd love to see succeed. The more successful KMM is, the better the whole ecosystem will become. At the same time, I can't stop thinking that there is SO MUCH backend Java going on out there, it feels a little like a missed opportunity. Java is also has been getting a fresh look lately with the faster release cadence and the accrued amount of DevRel going on around it. It looks to me like backend folks aren't being seduced by the language as much as they could be.
In any case, KotlinConf was an amazing experience for me, it was really great to be around so many folks in the ecosystem and seeing how vibrant it becomes over time. And a big thanks to Jetbrains for all of the hard work. Definitely count me in for next time :).