Sidecars and the things they hide
Theo M. · Nov 28
When a system surprises me, my first instinct used to be to fix the surprise. Now my first instinct is to figure out which mental model of mine was wrong, and update that.
Caches solve a problem and create three new ones: invalidation, observability, and the slow drift between what the cache thinks is true and what the source thinks is true.
There's a kind of premature optimization that comes from imagining a future team. "What if someone needs to swap this out?" Often, no one does.
I used to add a layer of abstraction the first time I saw a pattern repeat. Now I wait for the third. The waiting is uncomfortable, but the abstractions that survive that wait tend to last.
← back to index