Building to understand
Why I keep reaching for small, difficult systems projects.
The fastest way for me to understand a system is to build a smaller version of it.
Reading gives me the vocabulary. Building exposes the assumptions. A message broker, a kernel, or a network server stops being a diagram and becomes a collection of decisions: where state lives, what fails, and which tradeoffs actually matter.
That is why many of my projects look like implementations of familiar infrastructure. The goal is not to replace the mature tool. The goal is to earn a useful mental model.
This blog is where I will write down those models while they are still fresh.