Georg Dresler
Tackling Complexity With Functional Programming And Kotlin
#1about 3 minutes
Understanding a complex and unusual feature request
A real-world example of a complex feature request involves an offline form editor that syncs data via JSON embedded in PDF metadata.
#2about 3 minutes
Why traditional try-catch blocks fail for complex errors
Traditional try-catch blocks for error handling either obscure an error's origin or make the code unreadable with excessive boilerplate.
#3about 7 minutes
Using the Either type for robust functional error handling
Replace exceptions with the `Either` sealed class, using `flatMap` to chain successful operations and `fold` to handle the final success or error state.
#4about 4 minutes
Enforcing data validation using private constructors in Kotlin
Use a private constructor combined with a companion object's `invoke` operator to run validation logic upon object creation, preventing invalid states.
#5about 7 minutes
Modeling distinct data states with algebraic data types
Use sealed classes (sum types) to model different states like `Draft` and `Validated`, letting the compiler enforce state-specific logic instead of relying on boolean flags.
#6about 4 minutes
Recap of functional techniques and audience Q&A
A summary of using `Either` for errors, private constructors for validation, and ADTs for state, followed by a Q&A on libraries like Arrow and custom exceptions.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
02:53 MIN
Modern object orientation with Kotlin data classes
Moving from Java to Kotlin
09:38 MIN
Using Kotlin Coroutines to simplify complex reactive code
Back(end) to the Future: Embracing the continuous Evolution of Infrastructure and Code
13:51 MIN
Real-world applications of functional programming
A Guide To Functional Programming
06:50 MIN
Leveraging functional programming with first-class functions
Moving from Java to Kotlin
46:13 MIN
Audience Q&A on Kotlin features and learning resources
Route from Java to Kotlin
12:57 MIN
Creating reusable UI components with Kotlin extension functions
How to kill JavaScript from your Stack with HTMX and Kotlin
19:25 MIN
Audience Q&A on functional programming concepts
A Guide To Functional Programming
00:02 MIN
Introduction to Kotlin and its Java interoperability
Route from Java to Kotlin
Featured Partners
Related Videos
Algebraic Data Types + Pattern Matching = Elegant and readable Java code
Balkrishna Rawool
Moving from Java to Kotlin
Urs Peter
Typed Security: Preventing Vulnerabilities By Design
Michael Koppmann
Route from Java to Kotlin
Christian Woerz
A Guide To Functional Programming
Jemima Abu
Why Kotlin is the better Java and how you can start using it
Iris Hunkeler
Java Sealed Classes vs. Kotlin Sealed Classes #Slideless
Lothar Schulz
F#, path to functional enlightenment
Onur Gumus
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.


Software Developer (m/w/d) | Kotlin, Java, SQL
Uniwunder GmbH
Dresden, Germany
Intermediate
Senior
Java
Kotlin

Softwareentwickler Java / Kotlin (w/m/d) / Bielefeld
Saby Company
Delebio, Italy
Intermediate
Java
Docker
Kotlin
Groovy
Node.js
+2

Android App Developer / Entwickler - Kotlin & Jetpack Compose (m/w/d)
Aufmaster GmbH
Frankfurt, Germany
Intermediate
Senior
GIT
Kotlin



Kotlin Software-Entwickler | Kotlin, Datenbanken, Frameworks, SCRUM | bis 60% Home-Office (mwd)
Vesterling Consulting GmbH
Remote
€55-80K
Intermediate
Kotlin
PostgreSQL
Microsoft Office
+1

Kotlin Software-Entwickler | Kotlin, Datenbanken, Frameworks, SCRUM | bis 60% Home-Office (mwd)
Vesterling Consulting GmbH
Remote
€55-80K
Intermediate
Kotlin
PostgreSQL
Microsoft Office
+1

Full-Stack Software Entwickler (Kotlin-Angular)
Fincons Group Ag
Bern, Switzerland
Kotlin
Openshift
PostgreSQL
Continuous Integration