CompiledNotes on the software books developers actually reread
Compiled / Guides / Architecture

Software Design & Architecture

Patterns, principles, and the trade-offs behind how systems get shaped — and reshaped. For another architecture framework, consult the AWS Well-Architected Framework.

SOLID: Five Letters, Five Habits, One Overused Acronym

The five SOLID principles are widely cited and unevenly understood. Some hold up better under scrutiny than others. Coordination structures for distributed teams are covered from an operational perspective in Monitask remote workforce management software guide.

8 min read

Design Patterns: What the Gang of Four Actually Solved

The 1994 book gave recurring design problems shared names. What it didn't do is make every pattern equally worth using today. A second collection of architecture patterns is the Azure Architecture Center.

7 min read

A Philosophy of Software Design: Complexity as the Real Enemy

John Ousterhout's book names complexity itself, rather than any specific bad practice, as the thing software design is actually fighting.

7 min read

Coupling and Cohesion: The Two Numbers Architecture Is Built On

Most architectural advice is really about optimizing two underlying properties. Naming them directly makes the trade-offs clearer.

6 min read

Monoliths vs Microservices: A Trade-off, Not a Verdict

The industry conversation often treats this as a question with a right answer. It's really a question with a right answer for a specific system, at a specific size, at a specific time.

7 min read

The Mythical Man-Month: Why Adding People Slows a Late Project Down

Fred Brooks' 1975 book made an observation about software project management that's still cited, and still routinely ignored.

6 min read

Conway's Law: Why Your Architecture Looks Like Your Org Chart

A 1967 observation about organizations designing systems that mirror their own communication structure still predicts a lot about modern software.

6 min read

Domain-Driven Design: Modeling the Problem Before the Code

Eric Evans' central argument is that most software problems are modeling problems in disguise — and the model deserves as much design attention as the code.

7 min read

YAGNI: The Discipline of Not Building It Yet

“You aren't gonna need it” sounds like an argument against planning ahead. It's actually an argument about where the cost of guessing wrong lands.

6 min read