What is still hard

There used to be two hard things in Computer Science. Now there's one.

Most of my job now is just setting the table. Naming things well, structuring files so they're legible, figuring out the right order to introduce concepts. I'm a naming engineer.

There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton

And it's not just naming. Picking the right dependency. Choosing a framework I'll still want to maintain in a year. Deciding what goes into the server and what lives on the client. These are decisions I can't hand off to a model.

I used to think shipping speed was the edge. It's not, everyone ships fast now. What I keep coming back to is taste. Knowing what not to build. Having the restraint to say no when building feels free.

I'd rather spend an hour thinking about whether something is worth building than spend that hour building it and finding out it wasn't.

Code quality is the same story. Agents make it easy to layer on top of a bad foundation, because the model just works around it. I've caught myself doing this more than I'd like to admit.

The mess compounds, and you don't even notice because you're already on to the next thing. I'm trying to throw away more code now. If it smells, kill it.

The more you understand about how your system actually works, the better your prompts get, the better your feedback gets, the better the thing you ship. Syntax will matter less over time. Knowing how the pieces fit together won't.

Judgment is still hard. And it's still yours.

MAR 21, 2026
.md