Mihăiță (Miță) is an engineer with 15+ years of experience in the tech industry; he has delivered numerous mobile and web applications along the way. He is an avid learner, always on the lookout for the latest developments in the area.
The best software architectures don't start with frameworks. They start with understanding the business.
In this session, we’ll take a real-world inspired use case: a startup company helping friends split expenses using Open Banking APIs. Using strategic design techniques such as impact mapping and event storming we’ll uncover the core business concepts and translate them directly into code. Along the way, we’ll build a modular Spring Boot application structured around business domains rather than framework layers, with modules communicating through Kafka events. But distributed systems are rarely as straightforward as they seem.
The highlight of the session will be a live coding challenge centred on a subtle yet common pitfall: extending a business transaction with an IO operation that can fail. Together, we'll examine the solutions developers typically reach for, explore their impact on customer experience, and uncover the trade-offs hidden beneath the surface.
We'll wrap up with a deep dive into the Transactional Outbox Pattern and see how Spring Modulith helps enforce architectural boundaries, making event-driven systems more modular, reliable and easier to evolve.