Kotlin Meetup in Amsterdam

June 2, 2022

Time for some more talks! We have Functional Error Handling by Bas and Sugar rush of Kotlin for your tests by Mykola. This meetup will be held in the IMC offices.

17:30 Doors open, food and drinks
18:30 IMC & Kotlin – Julien Lehuen
18:40 Functional Error Handling – Bas de Groot
19:30 Short break
19:40 Sugar rush of Kotlin for your tests – Mykola Gurov
20:30 More snacks/drinks
21:00 End

Address:IMC & Kotlin
Julien will quickly introduce the ins and outs of technology at IMC, and mention the place of Kotlin within their technology stacks. We’ll quickly discuss how he’s found Kotlin’s type system and rich language features a great upgrade from pure Java, while still being able to easily interact with all JVM-based “Big Data” technologies and existing Java source code here.

Julien Lehuen
Julien was born and raised in Paris (France), moved to Amsterdam 10 years ago for love, is still in love and also found an awesome job at IMC 9 years ago after internships in web and video-game companies. Within IMC, he has worked in various technical roles, in dev-ops first, performance analysis second, then a stint in strategy software development and now leading the data services team for a couple of years. Julien uses Kotlin for about 4 years now, all in projects that compile into Java bytecode and run with a standard JVM.

Functional Error Handling in Kotlin – A Practical Approach
Functional error handling in Kotlin is gaining traction, and for good reason. Getting help from the compiler in your error handling logic has enormous benefits. Yet, getting started with functional error handling can be daunting as you will encounter complex mathematical concepts like Monads and funky-looking Haskell code.

Lucky for us, we aren’t mathematicians nor Haskellers. If we look at functional error handling through our Kotlin goggles and with a practical mindset, it isn’t scary at all. So that’s what we’ll do during this talk.

Bas de Groot
Anyone can write code that works. The hard part is writing code that’s enjoyable to work with. As a software engineer at Fresh Minds, my focus is on the latter.

In recent years, I’ve designed and built multiple data-intensive applications with Java, Kotlin, and Spring Boot. At the moment, I’m working with a team of Kotlin enthusiasts on projects at Bol.com. In my spare time, you can find me on the tennis court, and despite having grown up in the flattest country on earth, I love to go skiing in the winter.

Sugar rush of Kotlin for your tests
Do your automated tests serve you well? Or does it seem like they are deliberately getting in the way, slowing down any change? Has the “given”’s preparation become an arduous journey littered with shortcuts?

Ever increasing delivery pace raises the bar for test automation quality. Many teams are good at producing decent test coverage, but often at the price of test maintainability, which can quickly become a bottleneck. Advanced testing frameworks like Cucumber, Spock, etc., can bring remedy to some of these pains, but add their own complexity, overhead and compromises.

With the help of such Kotlin features as:

  • named functional parameters
  • default parameter values
  • and especially DSLs (Type-Safe Builders) the expressiveness of tests can be drastically improved.

Add a modern assertion framework like AssertJ – and even the old good JUnit can become a very versatile testing tool for both unit- and functional testing. This demo will show how to use the features of Kotlin to fight the rising complexities of the automated test data preparation. The material is based on real-world experience of using Kotlin for developing and testing of backend micro-services (Kotlin or vanilla Java).

Mykola Gurov
Mykola is a Java (more and more Kotlin nowadays) backend developer at iptiQ. He has a keen interest in continuous delivery, software testing, and everything that helps to move faster without breaking too many things.