Real World Kotlin Development Workshop

Topics covered at KOTLIN-01-02
View Schedule & Book More dates available

Next up:


Need a lighter, pragmatic and more concise way of building code, but have an existing Java codebase? Wish there was a better way to avoid NullPointerExceptions? Enjoy the benefits of first-class tooling and industry support? Join this workshop to learn the developer-friendly features of Kotlin.

Kotlin is a statically-typed language for modern multi-platform applications which was built by developers for developers to solve the complexity presented by Java's legacy. Its primary target is the JVM, but it can also be cross-compiled to Javascript and native code using LLVM. Focused on conciseness and interoperability with Java, while also being safe and tool friendly, adopting Kotlin will mean you can continue working on your Java projects with a familiar, pragmatic and clean language, and without abandoning your existing code.

In this real world Kotlin development workshop you'll learn how to take advantage of Java without its verbosity using Kotlin's powerful and accessible features for lighter and more expressive development, how they relate to what you know already, and how to safely, incrementally and seamlessly migrate your existing Java codebases to Kotlin.

Take a deep dive into Kotlin, concentrating on the features of the language designed to have the biggest impact on developer productivity. Gain real experience working with a Java codebase to demonstrate the strengths of the Kotlin language, and highlight some of the common wrinkles developers face in real world projects, leaving you with the confidence to start using Kotlin on your own mobile or server-side applications immediately.

Learn how to:

  • Apply a range of language features to write shorter, straight forward and safer code
  • Take advantage of the practical interoperability with Java to migrate existing code to Kotlin safely and effectively
  • Learn several IntelliJ intentions and refactoring tricks for increased productivity
  • Follow the language's functional approaches and promote immutability and declarative code style

  • What the community says

    "Both, [David and Ivan], were very knowable, approachable, and very keen to share their knowledge."

    Delegate on 2nd Jul 2019

    "Knowledgeable and amenable"

    Tom, HiHi on 28th Feb 2019

    "Exceptional, intuitive and engaging"

    Attendee on 28th Feb 2019

    "Engaging and knowledgeable."




    About the Authors

    David Denton

    A polyglot developer, David specialises in the delivery of distributed JVM-based systems using Lean methodologies. With over 18 years experience working for clients in Finance, Telecoms and Academic Publishing, he is a firm advocate for simple, Test-Driven solutions and empowering teams to deliver them.

    Ivan Sanchez

    Ivan is a developer and coach with over 15 years of commercial experience. He has worked in a variety of industries and has been an advocate of Agile and eXtreme Programming practices over the last decade.


    The real world Kotlin development workshop will be broken down as follows:

    Day 1

    Kotlin initiation

    • Variables
    • Functions
    • Expressions
    • Control structures
    • Classes

    Power Features 1

    • Data classes
    • Nullability
    • Extensions
    • Objects

    Day 2

    Functional programming

    • Collection manipulation
    • Ranges and Progressions
    • Lambdas
    • Receivers (let/apply/with/run)

    Power Features 2

    • Type aliases
    • Operators and infixes
    • Sealed classes hierarchies

    Java interop recap

    • @JvmX annotations
    • Automated conversions
    • Incremental migration


    Are you a developer already using JVM languages such as Scala or Java to deliver either mobile or server-side applications? If so, this Real World Kotlin Development course is for you!


    Having prior experience with Java will be very beneficial for this course. Most of the exercises will use IntelliJ IDEA as the development environment.

    Bring your own hardware

    You are invited to bring your own laptop to this course so that you can learn using an environment you are used to, your preferred tools, languages and IDE, and can focus on learning the new concepts and skills covered in this course.

    Your laptop will need to have IntelliJ Community or Ultimate Edition installed prior to the course start date. Guidance will be available if delegates are not familiar with this IDE. You will also need to have a GitHub account.

    If you are unable to bring your own laptop please let us know at least 2 weeks prior to your attendance of this course so that our team can assist.