Domain-Driven Design (DDD) has gained popularity as an approach to building complex software systems. However, misconceptions about DDD can lead to wasted effort and time. In this talk, we will explore common misunderstandings and mistakes related to DDD and provide a clearer understanding of its core principles. While using repositories, services, aggregates, entities, and domain events is quite easy for developers to start with, that doesn’t mean your project succeeds. We will discuss scenarios where DDD is a good fit, as well as situations where it may not be the best approach. By the end of this talk, you will have a better understanding of DDD and be able to avoid common pitfalls when using it in your projects.

Talk Level:

Owner of the software house, I'm a hands-on architect with 18 years of experience, mainly in the Java world. I have experience in mentoring developers and leading teams. My main focus is on creating sustainable solutions (systems that will last for many years). This set me early on the path of learning about software craftsmanship, domain-driven design, and code quality. During my career, I have completed many small and large projects that work in production, interviewed developers, handled communication with customers, helped design architecture for entire systems and delivered them, and introduced many technologies proven in production. I have trained hundreds of people in modern Architecture and Testing. Occasionally, I'm a speaker at conferences related to software development.