DDD Europe 2024 - Program

Take a Mess, Make a Mess, Fix the Mess

Main Conference - Hands-on Lab


Aki Salmi

Aki Salmi
Thursday 30 from 14:30 until 16:30

(This is a hands-on lab with limited capacity)

Ever seen a code that needs modifications, lack tests and you fear touching would break the working software somewhere else? In this Hands On-session, we learn a way to take a mess - a working code that does provide value every single day - turn that code into testable, cover it with tests and then to use a counter-intuitive way to refactor that code into something where domain concepts find their own places while making modifications easy.

Taking an untested mess is a challenge we face in real life. This Hands On-session is based on a series of exercises that can be worked on separately, built into a bigger code challenge. The session goes through the thinking on how to approach such a challenge. Why is it important to add test cases? Why is it important to make the production code testable, in order to be able to test it? Why test readability is so important? And then - how to make a mess to let the design to find it’s shape.

This hands on has 3 concepts

  • How to turn hard-to-test code into easy-to-test code
  • How to write a test case (and why)
  • How to find a business abstraction thinking outside-in


The session is prepared in Typescript/JS, Python and C#.

About Aki Salmi

Aki does not believe in magic. He makes it happen. Being a programmer with very solid technical skills in testing, design and making code fun to work with, he gets stuff done. Someone once said ‘reading his code is like reading a good book.’

In addition to the techy side, he is also well known for the empathetic presence he has - the listening skills are well known and the Empathy@Work workshops he holds are highly valued by the participants.

This unique mix of solid technical skills and emotional IQ, he has lot to share to Software Crafters in the world. And he does that a lot in many unconferences, like the one he runs - Codefreeze.