Working as a group, we'll take existing Java code, convert it to Kotlin in IntelliJ, and then refactor the results to idiomatic Kotlin. We'll see how to take advantage of the language to make code smaller, faster and more expressive, whilst at the same time interoperating with your existing application and Java libraries.

In the afternoon we move from the prepared exercises to look at your code, working together to apply the techniques and insights from the morning to real codebases with real constraints. So if you have some code you'd like to start migrating, bring it along.


The prepared exercises cover the following topics and more:

In addition the workshop format provides plenty of opportunity to explore other topics and answer specific questions as they arise.

The Presenters

Nat Pryce co-authored the highly respected book, Growing Object Software Guided by the Tests. Duncan McGregor didn’t, but manages to get by regardless. They have a combined 40 years of programming on the JVM, in applications ranging from real-time video processing to finance.

Duncan and Nat adopted Kotlin while working together in 2015 and presented their experiences to the first London Kotlin Meetup. They then talked about Expressive Kotlin at JetBrains London Kotlin Night in 2016. Duncan presented The Cost of Kotlin Language Features at KotlinConf 2017, and Nat presented Exploring the Kotlin Type Hierarchy from Top to Bottom at KotlinConf 2019.

Workshop History

The workshop is based on sessions for the British Computer Society, SPA Conference and the London Java Community.

It was selected by JetBrains as a KotlinConf 2018 workshop. We are delighted to have been asked to run it again at KotlinConf 2019.

Feedback from Previous Sessions

Workshop Dates

4 December 2019

The workshop is being held as part of KotlinConf 2019 in Copenhagen.

If you are already attending the conference, you can add the workshop to your conference pass.