Architecture Styles
Monoliths, microservices, layers and the decisions that are expensive to change.
Backend Engineer
Junior
Write correct code, ship small changes safely, ask good questions.
- Client-Server ModelClients make requests; servers respond.
- MonolithOne deployable application containing all the features.
Mid-level
Own a feature end to end without hand-holding.
Core: start here
- MicroservicesMany small, independently deployable services.
4 more mid-level concepts
- N-Tier ArchitectureSeparating presentation, logic and data into tiers.
- Serverless ArchitectureBuilding from managed functions and services without running servers.
- Software ArchitectureThe high-level structure of a system and the decisions that are expensive to change.
- Non-Functional RequirementsRequirements about how well a system works rather than what it does.
Senior
Own a system, its failure modes, and its trade-offs.
Core: start here
- Modular MonolithA monolith with strong internal module boundaries.
- Event-Driven ArchitectureServices communicating by publishing and reacting to events.
- Monolith vs MicroservicesWeighing simplicity against independent scaling and deployment.
- Architectural Trade-offsEvery architecture decision gives something up; naming what.
- One-Way vs Two-Way DoorsMoving fast on reversible decisions and carefully on irreversible ones.
10 more senior concepts
- Multi-TenancyServing many customers from one system while keeping their data apart.
- Peer-to-PeerNodes that act as both client and server.
- Clean ArchitectureConcentric layers whose dependencies point inward to the domain.
- Hexagonal ArchitecturePorts and adapters that isolate core logic from infrastructure.
- Distributed MonolithMicroservices so coupled they must deploy together: the worst of both worlds.
- Onion ArchitectureA layered style with the domain model at the center.
- Pipes and FiltersProcessing data through a chain of independent steps.
- Service-Oriented ArchitectureAn older style of large shared services, often joined by an enterprise bus.
- Plugin ArchitectureA core extended by independently developed plugins.
- Quality Attributes (the "-ilities")Scalability, availability, maintainability and other non-functional goals.
Staff
Shape how many teams build, across systems.
- Cell-Based ArchitectureSplitting a system into isolated copies to limit blast radius.
- Architecture Fitness FunctionAutomated checks that an architecture keeps its intended qualities.
- Architecture ReviewReviewing designs across teams before they're built.
- Evolutionary ArchitectureDesigning systems to change incrementally over time.
Data Engineer
Junior
Build and fix pipelines from clear specs; write correct SQL.
- MonolithOne deployable application containing all the features.
Mid-level
Own pipelines and models end to end, including their quality.
- Serverless ArchitectureBuilding from managed functions and services without running servers.
- MicroservicesMany small, independently deployable services.
- Non-Functional RequirementsRequirements about how well a system works rather than what it does.
Senior
Design the platform's storage, processing and modeling choices.
Core: start here
- Architectural Trade-offsEvery architecture decision gives something up; naming what.
- One-Way vs Two-Way DoorsMoving fast on reversible decisions and carefully on irreversible ones.
2 more senior concepts
- Event-Driven ArchitectureServices communicating by publishing and reacting to events.
- Quality Attributes (the "-ilities")Scalability, availability, maintainability and other non-functional goals.
Frontend Engineer
Junior
Build UI that works, ship small changes safely, ask good questions.
- Client-Server ModelClients make requests; servers respond.
- MonolithOne deployable application containing all the features.
Mid-level
Own a feature end to end without hand-holding.
- N-Tier ArchitectureSeparating presentation, logic and data into tiers.
- Serverless ArchitectureBuilding from managed functions and services without running servers.
- MicroservicesMany small, independently deployable services.
- Software ArchitectureThe high-level structure of a system and the decisions that are expensive to change.
- Non-Functional RequirementsRequirements about how well a system works rather than what it does.
Senior
Own an app's architecture, performance, and failure modes.
Core: start here
- Micro-FrontendsSplitting a frontend into independently deployed parts.
- Architectural Trade-offsEvery architecture decision gives something up; naming what.
- One-Way vs Two-Way DoorsMoving fast on reversible decisions and carefully on irreversible ones.
8 more senior concepts
- Modular MonolithA monolith with strong internal module boundaries.
- Peer-to-PeerNodes that act as both client and server.
- Clean ArchitectureConcentric layers whose dependencies point inward to the domain.
- Hexagonal ArchitecturePorts and adapters that isolate core logic from infrastructure.
- Event-Driven ArchitectureServices communicating by publishing and reacting to events.
- Monolith vs MicroservicesWeighing simplicity against independent scaling and deployment.
- Plugin ArchitectureA core extended by independently developed plugins.
- Quality Attributes (the "-ilities")Scalability, availability, maintainability and other non-functional goals.
Staff
Shape how many teams build, across apps.
- Architecture Fitness FunctionAutomated checks that an architecture keeps its intended qualities.
- Architecture ReviewReviewing designs across teams before they're built.
- Evolutionary ArchitectureDesigning systems to change incrementally over time.
Tech Entrepreneur
MVP
Ship the smallest thing someone will use or pay for, and set up the company properly.
- MonolithOne deployable application containing all the features.
- Serverless ArchitectureBuilding from managed functions and services without running servers.
- Multi-TenancyServing many customers from one system while keeping their data apart.