Reading the standard library
Priya R. · Nov 11
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.
The fastest debugging trick I've learned is to write out, in one sentence, what the system is supposed to be doing. Half the time I notice the bug while writing the sentence.
Most retry logic I've removed turned out to be hiding a real bug. The retries made the failure invisible, and the bug compounded for months in the background.
Most of the trouble I see in production comes from boundary cases someone promised would never happen. The code is fine. The plan is fine. The promise is what ages badly.
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