Mastering DDD: A Comprehensive Workshop ExperienceNovember 10, 2023 2023-11-10 13:06
Mastering DDD: A Comprehensive Workshop Experience
Mastering DDD: A Comprehensive Workshop Experience
In the ever-evolving landscape of software development, staying ahead of the curve is crucial. Domain-driven design (DDD) has emerged as a powerful paradigm for building complex systems that align seamlessly with business requirements.
To empower developers and architects with the skills needed to excel in this domain, we present an intensive workshop of 4 days, totaling 11.5 hours of immersive learning.
DDD Workshop Structure and Topics
Phase 0: DDD Overview (1 hour)
The journey kicks off with a swift yet comprehensive one-hour overview of the foundational principles of Domain-Driven Design. Participants will delve into the theory of crucial tactical DDD patterns, setting the stage for a deep dive into practical applications in the subsequent phases.
Phase 1: Modeling a Domain (2 hours)
– Introduction: Setting the context for domain modeling and its significance.
– Practical Exercise: Hands-on engagement to model a domain, putting theoretical knowledge into practice.
– Solution and Rationale: A critical analysis of the solution developed during the practical exercise, elucidating the underlying rationale.
Phase 2 & Phase 3: Kata covering Hexagonal Architecture and DDD Concepts in JAVA (3.5 hours)
Participants will embark on a journey through the intricacies of Hexagonal Architecture and DDD Layered Architecture. This hands-on section covers:
– Hexagonal architecture
– DDD Layered architecture
– Application Layer
– Application Services
– Domain Layer
– Value Objects
– Domain Services
– Infrastructure Layer
– Infrastructure Services
This phase serves as a comprehensive exploration of the architectural principles that form the backbone of robust software systems.
Phase 4: Kata of Outbox/Inbox Pattern in JAVA (2.5 hours)
Diving into Event-Driven Architecture, this section covers:
– Basics in Event-Driven Architecture
– Maintaining the order of events
– Ensuring Data Consistency
– Implementing a Transactional Outbox Pattern
Participants will gain hands-on experience in addressing the complexities of event-driven systems.
Phase 5: Microservices (2.5 hours)
The final phase is dedicated to the intricacies of Microservices, covering:
– Microservice Antipatterns
– Basic Strategies to Split Microservices
– Proper Communication in Microservice Architectures
The workshop concludes with a dedicated Q&A session, allowing participants to seek clarifications and deepen their understanding.
We are proud to have conducted this workshop for industry leaders such as Grifols, MANGO, Data Color, and Roche. These organizations recognize the importance of staying at the forefront of technology, and this workshop equips their teams with the knowledge and skills needed to navigate the complexities of modern software development.
“The trainers are very good; you can tell they are very knowledgeable about the subject. The didactic material is very clear. All the practical part and examples of real-world patterns, in general, the course content has been very good and is adapted to our needs and is fully applicable to a future project.”
Stefano Assardo – Team Engineering Manager at Roche
“The training covered relevant topics with a dynamic instructor who skillfully addressed our questions. The course’s method and curriculum were well-structured, providing practical insights. The trainer’s engaging style made the sessions enjoyable, and I appreciated the flexibility to modify the course path based on emerging questions. Overall, a highly valuable and adaptable learning experience”.
Adrià Rauret – Engineering Director at MANGO
Meet the Trainers
Christian Ciceri is a software architect and co-founder at Apiumhub, a software development company known for software architecture excellence. He began his professional career with a specific interest in object-oriented design issues, with deep studies in code-level and architectural-level design patterns and techniques. Christian is a former practitioner of Agile methodologies, particularly eXtreme programming, with experience in practices like TDD, continuous integration, building pipelines, and evolutionary design.
He is a public speaker and author of the book “Software Architecture Metrics,” which he co-authored with industry experts. In his own words: “A software architect should create a working ecosystem that allows teams to have scalable, predictable, and cheaper production.”
Oscar Lopez is a seasoned software developer with over 15 years of experience, primarily focused on the backend side. His expertise extends to managing engineering teams and mentoring on software architecture, best practices, design patterns, testing, and fostering a DevOps culture. Oscar is passionate about implementing best practices to build secure and scalable applications, with a particular emphasis on Domain-Driven Design and hexagonal architecture.
With a commitment to excellence, Oscar brings a wealth of knowledge in creating robust and efficient software solutions. His dedication to sharing best practices and instilling a passion for secure and scalable application development makes him an invaluable addition to our team of trainers.
Ready to Master DDD?
For those ready to elevate their skills and navigate the complexities of modern software development, sign up for the Domain-Driven Design workshop here. Don’t miss this opportunity to gain invaluable insights and practical knowledge to propel your career forward.