Evolutionary Architecture
Architecture is a verb: guide it, don't freeze it.
Architecture is never finished - it evolves, and the senior skill is guiding that change deliberately instead of letting it rot. Fitness functions that automate architectural guardrails, coupling and cohesion as the metrics that decide how changeable a system is, technical debt as a managed tool, the strangler-fig pattern for replacing legacy incrementally, and architecture decision records so the system remembers why.
Lessons in this stage
- 01
Architecture Is a Verb
IntermediateWhy no architecture is final: requirements, scale, and teams change, so the goal is a system that's cheap to change - and the 'ilities' (the architectural characteristics) you're really designing for.
13 min - 02
Fitness Functions
AdvancedAutomated tests for architectural characteristics: an ArchUnit rule guarding a dependency boundary, a performance budget, a coverage gate - so the qualities you care about can't silently erode.
15 min - 03
Coupling & Cohesion
AdvancedThe two metrics under every architecture decision: high cohesion within a component, low coupling between them - what afferent/efferent coupling and connascence tell you about changeability.
15 min - 04
Managing Technical Debt
IntermediateDebt as a deliberate tool, not just sloppiness: the debt quadrant (prudent/reckless × deliberate/inadvertent), making debt visible, and paying it down without a doomed big rewrite.
14 min - 05
The Strangler Fig
AdvancedThe pattern for replacing a legacy system incrementally: route new behavior to the new code, migrate slice by slice behind a facade, and retire the old - how you'd finally replace ledger-legacy.
15 min - 06
Architecture Decision Records
IntermediateGive the architecture a memory: a lightweight ADR captures a decision, its context, and its consequences - so future engineers evolve the system knowing why it is the way it is.
12 min