# domain-driven-design

Published articles for domain-driven-design.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Domain-Driven Design Clearly Explained

DevFeed: [Domain-Driven Design Clearly Explained](<https://devfeed.tech/articles/domain-driven-design-clearly-explained-18025.md>)

Original publisher: [Read original article](<https://blog.levelupcoding.com/p/domain-driven-design-clearly-explained>)

Author: Nikki Siapno

Published: 2026-09-12T12:52:28Z

Content type: tutorial

Language: en

Sources: [Level Up Coding System Design Newsletter](<https://devfeed.tech/sources/level-up-coding-system-design-newsletter.md>)

Topics: [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Code](<https://devfeed.tech/topics/code.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [concepts](<https://devfeed.tech/tags/concepts.md>), [developers](<https://devfeed.tech/tags/developers.md>), [domain](<https://devfeed.tech/tags/domain.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [model](<https://devfeed.tech/tags/model.md>), [patterns](<https://devfeed.tech/tags/patterns.md>)

### AI overview

An introduction to Domain-Driven Design (DDD), explaining how shared business language and bounded contexts help teams model complex products and keep code aligned with the domain.

### Source excerpt

The mental model that makes DDD click.

## Agentic code workflows with Nick Tune

DevFeed: [Agentic code workflows with Nick Tune](<https://devfeed.tech/articles/agentic-code-workflows-with-nick-tune-38683.md>)

Original publisher: [Read original article](<https://newsletter.techworld-with-milan.com/p/agentic-code-workflows-with-nick>)

Author: Dr Milan Milanović

Published: 2026-03-26T16:01:37Z

Content type: article

Language: en

Sources: [Tech World With Milan Newsletter](<https://devfeed.tech/sources/tech-world-with-milan-newsletter.md>)

Topics: [agentic-coding](<https://devfeed.tech/topics/agentic-coding.md>), [ai-coding](<https://devfeed.tech/topics/ai-coding.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Code quality](<https://devfeed.tech/topics/code-quality.md>), [code reviews](<https://devfeed.tech/topics/code-reviews.md>), [Test-driven development](<https://devfeed.tech/topics/tdd.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [Continuous Delivery (CD)](<https://devfeed.tech/topics/continuous-delivery.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [agentic-coding](<https://devfeed.tech/tags/agentic-coding.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [ai-tools](<https://devfeed.tech/tags/ai-tools.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [cli](<https://devfeed.tech/tags/cli.md>), [code-quality](<https://devfeed.tech/tags/code-quality.md>), [code-reviews](<https://devfeed.tech/tags/code-reviews.md>), [continuous-delivery](<https://devfeed.tech/tags/continuous-delivery.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [migration](<https://devfeed.tech/tags/migration.md>), [requirements](<https://devfeed.tech/tags/requirements.md>)

### AI overview

An interview with Nick Tune about advanced agentic coding workflows. It covers planning requirements, modeling development as a tested state machine, implementing features with Claude Code and guardrails, enforcing architecture rules deterministically, reviewing pull requests, applying TDD, and using custom tooling.

### Source excerpt

Most engineers who talk about AI productivity talk in abstractions.

## Building a Global, Event-Driven Platform: Our Ongoing Journey, Part 1

DevFeed: [Building a Global, Event-Driven Platform: Our Ongoing Journey, Part 1](<https://devfeed.tech/articles/building-a-global-event-driven-platform-our-ongoing-journey-part-1-20442.md>)

Original publisher: [Read original article](<https://vinted.engineering//2026/01/09/building-global-event-driven-platform-part-1/>)

Author: Dejan Menges

Published: 2026-01-09T00:00:00Z

Content type: article

Language: en

Sources: [Vinted](<https://devfeed.tech/sources/vinted.md>)

Topics: [event driven](<https://devfeed.tech/topics/event-driven.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Software](<https://devfeed.tech/topics/software.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [ddd](<https://devfeed.tech/tags/ddd.md>), [development](<https://devfeed.tech/tags/development.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [latency](<https://devfeed.tech/tags/latency.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [scale](<https://devfeed.tech/tags/scale.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

Vinted describes why its growing platform outgrew a monolithic architecture, citing regional latency, unpredictable load, large failure domains, and tangled responsibilities. The article outlines the use of Domain-Driven Design to identify domains and guide team and architecture restructuring, followed by a move toward event-driven communication and sagas.

### Source excerpt

A few years ago, our platform reached a point where the way we'd always built software simply wasn't enough anymore. The monolith that powered our early success had served us well, but as the business expanded across the continent, it started showing real limits. Global growth forced us to confront problems we couldn't ignore: latency across regions, unpredictable load patterns, and an architecture that didn't match the scale of the company. We needed to rethink how the entire system worked, from the shape of our data to the boundaries between teams.

## Building a Global, Event-Driven Platform: Our Ongoing Journey, Part 2

DevFeed: [Building a Global, Event-Driven Platform: Our Ongoing Journey, Part 2](<https://devfeed.tech/articles/building-a-global-event-driven-platform-our-ongoing-journey-part-2-20443.md>)

Original publisher: [Read original article](<https://vinted.engineering//2026/01/09/building-global-event-driven-platform-part-2/>)

Author: Dejan Menges

Published: 2026-01-09T00:00:00Z

Content type: article

Language: en

Sources: [Vinted](<https://devfeed.tech/sources/vinted.md>)

Topics: [event driven](<https://devfeed.tech/topics/event-driven.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [data](<https://devfeed.tech/topics/data.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [network](<https://devfeed.tech/tags/network.md>), [replication](<https://devfeed.tech/tags/replication.md>)

### AI overview

Part 2 of Vinted's engineering account describes operating an event-driven platform across continents. It explains the choice to centralize writes while replicating read-only projections globally, accepting eventual consistency to provide local reads and avoid the complexity and cost of multi-writer sharding. The article also discusses designing projections to tolerate replication delays and partial failures.

### Source excerpt

In the first part, we described how growth pushed us beyond the limits of the monolith and forced us to rethink our architecture from the ground up. We explored how Domain Driven Design helped us uncover clear boundaries, and how shifting from synchronous calls to events and sagas changed the way the system behaves under real distributed conditions. With that foundation in place, we can now focus on what it takes to run this platform reliably across continents.

## What Should Repositories Return in Domain-Driven Design?

DevFeed: [What Should Repositories Return in Domain-Driven Design?](<https://devfeed.tech/articles/what-should-repositories-return-in-domain-driven-design-39768.md>)

Original publisher: [Read original article](<https://furkankolcu.com/post/what-should-repositories-return-in-domain-driven-design>)

Author: Furkan Kolcu

Published: 2025-09-09T16:41:47Z

Content type: article

Language: en

Sources: [Furkan Kolcu - Software Engineer Blog](<https://devfeed.tech/sources/furkan-kolcu-software-engineer-blog.md>)

Topics: [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Repositories](<https://devfeed.tech/topics/repositories.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>)

Tags: [aggregates](<https://devfeed.tech/tags/aggregates.md>), [clean-architecture](<https://devfeed.tech/tags/clean-architecture.md>), [design-patterns](<https://devfeed.tech/tags/design-patterns.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [domain-driven-design-ddd](<https://devfeed.tech/tags/domain-driven-design-ddd.md>), [examples](<https://devfeed.tech/tags/examples.md>), [lightweight](<https://devfeed.tech/tags/lightweight.md>), [practical](<https://devfeed.tech/tags/practical.md>), [repositories](<https://devfeed.tech/tags/repositories.md>), [repository-pattern](<https://devfeed.tech/tags/repository-pattern.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

This article examines what repositories should return in Domain-Driven Design. It compares aggregates, DTOs or arrays, and primitives or special results, concluding that repositories should return aggregates when domain behavior is needed and primitives when they express valid domain-level answers.

### Source excerpt

Repositories are a core part of Domain-Driven Design, but what they should return is often debated. Should it be aggregates, DTOs, or simple values? In this post, I share practical guidelines, examples, and tradeoffs to help clarify how to keep repositories focused on serving the domain.

## Angular Architecture Guide To Building Maintainable Applications at Scale

DevFeed: [Angular Architecture Guide To Building Maintainable Applications at Scale](<https://devfeed.tech/articles/angular-architecture-guide-to-building-maintainable-applications-at-scale-21398.md>)

Original publisher: [Read original article](<https://nx.dev/blog/architecting-angular-applications>)

Author: Juri Strumpflohner

Published: 2025-03-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [design](<https://devfeed.tech/tags/design.md>), [development](<https://devfeed.tech/tags/development.md>), [domain](<https://devfeed.tech/tags/domain.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [key-angular](<https://devfeed.tech/tags/key-angular.md>), [key-architecture](<https://devfeed.tech/tags/key-architecture.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [modular](<https://devfeed.tech/tags/modular.md>), [nx](<https://devfeed.tech/tags/nx.md>), [scalable-architecture](<https://devfeed.tech/tags/scalable-architecture.md>), [scale](<https://devfeed.tech/tags/scale.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [structure](<https://devfeed.tech/tags/structure.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

A guide to architecting maintainable Angular applications at scale. It explains modular design, clear boundaries, dependency decoupling, layered and vertical architectures, and organizing code around business domains.

### Source excerpt

Learn how to build scalable Angular applications using domain-driven design, clear boundaries, and Nx tooling for better maintainability and team collaboration.

## Deployment-Driven Development

DevFeed: [Deployment-Driven Development](<https://devfeed.tech/articles/deployment-driven-development-22995.md>)

Original publisher: [Read original article](<https://bravenewgeek.com/deployment-driven-development/>)

Published: 2024-11-11T22:57:13Z

Content type: article

Language: en

Sources: [Brave New Geek](<https://devfeed.tech/sources/brave-new-geek.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [software-architecture](<https://devfeed.tech/topics/software-architecture.md>), [Platform Engineering](<https://devfeed.tech/topics/platform-engineering.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Tech Debt](<https://devfeed.tech/topics/tech-debt.md>), [sdlc](<https://devfeed.tech/topics/sdlc.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [ddd](<https://devfeed.tech/tags/ddd.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [deployment-driven-development](<https://devfeed.tech/tags/deployment-driven-development.md>), [development-process](<https://devfeed.tech/tags/development-process.md>), [devops](<https://devfeed.tech/tags/devops.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [konfigurate](<https://devfeed.tech/tags/konfigurate.md>), [platform-engineering](<https://devfeed.tech/tags/platform-engineering.md>), [qa](<https://devfeed.tech/tags/qa.md>), [sdlc](<https://devfeed.tech/tags/sdlc.md>), [security](<https://devfeed.tech/tags/security.md>), [tech-debt](<https://devfeed.tech/tags/tech-debt.md>)

### AI overview

The article introduces Deployment-Driven Development as a complement to Domain-Driven Design, focusing on delayed feedback and delivery obstacles that affect software architecture, testing, security, compliance, and production readiness.

### Source excerpt

Most people use "DDD" to refer to Domain-Driven Design, which is a useful tool for thinking about API boundaries and system architecture. It provides a way to map a business problem into software. At Real Kinetic, we regularly help our clients utilize Domain-Driven Design as well as other strategies to architect their systems, avoid some of the pitfalls of DDD, and build an effective foundation for designing software. But this DDD only speaks to one small aspect of building and shipping software.

## Modernizing monoliths with Temporal

DevFeed: [Modernizing monoliths with Temporal](<https://devfeed.tech/articles/modernizing-monoliths-with-temporal-35919.md>)

Original publisher: [Read original article](<https://temporal.io/blog/modernizing-monoliths-with-temporal>)

Author: Meagan Speare

Published: 2024-10-30T04:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>)

Tags: [cognitive-load](<https://devfeed.tech/tags/cognitive-load.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [modernizing](<https://devfeed.tech/tags/modernizing.md>), [monolith](<https://devfeed.tech/tags/monolith.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [temporal-concepts](<https://devfeed.tech/tags/temporal-concepts.md>)

### AI overview

This article explains how Temporal can help teams modernize monolithic systems without immediately breaking them into microservices. It recommends understanding the monolith through domains, bounded contexts, entities, relationships, and a shared language, while discussing motivations such as agility, scalability, cognitive load, quality, unclear responsibilities, and time to value.

### Source excerpt

Break down your monolith, or improve your monolith, by adopting Temporal

## Introduction to Domain-Driven Design and Domain Models

DevFeed: [Introduction to Domain-Driven Design and Domain Models](<https://devfeed.tech/articles/from-database-to-domain-elevating-software-development-with-ddd-introduction-30792.md>)

Original publisher: [Read original article](<https://devblog.kogan.com/blog/from-database-to-domain-ddd-introduction>)

Author: Renlester De Guzman

Published: 2024-02-27T05:18:38Z

Content type: tutorial

Language: en

Sources: [Kogan.com](<https://devfeed.tech/sources/kogan-com.md>)

Topics: [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [database](<https://devfeed.tech/tags/database.md>), [ddd](<https://devfeed.tech/tags/ddd.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [leadership](<https://devfeed.tech/tags/leadership.md>), [process](<https://devfeed.tech/tags/process.md>)

### AI overview

An introduction to Domain-Driven Design (DDD), covering its focus on business models, core domain-model concepts, and the contrast between domain-level and database-level business logic.

### Source excerpt

In the complex landscape of software development, aligning design methodologies with business needs is crucial. Domain-Driven Design (DDD) emerges as a key approach in addressing this alignment, especially in projects characterized by intricate business rules and processes. This methodology stands in contrast to traditional practices, such as embedding business logic within databases, offering a more adaptable and business-focused perspective. Section 1: Understanding Domain-Driven Design Definition and Focus DDD is centered around developing software that intricately reflects the business models it aims to serve. It emphasizes a deep understanding of the business domain, ensuring that the software development process is driven by this knowledge, thereby facilitating a common language between developers and business stakeholders. History and Evolution Pioneered by Eric Evans, DDD has grown from a set of principles into a comprehensive approach, widely recognized for its ability to tackle complex business challenges through software. Aligning Design with Business Needs The essence of DDD lies in its focus on business-relevant software development, a principle that aligns closely with the need for software to be adaptable and directly linked to business objectives. Section 2: Core Concepts of Domain-Driven Design In DDD, concepts like Entities, Value Objects, Aggregates, Domain Events, Repositories, and Bounded Contexts form the foundation of a robust domain model. Entities and Value Objects: Entities are defined by their identity, playing a crucial role in maintaining business continuity, while Value Objects add depth and integrity to the domain model. Domain Model vs Database-Level Logic The decision to embed business logic in the domain model rather than in the database is pivotal. Traditional database-centric approaches can lead to scalability challenges and obscure the business logic from the development team. A domain-centric approach, as proposed by DDD, enhanc

## Microservices in AWS: Migrating from a Monolith

DevFeed: [Microservices in AWS: Migrating from a Monolith](<https://devfeed.tech/articles/microservices-in-aws-migrating-from-a-monolith-18014.md>)

Original publisher: [Read original article](<https://blog.guilleojeda.com/microservices-in-aws-migrating-from-a-monolith>)

Author: Guillermo Ojeda

Published: 2023-08-29T01:36:01Z

Content type: article

Language: en

Sources: [Guille Ojeda](<https://devfeed.tech/sources/guille-ojeda.md>)

Topics: [Microservice](<https://devfeed.tech/topics/microservice.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [API](<https://devfeed.tech/topics/api.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [aws](<https://devfeed.tech/tags/aws.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [domain](<https://devfeed.tech/tags/domain.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [enterprise-architecture](<https://devfeed.tech/tags/enterprise-architecture.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [programming](<https://devfeed.tech/tags/programming.md>), [rest](<https://devfeed.tech/tags/rest.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>)

### AI overview

An article introducing microservices and explaining their defining characteristics: bounded-context ownership, independent construction, deployment and scaling, and communication through clearly defined APIs. It also cautions that microservices are not necessary for most applications.

### Source excerpt

The first rule about microservices is that you don't need microservices (for 99% of applications). They were invented as a REST-based implementation of Service-Oriented Architectures, which is an XML-based Enterprise Architecture pattern so complex t...

## Durable Digest: May 2023

DevFeed: [Durable Digest: May 2023](<https://devfeed.tech/articles/durable-digest-may-2023-35806.md>)

Original publisher: [Read original article](<https://temporal.io/blog/durable-digest-may-2023>)

Author: Temporal Technologies

Published: 2023-05-23T00:00:00Z

Content type: news

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [releases](<https://devfeed.tech/topics/releases.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [audit](<https://devfeed.tech/topics/audit.md>), [Learning](<https://devfeed.tech/topics/learning.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [DevOps](<https://devfeed.tech/topics/devops.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Go](<https://devfeed.tech/topics/go.md>), [Java](<https://devfeed.tech/topics/java.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [audit](<https://devfeed.tech/tags/audit.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [course](<https://devfeed.tech/tags/course.md>), [debug](<https://devfeed.tech/tags/debug.md>), [developer](<https://devfeed.tech/tags/developer.md>), [devops](<https://devfeed.tech/tags/devops.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [releases](<https://devfeed.tech/tags/releases.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

Temporal's May 2023 Durable Digest covers upcoming public previews for Schedules and audit logging in Temporal Cloud, Temporal Cloud updates, Replay conference news, Temporal training, and developer resources including a Temporal 102 course with Go.

### Source excerpt

Explore Temporal's latest developer updates: questions from the field, new releases, builder spotlights, learning resources, and ways to connect with our team.

## How a strategically designed data platform elevates product outcomes

DevFeed: [How a strategically designed data platform elevates product outcomes](<https://devfeed.tech/articles/how-a-strategically-designed-data-platform-elevates-product-outcomes-20030.md>)

Original publisher: [Read original article](<https://technology.doximity.com/articles/how-a-strategically-designed-data-platform-elevates-product-outcomes>)

Author: Doximity

Published: 2022-12-09T16:00:00Z

Content type: article

Language: en

Sources: [Doximity](<https://devfeed.tech/sources/doximity.md>)

Topics: [data-engineering](<https://devfeed.tech/topics/data-engineering.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Data Infrastructure](<https://devfeed.tech/topics/data-infrastructure.md>), [data observability](<https://devfeed.tech/topics/data-observability.md>)

Tags: [building](<https://devfeed.tech/tags/building.md>), [data-engineering](<https://devfeed.tech/tags/data-engineering.md>), [data-infrastructure](<https://devfeed.tech/tags/data-infrastructure.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [engineering](<https://devfeed.tech/tags/engineering.md>)

### AI overview

Doximity describes organizing its data function around cross-functional product teams that combine data analysts, data engineers, and product managers. The article contrasts this model with functionally separated data teams and argues that domain-focused ownership better supports data-driven products.

### Source excerpt

If this article piques your interest and you would like an opportunity to do your best data work in a unique and truly data-driven environment, you're in luck: ⚡ we're hiring! ⚡ Building a company where data is fundamental has resulted in many unique challenges--one of which is how to organize our data teams. But before diving into Doximity's data team structure, let's set the stage. Doximity is commonly mentioned as the "LinkedIn for doctors" and although partially accurate it only captures a portion of our story. Today, Doximity assists medical professionals with career navigation, secure peer-to-peer communication, telehealth (Dialer), medical news and research discovery, Locum Tenens opportunities (Curative), and, most recently, clinical scheduling (Amion). I like to say that we are more of a Swiss army knife for medical professionals. Already unique in terms of our offerings and network, which includes over 2 million U.S. healthcare professionals, including over 80% of U.S. physicians, we are also unique in that we are a profoundly data-driven company. Not only do we leverage data for business intelligence and decision support, but data directly drives the majority of our products. Through talking with industry peers, it is my experience that even in today's increasingly data-driven world, many organizations still leverage an older strategy for organizing their data teams. In short, most companies have a data analyst team and a data engineering team. The division is purely functional, and if there's a need for data infrastructure, you will often find it managed by members of the general operations team. Being big proponents of domain-driven design we do not believe it is possible to achieve the best performance for modern high-performance data organizations using this model. Instead, at Doximity, we have multiple cross-functional product teams where each team is responsible for a specific product (or part of a product). These product teams are generally composed

## The Graph Architect's Guide to GraphQL Summit 2022

DevFeed: [The Graph Architect's Guide to GraphQL Summit 2022](<https://devfeed.tech/articles/the-graph-architect-s-guide-to-graphql-summit-2022-23539.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/the-graph-architects-guide-to-graphql-summit-2022>)

Author: Melissa Annecchini

Published: 2022-09-15T17:36:41Z

Content type: article

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [schema design](<https://devfeed.tech/topics/schema-design.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Elixir](<https://devfeed.tech/topics/elixir.md>), [Java](<https://devfeed.tech/topics/java.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [apis](<https://devfeed.tech/tags/apis.md>), [apollo-federation](<https://devfeed.tech/tags/apollo-federation.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [elixir](<https://devfeed.tech/tags/elixir.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [java](<https://devfeed.tech/tags/java.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [product](<https://devfeed.tech/tags/product.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [summit](<https://devfeed.tech/tags/summit.md>), [techniques](<https://devfeed.tech/tags/techniques.md>)

### AI overview

This Apollo blog promotes GraphQL Summit 2022 for graph architects and previews sessions on federated supergraph architecture, Apollo Federation, subgraph development across several languages, and large-scale GraphQL schema design.

### Source excerpt

Calling all graph architects! If you are looking for inspiration, best practices, and help building or scaling your organization's supergraph architecture, then this blog is for you. Read on for your graph architect's guide to GraphQL Summit 2022. #ICYMI: GraphQL Summit 2022 is back in person October 3-5 in San Diego for 3 days of surf, sun, and all things GraphQL. Register today to avoid all the FOMO.

## Apollo introduces supergraph professional services by Xolvio

DevFeed: [Apollo introduces supergraph professional services by Xolvio](<https://devfeed.tech/articles/apollo-introduces-supergraph-professional-services-by-xolvio-23195.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/apollo-introduces-supergraph-professional-services-by-xolvio>)

Author: Marc Berman

Published: 2022-07-27T10:52:00Z

Content type: release

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [announcement](<https://devfeed.tech/tags/announcement.md>), [apollo](<https://devfeed.tech/tags/apollo.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>)

### AI overview

Apollo announces a partnership with Xolvio to provide professional services for customers scaling GraphQL supergraphs. The services include capability assessments, roadmap development, schema design, microservice migration, REST integration, federated supergraph implementation, and CI/CD integration.

### Source excerpt

Our main objective at Apollo is to ensure every company can build a successful supergraph. As part of the effort, we're committed to ensuring a thriving supergraph ecosystem of solutions and technology partners that make it possible for companies to scale their supergraphs. I'm excited to announce that we are partnering with Xolvio to provide professional services for customers needing additional help scaling their supergraphs.

## Service Architecture at SoundCloud -- Part 2: Value-Added Services

DevFeed: [Service Architecture at SoundCloud -- Part 2: Value-Added Services](<https://devfeed.tech/articles/service-architecture-at-soundcloud-part-2-value-added-services-2135.md>)

Original publisher: [Read original article](<https://developers.soundcloud.com/blog//service-architecture-2>)

Published: 2021-08-20T00:00:00Z

Content type: article

Language: en

Sources: [SoundCloud Backstage Blog](<https://devfeed.tech/sources/soundcloud-backstage-blog.md>)

Topics: [BFF](<https://devfeed.tech/topics/bff.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Amazon API Gateway](<https://devfeed.tech/topics/amazon-api-gateway.md>), [Resilience](<https://devfeed.tech/topics/resilience.md>), [backends](<https://devfeed.tech/topics/backends.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [bff](<https://devfeed.tech/tags/bff.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [resilience](<https://devfeed.tech/tags/resilience.md>)

### AI overview

This article describes SoundCloud's move from a BFF-heavy service architecture to Value-Added Services. It explains the Edge, Value Added, and Foundation layers, then introduces domain-driven design concepts such as domains, entities, value objects, and aggregates. Value-Added Services combine these building blocks to return aggregates to callers while reducing duplicated code and dispersed business and authorization logic.

### Source excerpt

This article is part of a series of posts aiming to cast some light onto how service architecture has evolved at SoundCloud over the past...

## Structural and navigation anti-patterns in modularized Android applications

DevFeed: [Structural and navigation anti-patterns in modularized Android applications](<https://devfeed.tech/articles/structural-and-navigation-anti-patterns-in-modularized-android-applications-25933.md>)

Original publisher: [Read original article](<https://proandroiddev.com/structural-and-navigation-anti-patterns-in-modularized-android-applications-a7d667e35cd6?source=rss-7a8d96da8cb6------2>)

Author: Gabor Varadi

Published: 2020-12-25T11:38:05Z

Content type: article

Language: en

Sources: [Stories by Gabor Varadi on Medium](<https://devfeed.tech/sources/stories-by-gabor-varadi-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [modules](<https://devfeed.tech/topics/modules.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [Code](<https://devfeed.tech/topics/code.md>), [Dagger](<https://devfeed.tech/topics/dagger.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [RxJava](<https://devfeed.tech/topics/rxjava.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [antipattern](<https://devfeed.tech/tags/antipattern.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [clean-architecture](<https://devfeed.tech/tags/clean-architecture.md>), [code](<https://devfeed.tech/tags/code.md>), [dagger](<https://devfeed.tech/tags/dagger.md>), [dagger-2](<https://devfeed.tech/tags/dagger-2.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [modularization](<https://devfeed.tech/tags/modularization.md>), [modules](<https://devfeed.tech/tags/modules.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [navigation-architecture](<https://devfeed.tech/tags/navigation-architecture.md>), [rxjava](<https://devfeed.tech/tags/rxjava.md>)

### AI overview

This article examines structural and navigation anti-patterns in modularized Android applications. It traces the history of Android Clean Architecture and argues that organizing an application around top-level data, domain, and presentation modules can be problematic, particularly when the structure is adopted from educational examples rather than feature-based organization.

### Source excerpt

Structural and navigation anti-patterns in multi-module and modularized applications: The case against "Android Clean Architecture" and the "domain" moduleTop-level "domain" module is a code smell. Merry Christmas to all! The subject of this article is one that has been on my mind for a very long time. After all, "Clean Architecture" is often seen as the end goal, the hallmark of the finest of Android application code structure -- it is the best of the very best. The name itself, "Clean Architecture", signals that it's a good thing ~ after all, who wants to work with "messy" code in comparison? Of course, the title of this article shows that this isn't the conclusion we'll come to. The following tweet is closer to our final evaluation -- let us analyze why it might be accurate. Clean architecture + Android for us was like building a beautiful sailing boat in your backyard because someone on TV convinced you it's better for crossing the sea than an inflatable, while you live in the mountains and also your house is on fire. https://t.co/iGqy25wk7m The history of "Android Clean Architecture"The origins To understand "Clean Architecture" as done on Android, we must trace it back to its roots, and where/when it was made popular in the first place. As far as I'm aware, it dates back to 2014, the original proposition in "Fernando Cejas: Architecting Android... the clean way?". It was a highly influential article, as it revolutionized the structure of Android apps. Code that is actually separated across layers (back when Fragments were untrustworthy, and all code was in OS-level components), rather than just throwing everything into 2000+ line Activities? A pioneer of its time. One interesting decision however in the representative sample code was that in order to signify the strict separation of layers, these layers were each separated from one another using top-level Gradle modules, each labeled data, domain, and presentation. As we will see, this is the downfall of the sampl

## trivago Tech GetTogether 2016

DevFeed: [trivago Tech GetTogether 2016](<https://devfeed.tech/articles/trivago-tech-gettogether-2016-27945.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2016-08-02-tech-get-together-2016/>)

Author: Tom Bartel

Published: 2016-08-02T00:00:00Z

Content type: article

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Learning](<https://devfeed.tech/topics/learning.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [Natural language processing](<https://devfeed.tech/topics/nlp.md>), [Python](<https://devfeed.tech/topics/python.md>), [Rust](<https://devfeed.tech/topics/rust.md>)

Tags: [collaboration](<https://devfeed.tech/tags/collaboration.md>), [communication](<https://devfeed.tech/tags/communication.md>), [company](<https://devfeed.tech/tags/company.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [engineering-culture](<https://devfeed.tech/tags/engineering-culture.md>), [event](<https://devfeed.tech/tags/event.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [learning](<https://devfeed.tech/tags/learning.md>), [natural-language-processing](<https://devfeed.tech/tags/natural-language-processing.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [rust](<https://devfeed.tech/tags/rust.md>), [talks](<https://devfeed.tech/tags/talks.md>), [team-building](<https://devfeed.tech/tags/team-building.md>), [tech](<https://devfeed.tech/tags/tech.md>)

### AI overview

trivago's 2016 Tech GetTogether brought IT colleagues from its offices together in Noordwijk for three days of knowledge exchange and team building. The event used an unconference format in which participants proposed talks and voted on the sessions to schedule.

### Source excerpt

With engineers spread across four offices, collaboration and communication in trivago's IT is a challenge. Additionally, new engineers join the company all the time, which makes it even harder to figure out who to talk to about certain products, packages, and technologies.

## Eric Evans in the house

DevFeed: [Eric Evans in the house](<https://devfeed.tech/articles/eric-evans-in-the-house-31992.md>)

Original publisher: [Read original article](<https://tech.finn.no2015/03/10/eric-evans-in-the-house/>)

Author: Nicolai Høge

Published: 2015-03-10T14:37:49Z

Content type: article

Language: en

Sources: [Finn.no](<https://devfeed.tech/sources/finn-no.md>)

Topics: [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Enterprise Architecture](<https://devfeed.tech/topics/enterprise-architecture.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [course](<https://devfeed.tech/tags/course.md>), [ddd](<https://devfeed.tech/tags/ddd.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [enterprise-architecture](<https://devfeed.tech/tags/enterprise-architecture.md>), [workshop](<https://devfeed.tech/tags/workshop.md>)

### AI overview

FINN.no invited Eric Evans for a week of strategic Domain-Driven Design courses, workshops, and a presentation. The article describes the organization's effort to move from a monolith toward a more flexible and scalable architecture.

### Source excerpt

In our continuing quest to break up our old monolith and create a more flexible and scalable architecture, we have realized that we need to look at some new tools and methods. One of the more promising approaches was Domain Driven Design, a term coined by Eric Evans in his Big Blue Book Quite a few people in FINN has read (at least parts of) the Domain-Driven Design book, and we did some preliminary efforts to map our domains and look at our bounded contexts. We quickly realized that this was a very complex exercise, even with highly motivated tech and product people present. We figured we needed some help to get us on the right track. If you need help and information about DDD, why not get it straight from the horse's mouth? So we got Eric Evans to visit us for a week at the end of February. We needed to make the most of our time with Eric, so we set up a rather extensive agenda: Day Subject Attending Monday Strategic Domain Driven Design Course FINNs CTO, our functional product directors, the members of our enterprise architecture group including our Chief Enterprise Architect, several key developers and a couple of our international friends from Schibsted Classified Media Tuesday Strategic Domain Driven Design Course cont'd Same as Monday Wednesday Workshop: Ad concept and our miscellaneous vertical Chief Enterprise architect, EA group, Functional Product Director, Product Owner, Lead Developers Thursday Workshop: Job vertical and company profile Chief Enterprise architect, EA group, Functional Product Director, Product Owner, Lead Developers Friday Presentation for everyone in FINN.no, plus workshop: Communications Chief Enterprise architect, EA group, Functional Product Director, Product Owner, Lead Developers The course on Monday and Tuesday was extremely helpful in getting everyone up to speed on the terms and method of strategic domain driven design. The workshops the rest of the week focused on understanding the challenges involved in each area, and trying

## Finn.no's architecture summit focused on breaking up its iAD monolith into microservices

DevFeed: [Finn.no's architecture summit focused on breaking up its iAD monolith into microservices](<https://devfeed.tech/articles/finn-no-wanted-to-split-up-their-monolith-you-won-t-believe-what-happens-next-31989.md>)

Original publisher: [Read original article](<https://tech.finn.no2015/02/10/summit/>)

Author: Audun Fauchald Strand

Published: 2015-02-10T11:00:00Z

Content type: article

Language: en

Sources: [Finn.no](<https://devfeed.tech/sources/finn-no.md>)

Topics: [microservices architecture](<https://devfeed.tech/topics/microservices-architecture.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [event driven](<https://devfeed.tech/topics/event-driven.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [RxJava](<https://devfeed.tech/topics/rxjava.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [legacy](<https://devfeed.tech/topics/legacy.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [architectures](<https://devfeed.tech/tags/architectures.md>), [development](<https://devfeed.tech/tags/development.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [microservices-architecture](<https://devfeed.tech/tags/microservices-architecture.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [rxjava](<https://devfeed.tech/tags/rxjava.md>)

### AI overview

Finn.no organized a two-day architecture summit to coordinate its development teams around a microservices architecture after breaking up the iAD monolith. The program covered domain-driven design, event-driven architecture, CQRS, service properties, and implementation examples using Node.js, RxJava, and Reactive Streams.

### Source excerpt

After working several years with (successfully) breaking up the legacy monolith, called iAD, Finn.no wanted to add structure to this process, and make sure that all 20 development teams work towards the same target. The target is a microservices architecture with small-ish autonomous services, owning their own data. With that in mind we arranged our own two-day architecture summit for all Lead Developers, with a combination of external and internal presenters. The focus was on microservices, domain driven design, event driven architectures and modern programming techniques. We started off the first day with a long session. Finn.no's Chief Enterprise Architect Sebastian Verheughe wanted to communicate his vision. This included topics such as strategic domain-driven-design, data-highways, and how to use event-driven architecture to further decouple our services. This theme continued, with the first external presenter. Jan Ove Skogheim from Particular Software talked about his experiences from Rikstoto, and how they had broken up a monolith into multiple small services. He also talked about the composite-UI pattern. After lunch we continued with a presentation by Karsten Mevassvik from finn.no, of the most important properties for a finn.no microservice. These include: Is RESTful Owns its own data-store Team ownership Consumer Driven The first day of the summit was concluded with a presentation of the CQRS architectural pattern. This presentation was held by Idar Borlaug and Andreas Berre from WebStep. They showed all the central concepts in CQRS, such as commands, event-stores, aggregates, sagas using very good examples to illustrate their concepts. The second day of the summit started off with some hardcore programming. The frameworks of choice was node.js and RxJava. Christopher Kolstad started with an example of how a microservice could be implemented using Reactive Streams and RxJava. After that Phillip Johnsen presented a case using node.js in a real time context

## Modelling Is Everything

DevFeed: [Modelling Is Everything](<https://devfeed.tech/articles/modelling-is-everything-13616.md>)

Original publisher: [Read original article](<https://mechanical-sympathy.blogspot.com/2011/09/modelling-is-everything.html>)

Author: Martin Thompson (noreply@blogger.com)

Published: 2011-09-02T18:23:00Z

Content type: opinion

Language: en

Sources: [Mechanical Sympathy](<https://devfeed.tech/sources/mechanical-sympathy.md>)

Topics: [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Development](<https://devfeed.tech/topics/development.md>), [Code](<https://devfeed.tech/topics/code.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [ddd](<https://devfeed.tech/tags/ddd.md>), [design](<https://devfeed.tech/tags/design.md>), [development](<https://devfeed.tech/tags/development.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [modelling](<https://devfeed.tech/tags/modelling.md>), [performance](<https://devfeed.tech/tags/performance.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

The article argues that modelling what needs to be implemented is the most important step in software development, especially when building high-performance systems. It connects Domain-Driven Design with modelling the problem domain and explains that understanding CPU, memory, storage, cache, and network behavior can improve correctness and performance.

### Source excerpt

I'm often asked, "What is the best way to learn about building high-performance systems"? There are many perfectly valid answers to this question but there is one thing that stands out for me above everything else, and that is modelling. Modelling what you need to implement is the most important and effective step in the process. I'd go further and say this principle applies to any development and the rest is just typing :-) Domain Driven Design (DDD) advocates modelling the domain and expressing this model in code as fundamental to the successful delivery and ongoing maintenance of software. I wholeheartedly agree with this. How often do we see code that is an approximation of the problem domain? Code that exhibits behaviour which approximates to what is required via inappropriate abstractions and mappings which just about cope. Those mappings between what is in the code and the real domain are only contained in the developers' heads and this is just not good enough. When requiring high-performance, code for parts of the system often have to model what is happening with the CPU, memory, storage sub-systems, or network sub-systems. When we have imperfect abstractions on top of these domains, performance can be very adversely affected. The goal of my "Mechanical Sympathy" blog is to peek at what is under the hood so we can improve our abstractions. What is a Model? A model does not need to be the result of a 3-year exercise producing UML. It can be, and often is best as, people communicating via various means including speech, drawings, illustrations, metaphors, analogies, etc, to build a mental model for shared understanding. If an accurate and distilled understanding can be reached then this model can be turned into code with great results. Infrastructure Domain Models If developers writing a concurrent framework do not have a good model of how a typical cache sub-system works, i.e. it uses message passing to exchange cache lines, then the framework is unlikely to