Workshop - Pragmatic Functional Programming in Kotlin

Thu, 12 Feb, 2026 at 09:30 am to Fri, 13 Feb, 2026 at 05:00 pm UTC+01:00

Office Flock. community | Utrecht

Flock. community
Publisher/HostFlock. community
Workshop - Pragmatic Functional Programming in Kotlin
Advertisement
Dive into Kotlin's pragmatic functional programming with hands-on fun and real-world tips at our in-person workshop!
About this Event

Flock. community is organizing a two day workshop focusing on domain model isolation and pragmatic functional programming! Tech stack is Kotlin, Spring Boot, Arrow, Maven. Seats are limited!
๐Ÿ’ก The domain model is the most critical aspect of your application. To reason about it clearly and accurately, it should be free of implementation details. Thatโ€™s why your controllers and adapters should depend on the domainโ€”and not the other way around. To achieve this, you need to map your data classes to your domain, where type class implementations in Kotlin can be particularly helpful.
๐ˆ๐ฌ ๐ญ๐ก๐ข๐ฌ ๐ž๐š๐ฌ๐ฒ?
โ‰๏ธ Perhaps not, but it is simple.
During the workshop you will learn ๐ญ๐ก๐ซ๐ž๐ž ๐ฌ๐ญ๐ž๐ฉ๐ฌ ๐ญ๐จ ๐ž๐Ÿ๐Ÿ๐ž๐œ๐ญ๐ข๐ฏ๐ž๐ฅ๐ฒ ๐ข๐ฌ๐จ๐ฅ๐š๐ญ๐ž ๐ฒ๐จ๐ฎ๐ซ ๐๐จ๐ฆ๐š๐ข๐ง:
1๏ธโƒฃ ๐Œ๐จ๐๐ฎ๐ฅ๐š๐ซ๐ข๐ณ๐ž ๐ฒ๐จ๐ฎ๐ซ ๐๐จ๐ฆ๐š๐ข๐ง ๐ฅ๐จ๐ ๐ข๐œ
Move your domain classes and business logic to a dedicated module free from external dependencies. While other modules can depend on your domain module, they should remain independent, adhering to the principles of hexagonal architecture.
2๏ธโƒฃ ๐ˆ๐๐ž๐ง๐ญ๐ข๐Ÿ๐ฒ ๐›๐ซ๐ž๐š๐ค๐ข๐ง๐  ๐ฉ๐จ๐ข๐ง๐ญ๐ฌ
Compile your code and observe where issues arise. Typically, repository implementations will face challenges as they no longer have direct access to the business logic. You will learn to resolve this problem, fostering a clean separation of concerns.
3๏ธโƒฃ ๐ƒ๐ž๐œ๐จ๐ฎ๐ฉ๐ฅ๐ž ๐๐š๐ญ๐š ๐ฆ๐จ๐๐ž๐ฅ๐ฌ
Map your inbound and outbound modules to your domain. Itโ€™s crucial to decouple data transfer models from the domain, particularly in the API and SPI modules. Applying hexagonal architecture allows for a clear boundary, preventing the domain model from leaking outside the application, which significantly improves maintainability and testability.
About the teacher
Jerre van Veluw is a software engineer at Flock. He is passionate about application architecture and pragmatic functional programming, which he has implemented for clients such as bol.com, ING, and more recently, the Port of Rotterdam. He's a speaker at conferences and recently spoke at Devoxx Belgium and Kotlin Dev Day.
Why should you attend?
- You're a software engineer working daily in Java / Kotlin codebases
- You're interested in concepts like Domain Driven Design, Functional Programming, Single Responsibility Concern etc.
- You are eager to learn new things

Program
Thursday
09:00 - 09:30 Doors open and registration
09:30 - 09:45 Kick-off and introduction
09:45 - 12:15 Isolate your domain
12:15 - 13:00 Lunch
13:00 - 14:30 Isolate your domain - Continued
14:30 - 16:30 Value classes
16:30 - 17:00 Wrap-up
Friday
09:00 - 09:15 Doors open
09:15 - 12:15 Either Monad - Arrow Library
12:15 - 13:00 Lunch
13:00 - 14:30 Either Monad - Continued
14:30 - 16:30 Api/Spi definitions
16:30 - 17:00 Wrap-up
17:00 Drinks and bites
What do I need to bring?
We will take care of most things. You need to bring/have a laptop with:

  • Your favorite IDE (We use IntelliJ)
  • A JDK installed (We use Temurin-21 installed with sdkman)
  • Docker installed

Thursday

๐Ÿ•‘: 09:30 AM - 12:00 PM
Morning
Host: Jerre van Veluw

Info: A deep dive into isolating your domain; a hands-on approach to refactoring a non-isolated application into one that separates the domain integration layers.


๐Ÿ•‘: 01:00 PM - 05:00 PM
Afternoon
Host: Jerre van Veluw

Info: Continued deep dive and refactor. Highlights around value classes workshop


Friday

๐Ÿ•‘: 09:30 AM - 12:00 PM
Friday
Host: Jerre van Veluw

Info: An in-depth exploration of the Either monad with Arrow


๐Ÿ•‘: 01:00 PM - 05:00 PM
Afternoon
Host: Jerre van Veluw

Info: A bit more monads, API/SPI definitions, wrap-up, and informal drinks and bites to close the workshop.


Advertisement

Event Venue & Nearby Stays

Office Flock. community, Lange Viestraat 2B, Utrecht, Netherlands

Tickets

EUR 995.00

Icon
Concerts, fests, parties, meetups - all the happenings, one place.

Ask AI if this event suits you:

More Events in Utrecht

Oliver Hazard, Trousdale in Utrecht
Wed, 11 Feb at 07:00 pm Oliver Hazard, Trousdale in Utrecht

TivoliVredenburg

Popquiz in Ronda | TivoliVredenburg
Wed, 11 Feb at 08:00 pm Popquiz in Ronda | TivoliVredenburg

Vredenburgkade 11, 3511 WC Utrecht, Netherlands

IBT Conference Keynote (just before the Fiets en Wandelbeurs 2026)
Thu, 12 Feb at 10:00 am IBT Conference Keynote (just before the Fiets en Wandelbeurs 2026)

Koningsbergerstraat 9, 3531 AJ Utrecht, Nederland

Symposium: Farmaceutisch Historische Dag 2026
Thu, 12 Feb at 10:00 am Symposium: Farmaceutisch Historische Dag 2026

Universiteitsbibliotheek Uithof

VSSR roadshow - Utrecht - 12 februari  2026
Thu, 12 Feb at 01:00 pm VSSR roadshow - Utrecht - 12 februari 2026

Wonders of Work (voormalig Seats2meet Utrecht CS)

DCVA & RegMed XB Community Event
Thu, 12 Feb at 02:30 pm DCVA & RegMed XB Community Event

Grand Hotel Karel V

Winemakers dinner 2026
Thu, 12 Feb at 07:00 pm Winemakers dinner 2026

Winkel van Sinkel

Singles speeddate Utrecht | 24-36 jaar
Thu, 12 Feb at 07:30 pm Singles speeddate Utrecht | 24-36 jaar

Anne&Max Utrecht Domstraat

Utrecht is Happening!

Never miss your favorite happenings again!

Explore Utrecht Events