Domain driven design (DDD) is an application development methodology that seeks to use the language of the customer/end-user to manage complexity in software architecture. It encourages teams of developers, engineers, and domain experts to analyze requirements, capture customer/end-user pain points, and create applications that meet their needs. DDD promotes an active collaboration between technical and non-technical stakeholders, streamlining the decision-making process and creating models from the ground up that are easier for customers/end-users to understand. At its core, DDD focuses on building clean codebases with a strong focus on delivering end user solutions that are extensible and maintainable over time. When employers ask about DDD during interviews, they generally want to gain a better understanding of how well a candidate can think through systems at high abstraction as well as knowledge around scalability using agile software development principles such as SOLID principles.