As software engineers, our only goal is to solve the problem in the most effective way possible. Being pragmatic and understanding the business is crucial for ensuring effectiveness in our field. DDD presents us with a potential path and strategy to follow in this sense. Although, despite its popularity, we can agree that the "blue" book is quite hard to understand and quite unclear regarding ways to put its ideas into action. Luckily, you came to the right place! In this workshop, we will unravel DDD into practical actions when developing Java solutions. We'll cover both strategy and tactics: we'll start a solution case from scratch and cover how several concepts such as bounded context, context maps, and ubiquitous language can be used efficiently. In other words, we'll see in practice why and how these practices can increase the chances of delivering a solution that correctly maps down different business needs and allows us to come up with the best implementation strategies to reflect a business problem into a technical solution. While getting our hands dirty in coding, we'll learn patterns such as entity, value object, repository, and aggregator, applied to Java. Join us on this expedition to finally make an end-to-end domain-driven application, while learning architectural tips, and mixing DDD with other concepts and patterns. Let's create Java solutions with Java, smoothly adopting DDDand coding effectively.

Talk Level:
INTERMEDIATE

Speakers:

Otavio Santana: Otavio is an award-winning software engineer and architect who is passionate about empowering other engineers with open-source best practices to build highly scalable and efficient software. He is a renowned contributor to the Java and open-source ecosystems and has received numerous awards and accolades for his work. Otavio's interests include history, the economy, travel, and fluency in multiple languages, all seasoned with a great sense of humor.

Karina Varela: I work with I.T. since 2009. I am a flexible, experient, versatile, pro-active and self-taught professional who enjoys learning new things and works really well with teams. My background ranges from software development, middleware technologies, to digital transformation and devops. This knowledge was acquired through my career as I worked as an enterprise Developer, Architect, Team Lead, Consultant, Instructor, Speaker, and Engineer. I have a solid experience working close to customers on the field, solving problems and providing the best solutions for each scenario I've been through. I became an enthusiast of digital transformation through business automation. Since 2016, I've been helping customers identifying, architecting, implementing, deploying and t