For years I wrote code for me. For the version of me sitting there at that moment, who understood the whole tangle and enjoyed a clever line. It felt good. It aged terribly.
The turning point was reading my own code six months later and not recognizing it. The cleverness that had felt like craftsmanship now read like a puzzle I had to solve again, from scratch, annoyed. I’d optimized for the wrong reader — the one who already knew everything — and left nothing for the one who didn’t.
So I flipped my audience. Now I write for the next person, and I assume that person is tired, busy, and here to fix something unrelated. They don’t want to admire my code. They want to understand it in one pass and get out. That single shift changed how I write more than any book or framework did.
It means shorter functions, plainer names, the obvious path kept obvious. It means choosing the boring, explicit version over the tight, clever one almost every time. It means treating a confusing line as a bug, because to that next reader, it is one.
And the funny thing is, the next person is usually me. So writing for a stranger turned out to be the most self-interested thing I could do. The best compliment my code gets now isn’t “how did you pull that off.” It’s the quiet “oh, I see exactly what this does” — from someone who never had to ask me.
– Serguey Asael Shinder
Leave a comment