The cost of a clean abstraction
Every abstraction is a bet that the future resembles the present. Here is how to price that bet before you place it.
Writing on software, systems, and the long gameUpdated
I’m a software engineer in Los Angeles, California. I spend most of my time on the unglamorous half of software: the seams between systems, the migrations nobody volunteers for, the code that has to still make sense in three years.
This is a field notebook for that work: the decisions, migrations, and failures that get tidied out of the final story. Long essays when the idea earns it, field notes when it doesn’t.
Every abstraction is a bet that the future resembles the present. Here is how to price that bet before you place it.
When reporting a problem costs more than hiding it, people stop reporting problems. The system did that, not the people.
We train endlessly on writing code and almost never on reading it, which is backwards given how the time actually splits.
How things get built: architecture, tradeoffs, and the code underneath.
2 posts
Feedback loops, incentives, and the behaviour that emerges from both.
1 post
Taste, tools, and the slow work of getting good at something.
2 posts
Shorter dispatches. Half-formed thoughts, published anyway.
1 post