📓 Cabinet of Ideas - Spring 2025

(5) Hands on Functional Ddd in Kotlin Linked In

(5) Hands-on Functional DDD in Kotlin | LinkedIn #

Excerpt #

After working on it for the last three years, I’m excited to announce that my book is finally complete. In the last month, I have worked flat out to address all the issues raised by the technical editors. The book is now with the publisher for final formatting and should be available in a couple of months.


After working on it for the last three years, I’m excited to announce that my book is finally complete. In the last month, I have worked flat out to address all the issues raised by the technical editors. The book is now with the publisher for final formatting and should be available in a couple of months.

For those who prefer eBooks, the beta version is already available for purchase here, and you will receive the final version as soon as it’s ready.

I would like to express my gratitude to all the reviewers for their feedback. The latest round of feedback was particularly helpful, and I put in a lot of effort to make the text more coherent and understandable.

I received a wide range of feedback from different reviewers, including experts in the field of Kotlin and functional programming as well as those who are new to these concepts.

It’s pretty neat how every reviewer had their own preferences when it came to what they liked and didn’t like about the book. Some parts of it really resonated with certain reviewers, while others didn’t quite hit the mark.

The book is all about taking a practical approach to using functional programming in a real-life project. Since I believe that Test-Driven Development (TDD) and Domain-Driven Design (DDD) are important components of building a complete application, I’ve dedicated a significant portion of the book to explaining how to incorporate these concepts into a functional approach. This is something that’s often missing from other books on functional programming.

While some reviewers appreciated this pragmatic focus, others would have preferred a book that delved more deeply into functional programming itself. However, that wasn’t really my goal with this book, so I suppose it’s ok.

Last but not least, here’s a selection of feedback from various reviewers. I hope these snippets pique your interest!

Chapter 10 was by far my favorite chapter of the book. Seeing how the events went to database with barely touching the existing code was super elegant. If that doesn’t convince you to go functional then I don’t know. It was awesome.

The approach taken by the author is not completely “pure functional”, so purists may not like it, but it is explained in the key sections why the approach was a little impure, so again rather than a reference about how to write pure functional web application, this book is more about interesting ideas gathered from the author’s field experience that an intermediate/experience developer can analyze and reuse, or decide to go for another solution after the analysis (but yet having analyzed a different point of view).

In summary, I think this is a nice approach of practical application of functional programming: the book shows that it is not the theoretical and academic gibberish most people think :-)

Is the book engaging? Yes, but it is hard work. There are times when it is a bit alienating, for me at least, and I have had to take a break and come back. Occasionally chapters mix disparate ideas, but that’s the nature of taking us through a whole application.

I’ll start from the end. I admit it; I was late; I started reading the book Saturday evening, and I was sure I would not be able to finish in time.  Fast forward to Sunday at 4 PM, and suddenly, I realized that I was almost finished; I put down the book only for a small break at lunch; I wasn’t tired; I was eager to continue after more than 6 hours, I took many notes, not only for this review but also for myself, calling this book engaging is an understatement.

I think the book covers FP concepts very well but also incorporates a lot of real world experience on patterns that Uberto has used and have worked well. Especially the last chapter on designing a functional architecture!

I would definitely recommend it for all people converting from Java to Kotlin as a good way to get involved with the language

All in all, I would definitely recommend it to anyone interested in learning about functional programming. I’m eager to have the paper edition of the book, because it is a book that deserves to be on a shelf.

I recommend this book because it has a step-by-step approach to learning functional programming, applying it to different problems, and using it with a programming language like Kotlin that lets the developer use it as a functional and object-oriented language.