DDD Accelerator
Target audiences
- Your scale-up is hiring engineers faster than you can train them.
- You're leading a new project, a modernization of an existing system, or a re-engineering effort, and you want your team to avoid the pitfalls that harmed the old systems.
- You're a freelance software engineer, looking to learn the practices to tackle more complex problems, and increase your impact at your clients.
Remote 4-month training for your engineering team. Quality software design makes your team faster.
Domain-Driven Design stands out as software methodology. It tackles complexity at the local level (in the code), at the system level, and in between systems (integration). It’s never design for the sake of design: by centring on the domain, DDD puts software to work for the business. We’ve created the world’s first complete DDD training program for engineers and engineering teams. During 4 months of weekly modules of 3.5 hours each, your team will grow skilled in Domain-Driven Design, as well as the practices & habits to make DDD work. In a mix of practical and theoretical sessions on test automation, collaboration, design patterns, refactoring, modelling, EventStorming, Context Mapping, and more, they’ll be ready to tackle your organisation’s future challenges.
Teaching Style
- We use Zoom (or similar), Miro (virtual collaborative whiteboard).
- There are a healthy mix of theory and practical group exercises.
- Participants should reserve some time each week to do some individual exercises (about 1h max per week).
- Programming exercises are designed to teach concepts that universal to all Object-Oriented languages. Depending on the context, the exercises use pseudocode, or are available in a number of popular languages, or are designed to not require knowledge of the language used.
- There are collaborative domain discovery and modelling exercises.
- The number of participants per session is limited for exercises that require a lot of interaction with the instructors.
What will you learn during this Course?
- Apply pairing and ensemble programming techniques to improve the effectiveness of your team
- Implement new and improve features with test-driven development
- Know and understand refactoring essentials
- Explain why everything about tactical patterns and use them in your code
- Use design level event storming to model problems into great designs
- Implement the event stormed models into code
- Carry out a big picture event storming to
- Find boundaries and design bounded contexts