Things broken on purpose
Theo M. · Dec 6
I split a 4000-line file into 12 smaller ones this week. The smaller files weren't actually easier to understand. The 4000-line file was a problem of structure, not of length.
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.
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 team I learned the most from didn't have great tools. They had a great habit of reading each other's pull requests in full, including the parts that weren't theirs.
If a config file has more than a dozen options, half of them aren't being used. The other half are being used in ways the original author didn't predict.
Every time I revisit a project after six months, I find at least one place where past-me wrote a comment that present-me has now stopped trusting. Comments rot faster than code.
← back to index