05-architecture

System Design

05-architecture/system-design

System Design

Overview

System design connects user needs, technical constraints, and operational reality into a workable solution.


Why It Matters

The right design avoids both overbuilding and fragile shortcuts.


Core Concepts

  • Throughput, latency, reliability, and cost all matter.
  • Boundaries create ownership.
  • Failure modes should be explicit.

Mental Models

Design from the outside in. Start with user flow, then data flow, then failure handling.


Best Practices

  • Define the success criteria.
  • Model the critical path.
  • Decide how the system fails and recovers.

Common Mistakes

  • Designing for hypothetical scale only.
  • Ignoring observability and rollout.
  • Making the happy path the only path.

Trade-offs

System designs are always partial. The real question is whether the design is good enough for now and easy enough to extend.


Decision Framework

ConstraintDesign response
High latencyCache, batch, or precompute
High riskAdd rollback and observability
Many consumersClarify ownership and contracts

Examples

  • A feature flag can reduce risk for a staged rollout.
  • A queue can remove slow work from the request path.

Checklists

  • Is the critical path clear?
  • Are failure modes considered?
  • Is the design observable?

Senior Engineer Notes

Senior engineers design for operations as well as delivery. A system that cannot be observed or rolled back is harder to trust.


Further Reading