Explaining Software Design
Subscribe
RSS
Archives
the sudoku affair
February 5, 2025
Software design is a deliberate process, and requires deliberate effort.
state and trace
January 15, 2025
We want the text to be simple, unsurprising. We want our readers to feel a sense of cozy familiarity.
structuralism
January 8, 2025
To understand a word, we must understand the topology that surrounds it.
senior developer agents
November 27, 2024
Code review is about more than checking for mistakes; it is about ensuring simplicity.
the death of the architect
October 30, 2024
This embarrassment, when you look for it, is plain to see.
making things better
October 23, 2024
Confronted with this dissonance, this ugliness, we inevitably gesture towards a better future.
intent and implication
October 16, 2024
Imagine the year is 2013, and a friend is telling you about their new startup: Uber, but for dog walkers.
structures as paths
October 9, 2024
The simplest explanation is rarely a straight line. To explore our software, a reader must traverse its structures.
decoupling in depth
October 2, 2024
The purpose of each layer is to reduce the audience for the next.
similar, but different
September 25, 2024
A name like 'count' describes its relationship to the surrounding code, the singular way in which it differs. In all other ways, we must assume, it is similar.
transparent like frosted glass
September 18, 2024
A good interface is usually where our explanation ends, but always where it begins.
the simplicity of a fractal
September 10, 2024
An interface suffices whenever the underlying details become textural; we know they exist, but wouldn't notice if they changed.
the simplicity of a limb
September 3, 2024
Evolution is a blind watchmaker; we, on the other hand, can see.
better explanations through coupling
August 27, 2024
A piece can only be understood through its relation to the whole.
glossary
August 23, 2024
Definitions and references for this newsletter's core concepts.
coupling as co-explanation
August 20, 2024
For many in the software industry, "coupling" is a dirty word.
the anatomy of an explanation
August 12, 2024
Every explanation is comprised of three parts, and only one of them is said aloud.
a brief introduction
August 6, 2024
As software designers, our goal is to reduce complexity. We want our software to be easier to understand, and easier to change.