Domain-Driven Design
Modeling software on the business domain and its language.
Backend Engineer track
Junior
Write correct code, ship small changes safely, ask good questions.
Nothing here yet.
Mid-level
Own a feature end to end without hand-holding.
- EntityA domain object defined by its identity.
- Ubiquitous LanguageOne shared vocabulary between developers and domain experts.
- Value ObjectA domain object defined only by its values, and immutable.
Senior
Own a system, its failure modes, and its trade-offs.
Core: start here
- Bounded ContextA boundary inside which a model and its terms have one meaning.
- Domain-Driven DesignModeling software closely on the business domain and its language.
7 more senior concepts
- AggregateA cluster of objects treated as one unit for changes.
- Aggregate RootThe single entry point for modifying an aggregate.
- Anemic Domain ModelDomain objects with data but no behavior.
- Anti-Corruption LayerA translation layer protecting your model from another system's.
- Domain EventA record that something meaningful happened in the domain.
- Domain ServiceDomain logic that doesn't belong to any one entity.
- Event StormingA workshop for discovering a domain through its events.
Staff
Shape how many teams build, across systems.
- Context MapHow bounded contexts relate to and integrate with each other.
- Strategic vs Tactical DDDBoundaries and team design vs code-level patterns.
Principal
Set technical direction for the organization.
Nothing here yet.
Frontend Engineer track
Junior
Build UI that works, ship small changes safely, ask good questions.
Nothing here yet.
Mid-level
Own a feature end to end without hand-holding.
- Ubiquitous LanguageOne shared vocabulary between developers and domain experts.
- Value ObjectA domain object defined only by its values, and immutable.
Senior
Own an app's architecture, performance, and failure modes.
- Bounded ContextA boundary inside which a model and its terms have one meaning.
- Domain-Driven DesignModeling software closely on the business domain and its language.
- Event StormingA workshop for discovering a domain through its events.
Staff
Shape how many teams build, across apps.
Nothing here yet.
Principal
Set technical direction for the organization.
Nothing here yet.