# Domain-driven design (DDD)

A software design and domain-modeling approach for making design decisions and discussing domain design, introduced in Eric Evans's 2004 book 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.

## Meet the Symfony Core Team at the API Platform Conference 2026!

DevFeed: [Meet the Symfony Core Team at the API Platform Conference 2026!](<https://devfeed.tech/articles/meet-the-symfony-core-team-at-the-api-platform-conference-2026-8578.md>)

Original publisher: [Read original article](<https://symfony.com/blog/meet-the-symfony-core-team-at-the-api-platform-conference-2026>)

Author: Cécile HAMEREL

Published: 2026-09-02T14:30:00Z

Content type: news

Language: en

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

Topics: [API](<https://devfeed.tech/topics/api.md>), [Symfony](<https://devfeed.tech/topics/symfony.md>), [PHP](<https://devfeed.tech/topics/php.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [Model Context Protocol (MCP)](<https://devfeed.tech/topics/model-context-protocol-mcp.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [api-platform](<https://devfeed.tech/tags/api-platform.md>), [conference](<https://devfeed.tech/tags/conference.md>), [event](<https://devfeed.tech/tags/event.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [migration](<https://devfeed.tech/tags/migration.md>), [oauth2](<https://devfeed.tech/tags/oauth2.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [php](<https://devfeed.tech/tags/php.md>), [symfony](<https://devfeed.tech/tags/symfony.md>)

### AI overview

The API Platform Conference 2026 will take place in Lille, France, on September 17-18. The event will feature nearly 30 talks, including sessions by Symfony Core Team members on migration, API security, DDD, HTTP headers, FrankenPHP, AI agents, and MCP.

### Source excerpt

The API Platform Conference, the international event dedicated to the API Platform framework and its ecosystem, will take place in two weeks in Lille, France, on September 17-18, 2026. Nearly 30 talks are scheduled, in both French and English, covering...

## Fragments: June 16

DevFeed: [Fragments: June 16](<https://devfeed.tech/articles/fragments-june-16-4429.md>)

Original publisher: [Read original article](<https://martinfowler.com/fragments/2026-06-16.html>)

Author: Martin Fowler (martin@martinfowler.com)

Published: 2026-06-16T12:44:00Z

Content type: article

Language: en

Sources: [Martin Fowler](<https://devfeed.tech/sources/martin-fowler.md>)

Topics: [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [context window](<https://devfeed.tech/topics/context-window.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [conference](<https://devfeed.tech/tags/conference.md>), [context-window](<https://devfeed.tech/tags/context-window.md>), [ddd](<https://devfeed.tech/tags/ddd.md>), [event](<https://devfeed.tech/tags/event.md>), [llm](<https://devfeed.tech/tags/llm.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

This article fragment discusses how large language models are changing the experience of programming and argues that Domain-Driven Design may remain useful or become more important. It also highlights managing an LLM context window and using distinct conversation registers for exploring, brainstorming, deciding, and implementing.

### Source excerpt

"Prag Dave" Thomas (co-author of the outstanding "Pragmatic Programmer") has loved programming since he was young. Programming was how I could express myself. I wasn't an artist. When I sing, dogs howl. When I draw, friends say, "Very nice. What is it?" I didn't connect particularly well with people, even though I wanted to. And yet, when I wrote my first program, I discovered a medium which let me convert thought into action. All the ideas that were bottled up behind a wall of frustration suddenly had an outlet. The LLM revolution worried him. Would they remove all that fun stuff? Happily he found it was the opposite. Like Kent Beck and others have told me, programming with LLMs is more fun than ever. His post lists reasons why: removing drudgery, speeding up feedback loops, reviving long abandoned projects, and exploring new technologies. ❄ ❄ ❄ ❄ ❄ I've spent a few days at the DDD Europe conference, which was a very enjoyable event. With all the changes to programming due to LLMs, I suspect Domain-Driven Design is going to be one of those things that will continue to be useful, indeed may become even more important. The highlight of the conference was the opening keynote by Eric Evans, who gave a fascinating description of some of his experimentation with LLMs over the last couple of years. Once the video for that talk becomes available, I'll link to it - hopefully it won't be too long. I also particularly enjoyed talks from Violetta Pidvolotska, Kiran Prakash, Tom de Wolf, and Chelsea Troy. Gien Verschatse interviewed Eric Evans and me for an hour so so - again I'll pass that link on when the video gets published. One snippet that stood out to me was from Chelsea Troy. The main thrust of her talk was managing the context window of LLMs so that it was kept in a healthy state. Much of what she said was familiar, but one thing I hadn't thought about was her thoughts about the different registers of conversations with LLMs. These registers are different styles of con

## Deploying cloud-based engineering workbenches with the Virtual Engineering Workbench on AWS

DevFeed: [Deploying cloud-based engineering workbenches with the Virtual Engineering Workbench on AWS](<https://devfeed.tech/articles/deploying-cloud-based-engineering-workbenches-with-the-virtual-engineering-workbench-on-aws-4752.md>)

Original publisher: [Read original article](<https://aws.amazon.com/blogs/opensource/deploying-cloud-based-engineering-workbenches-with-the-virtual-engineering-workbench-on-aws/>)

Author: Andrea Meroni

Published: 2026-04-21T21:38:49Z

Content type: tutorial

Language: en

Sources: [AWS Open Source Blog](<https://devfeed.tech/sources/aws-open-source-blog.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>), [Amazon API Gateway](<https://devfeed.tech/topics/amazon-api-gateway.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>)

Tags: [amazon-api-gateway](<https://devfeed.tech/tags/amazon-api-gateway.md>), [amazon-dynamodb](<https://devfeed.tech/tags/amazon-dynamodb.md>), [amazon-eventbridge](<https://devfeed.tech/tags/amazon-eventbridge.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [design-patterns](<https://devfeed.tech/tags/design-patterns.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [react](<https://devfeed.tech/tags/react.md>), [serverless](<https://devfeed.tech/tags/serverless.md>)

### AI overview

A tutorial for deploying the open-source Virtual Engineering Workbench on AWS. It describes a self-service platform for publishing and provisioning preconfigured development environments, its serverless architecture, and creating and launching a workbench.

### Source excerpt

Introduction Organizations in automotive, manufacturing, and embedded systems increasingly rely on cloud-based development environments to reduce hardware dependency and accelerate software delivery. As vehicle architectures shift toward software-defined platforms, engineering teams need access to specialized toolchains, virtual hardware models, and simulation environments that are consistent across sites and reproducible across projects. Provisioning these environments manually [...]

## 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.

## Microservices Deep Dive: Architecting for Scalability and Resilience

DevFeed: [Microservices Deep Dive: Architecting for Scalability and Resilience](<https://devfeed.tech/articles/microservices-deep-dive-architecting-for-scalability-and-resilience-39562.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/10-microservices-architecture/>)

Author: hello@ankit-rana.com

Published: 2026-03-16T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [microservices architecture](<https://devfeed.tech/topics/microservices-architecture.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Resilience](<https://devfeed.tech/topics/resilience.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [deployments](<https://devfeed.tech/tags/deployments.md>), [devops](<https://devfeed.tech/tags/devops.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [domain-driven-design-ddd](<https://devfeed.tech/tags/domain-driven-design-ddd.md>), [incident-response](<https://devfeed.tech/tags/incident-response.md>), [independent](<https://devfeed.tech/tags/independent.md>), [isolation](<https://devfeed.tech/tags/isolation.md>), [layer](<https://devfeed.tech/tags/layer.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [observability](<https://devfeed.tech/tags/observability.md>), [resilience](<https://devfeed.tech/tags/resilience.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [services](<https://devfeed.tech/tags/services.md>), [system-design](<https://devfeed.tech/tags/system-design.md>)

### AI overview

This article explains how microservices replace a tightly coupled monolith with independently deployable services aligned to business capabilities. It covers benefits such as independent scaling, fault isolation, team autonomy, and technology flexibility, while noting the added costs of communication, observability, operations, and data management. It recommends using microservices when domain complexity and scale justify the operational cost, organizing services around bounded contexts, and extracting one domain at a time.

### Source excerpt

Microservices trade deployment simplicity for independent scaling, fault isolation, and team autonomy, and they only pay off once domain complexity and scale justify the operational cost. Align services to bounded contexts, give each its own data store, and extract one domain at a time rather than splitting by technical layer.

## 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

## Spooky Stories: Chilling Temporal anti-patterns (part 2)

DevFeed: [Spooky Stories: Chilling Temporal anti-patterns (part 2)](<https://devfeed.tech/articles/spooky-stories-chilling-temporal-anti-patterns-part-2-35987.md>)

Original publisher: [Read original article](<https://temporal.io/blog/spooky-stories-chilling-temporal-anti-patterns-part-2>)

Author: Joshua Smith

Published: 2024-10-21T15:00:00Z

Content type: article

Language: en

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

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

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [community](<https://devfeed.tech/tags/community.md>), [design](<https://devfeed.tech/tags/design.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [production](<https://devfeed.tech/tags/production.md>)

### AI overview

This article explains Temporal workflow anti-patterns through a playful top-10 format. It focuses on avoiding oversized workflows by modeling simple processes, separating subprocesses into workflows or functions, and using Nexus and distributed-systems patterns to manage complexity.

### Source excerpt

Even more Temporal best practices (and their corresponding anti-patterns) explained.

## 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

## jOOQ DAOs, CRUD Access, and the N+1 Query Problem

DevFeed: [jOOQ DAOs, CRUD Access, and the N+1 Query Problem](<https://devfeed.tech/articles/to-dao-or-not-to-dao-28968.md>)

Original publisher: [Read original article](<https://blog.jooq.org/to-dao-or-not-to-dao/>)

Author: lukaseder

Published: 2023-12-06T13:41:52Z

Content type: opinion

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [CRUD](<https://devfeed.tech/topics/crud.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [account](<https://devfeed.tech/topics/account.md>)

Tags: [account](<https://devfeed.tech/tags/account.md>), [api](<https://devfeed.tech/tags/api.md>), [crud](<https://devfeed.tech/tags/crud.md>), [dao](<https://devfeed.tech/tags/dao.md>), [data](<https://devfeed.tech/tags/data.md>), [ddd](<https://devfeed.tech/tags/ddd.md>), [developers](<https://devfeed.tech/tags/developers.md>), [join](<https://devfeed.tech/tags/join.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-in-use](<https://devfeed.tech/tags/jooq-in-use.md>), [optimisation](<https://devfeed.tech/tags/optimisation.md>), [repository](<https://devfeed.tech/tags/repository.md>), [sql](<https://devfeed.tech/tags/sql.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

This opinion article examines jOOQ's DAO API and the tendency to use DAOs or repositories for quick CRUD access. It argues that this approach can obscure query design and lead to inefficient patterns such as N+1 queries, while showing how explicit SQL and bulk operations can improve query structure and performance.

### Source excerpt

jOOQ's DAO API is one of jOOQ's most controversial features. When it was first implemented, it was implemented merely: There's a strong hint about the third bullet given how popular Spring Data's repository "pattern" is. A lot of developers just want to quickly fetch and store data, without giving individual queries much thought. A fun ... Continue reading To DAO or not to DAO ->

## 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...

## 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.

## Implementing Equality in Ruby

DevFeed: [Implementing Equality in Ruby](<https://devfeed.tech/articles/implementing-equality-in-ruby-1442.md>)

Original publisher: [Read original article](<https://shopify.engineering/implementing-equality-in-ruby>)

Author: Denis Defreyne

Published: 2022-05-26T14:00:01Z

Content type: tutorial

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [Object-relational mapping](<https://devfeed.tech/topics/orm.md>)

Tags: [ddd](<https://devfeed.tech/tags/ddd.md>), [identity](<https://devfeed.tech/tags/identity.md>), [model](<https://devfeed.tech/tags/model.md>), [models](<https://devfeed.tech/tags/models.md>), [orm](<https://devfeed.tech/tags/orm.md>), [programming](<https://devfeed.tech/tags/programming.md>), [ruby](<https://devfeed.tech/tags/ruby.md>)

### AI overview

This article explains how equality works in Ruby, including the roles of #==, #eql?, #equal?, and #===. It presents general implementation patterns for entities, whose identity is based on an explicit ID, and value objects, whose identity is determined by their complete value. It also relates these patterns to domain-driven design and Ruby on Rails ActiveRecord models.

### Source excerpt

Ruby is one of the few programming languages that get equality right. I often play around with other languages, but keep coming back to Ruby. This is because Ruby's implementation of equality is so nice. Let's walk through all forms of equality in Ruby and how to implement them.

## 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...

## Other Driven Developments

DevFeed: [Other Driven Developments](<https://devfeed.tech/articles/other-driven-developments-1513.md>)

Original publisher: [Read original article](<https://shopify.engineering/other-driven-developments>)

Author: J D

Published: 2021-05-21T17:30:00Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Test-driven development](<https://devfeed.tech/topics/tdd.md>), [Behavior-driven development](<https://devfeed.tech/topics/bdd.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Code](<https://devfeed.tech/topics/code.md>), [Tech Lead](<https://devfeed.tech/topics/tech-lead.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>)

Tags: [career](<https://devfeed.tech/tags/career.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [mental-models](<https://devfeed.tech/tags/mental-models.md>), [models](<https://devfeed.tech/tags/models.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [tech-lead](<https://devfeed.tech/tags/tech-lead.md>)

### AI overview

This article discusses how development methodologies and mental models evolve as teams and companies grow. It introduces additional "driven development" approaches, including Grep Driven Development, and explains how explicit practices can turn implicit lessons into shared guidance. It also highlights how expressive Ruby variable names improve searchability, refactorability, abstraction, and consistency.

### Source excerpt

Mental models within an industry, company, or even a person, change constantly. As methodologies mature, we see the long term effects our choices have wrought and can adjust accordingly. As a team or company grows, methodologies that worked well for five people may not work as well for 40 people. If all employees could keep an entire app in their head, we'd need fewer rules and checks and balances on our development, but that is not the case. As a result, we summarize things we notice have been implicit in our work.

## My top 5 must-have technical books

DevFeed: [My top 5 must-have technical books](<https://devfeed.tech/articles/my-top-5-must-have-technical-books-21622.md>)

Original publisher: [Read original article](<http://miqu.me/blog/2018/01/28/top-5-must-have-technical-books/>)

Author: Miguel Angel Quiñones

Published: 2018-01-28T19:06:09Z

Content type: opinion

Language: en

Sources: [Miguel Quinones](<https://devfeed.tech/sources/miguel-quinones.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Unit testing](<https://devfeed.tech/topics/unit-testing.md>), [Software](<https://devfeed.tech/topics/software.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>)

Tags: [books](<https://devfeed.tech/tags/books.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [modelling](<https://devfeed.tech/tags/modelling.md>), [opinion](<https://devfeed.tech/tags/opinion.md>), [programming](<https://devfeed.tech/tags/programming.md>), [technical](<https://devfeed.tech/tags/technical.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article recommends five technical books for software engineers, especially junior engineers: The Pragmatic Programmer, The Art of Unit Testing, Seven Languages in Seven Weeks, Domain-Driven Design, and The Algorithm Design Manual. It highlights self-improvement, maintainable tests, programming-language paradigms, software modeling, complexity, and algorithmic problem solving.

### Source excerpt

Quite recently a team member wanted to suggest interesting technical books to read for a junior engineer. I figured I might as well write my top 5 books here, in no particular order. I believe every Software Engineer should own these books, but reading them is a very good start ;) The Pragmatic Programmer: From journeyman to master If you have to read just one book, specially when starting to write software, it should be The Pragmatic Programmer. It covers ideas, always focused on self-improvement, mastery of the craft, and professinalism. I see this book as an extended list of ideas and suggestions for self-improvement, similar to the programmer competency matrix. While reading it, it's better to keep growing a list of topics to investigate further, as the book covers wildly different practices, ideas, and techniques. The Art of Unit Testing This book opened my eyes into the world of unit testing, from a practical (not philosophical) point of view. It introduced me to practical techniques to use in unit testing. Most imporptantly, it helps understand the crucial understanding of the necessity of maintainable test code, and 'good' tests. I think it's the best introductory book on unit testing. Period. Seven Languages in Seven Weeks More than a book, "Seven Languages in Seven Weeks" is an exploration into wildly different concepts across programming languages. It's a book about paradigms, and crucially, sparks the curiosity of why these exist at all. The way that the concepts are introduced, focusing on the reasons, advantages, disadvantages and design decisions of a language were very insightful for me. If you don't try the proposed challenges the book still will give you a lot of material to think about and to take ideas from. Domain-Driven Design Most software projects are about tackling complexity, and I must say many projects fail in this regards. The book taught me how to think about the act of writing code in a more abstracted way, as a modelling problem. Eric

## Памятка начинающего программиста

DevFeed: [Памятка начинающего программиста](<https://devfeed.tech/articles/article-30403.md>)

Original publisher: [Read original article](<https://www.mdubakov.com/posts/rookie-programmer>)

Published: 2016-11-09T09:12:28Z

Content type: opinion

Language: ru

Sources: [Blog by Michael Dubakov](<https://devfeed.tech/sources/blog-by-michael-dubakov.md>)

Topics: [ASP.NET](<https://devfeed.tech/topics/aspnet.md>), [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [ai-ml](<https://devfeed.tech/tags/ai-ml.md>), [asp-net](<https://devfeed.tech/tags/asp-net.md>), [ddd](<https://devfeed.tech/tags/ddd.md>)

### AI overview

A Russian-language advice article for programmers with a few years of experience. It recommends seeking responsibility early, following industry trends, learning English, blogging, studying broader software concepts, building personal projects, and avoiding prolonged outsourcing work.

### Source excerpt

Я часто получаю резюме от программистов. Возьму на себя смелость дать несколько конкретных советов тем, кто в профессии пару лет. Конечно, советы только для тех, кто хочет стать отличным программистом. 1. Первую работу найти непросто. Раньше было очень непросто, сейчас, конечно, все гораздо легче. Но если у вас получится, постарайтесь не попасть сразу в огромную корпорацию. В таких местах слишком много формализма, устаревших процессов и мест, где можно не напрягаться. И нет ничего хуже для новичка быть в расслабленной атмосфере на задворках аутсорса. Лучше выбрать стартап с маленькой зарплатой и большой неопределенностью, пока вы можете себе это позволить. Там у вас будет больше ответственности и развитие будет идти гораздо быстрее. Год за два :) 2. Всеми правдами и неправдами избегайте старых технологий. ASP.NET, O/R mappers, ExtJS, MSSQL, Oracle, Windows -- оставьте вот это все ветеранам. Вам может быть пока сложно понять, куда все двигается, но постарайтесь интересоваться трендами отрасли. Не все новое одинаково полезно, но со временем вы научитесь выбирать и лучше поймете, чего вы хотите и что вам интересно. 3. Учите английский. Вы как минимум должны научиться свободно читать техническую литературу. Без этого крайне сложно стать хорошим программистом. 4. Заведите блог. Вам кажется, что вам не о чем писать. Конечно же, это не так. Любое новое знание, усвоенное вами и выраженное письменно с учетом ваших личных переживаний и мыслей, может быть полезно другим. Напишите 100 постов. Потом можно решить, продолжать или нет. 5. Не зацикливайтесь на книгах о технологиях. Конечно, у вас есть явная потребность углубиться в ASP.NET на работе, но разбавляйте такие книги более абстрактной литературой. Почитайте про ООП и ФП, почитайте про дизайн систем, почитайте о разных концепциях (микросервисы, конкурентность, DDD, AI/ML). 6. Программируйте дома. Начните свой проект. Неважно какой. Простое мобильное приложение. Движок для сайта. Трекер расходов. Выбор следующего фильма для п

[Next page](<https://devfeed.tech/topics/domain-driven-design.md?cursor=WyIyMDE2LTExLTA5VDA5OjEyOjI4KzAwOjAwIiwgIjMxNTEwOTMwLWRhNjMtNGI5OC1iZGE0LWFkM2MwYWNmZmYxZSJd>)