Adopting domain-driven design at scale: Near enemies and how to defeat them
Who is this presentation for?
- Software architects, DDD practitioners, and software leads
Level
Description
For the past decade and a half, DDD has been giving teams the tools to successfully tackle the complexity at the heart of software. But lots of people fail when they try to put its techniques and patterns into practice, especially at scale.
Andrew Harmel-Law and Gayathri Thiyagarajan argue that the “near enemies” of DDD are to blame, things that look like DDD but are in fact counterfeits that push you further away from your goal. You’ll hear the real-life story of a large-scale DDD implementation gone awry. Andrew and Gayathri outline how they took stock of the situation, how they identified the near enemies, and how they defeated them and got everything back on track.
Whether you’re working with serverless, microservices, or a more monolithic architecture (nothing wrong there), this fun talk is for those who want to learn the lessons of implementing DDD at scale with a healthy dose of pitfalls and hazards to watch out for too.
Prerequisite knowledge
- Experience delivering with DDD
What you'll learn
- Gain a checklist of near enemies of DDD, detailed notes on how to spot them, and actionable ways to combat them when they do manifest
- Discover the importance of the fundamentals of DDD—ubiquitous language, hands-on modeling, multiple independent models, and more

Andrew Harmel-Law
ThoughtWorks
Andrew Harmel-Law is a technical principal at ThoughtWorks. Having started his tech career as a presales support engineer with Sun Microsystems, Andrew is old enough to have witnessed the dot-com boom and bust first hand. His recent experiences over the last 13 years have been as a consultant. He has a particular interest in setting dev teams up for success, loves teaching and mentoring, and encouraging diversity in tech. Andrew loves learning new things and is always seeking out people he can learn new skills and gain different perspectives from. Having originally studied neural networks the second time they were cool (in the 1990s) he’s also currently using his spare time struggling to remember his high school math and trying to catch up on all the fuss around deep learning. Andrew has left a trail of blogs strewn across the internet, the most recent being at https://andrewharmellaw.github.io. He also managed to be around at the inception of the Jenkins Job DSL project—his most significant OSS contribution to date.

Gayathri Thiyagarajan
Expedia Group
Gayathri Thiyagarajan is a technology lead at Expedia Group. With over 15 years of experience in delivering scalable, autonomous software applications mainly using Java technologies, she has wide experience working in various domains such as travel, public sector, supplier management, logistics, consumer products, and retail industries. She has wide range of experience doing application design and architecture, specializing in distributed systems for big data and applied domain-driven design (DDD), command query responsibility segregation (CQRS), and event sourcing. She’s working on delivering a big data capture platform for Hotels.com using DDD and event sourcing principles. She’s a proficient speaker at conferences such as Devoxx and muCon and an experienced blogger.
Comments on this page are now closed.
Gold Sponsor
Silver Sponsors
Exhibitor
Innovator
Supporter
Diversity & Inclusion Sponsor
Contact us
confreg@oreilly.com
For conference registration information and customer service
partners@oreilly.com
For more information on community discounts and trade opportunities with O’Reilly conferences
Become a sponsor
For information on exhibiting or sponsoring a conference
pr@oreilly.com
For media/analyst press inquires
Comments
Hi Bernadette – the PDF version of the slides is now available on this page.
Hi Bernadette – thank you for letting us know about the issue. We’ve requested the slides from the speakers and will repost them once we have a new version.
I am unable to open the download of the presentation file. It is in an unreadable format. Can this be corrected, please? Thanks