Sanat is a backend engineer currently working at N26. He has 5 years of experience of developing distributed microservices and large enterprise applications using JVM-based languages. He is passionate about functional programming and different architectural patterns and trying to apply them on daily basis.
Natural partners: Kotlin and Domain Driven Design
Domain Driven Design, or DDD, is a methodology or an approach in software development that emphasises the importance of getting your Domain or business logic right. It is becoming more and more popular, because DDD is powerful pattern that eases communication between engineers (through the code) and the business (using a Ubiquitous language). In this talk, we will explore apparent contradictions where applying DDD practices counter Kotlin’s approach, and how we found ways to work around them. Examples we explore is how we resolve DDD’s mutable and Kotlin’s immutable ideas or how to best isolate business logic in composable ways. This session will demonstrate how to naturally befriend Kotlin and DDD, challenges we faced on our way and useful tricks and tips.