There’s a line in some old code of mine that looks wrong. It’s awkward, it’s ugly, and every instinct says clean it up. There’s also a comment above it, in my own handwriting so to speak, that says: leave this — here’s the strange edge case it handles, and here’s what breaks if you “fix” it.
I have no memory of writing that comment. I have no memory of the edge case. But past me knew, and past me took thirty seconds to warn present me, and that warning has saved me from confidently reintroducing a bug I’d already paid to learn about once.
That’s when I understood something about my own mind: my memory is not a backup. It overwrites. The context that feels so vivid and obvious today — the whole reason a decision made sense — will be almost entirely gone in three months, and the code will just look like a mistake.
So now I leave notes. The commit message that explains the why, not just the what. The short doc listing what I ruled out and why. The one comment that will save a future hour. I’m not writing them for the person I am today. I’m writing them for a stranger who happens to share my name and has forgotten everything I currently know.
Being kind to that stranger is one of the highest-return habits I have. Because I always, eventually, become them.
– Serguey Asael Shinder
Leave a comment