Principles
A short list of things
I keep coming back to.
I don't believe in rigid rules. These are working principles — things I've had to relearn enough times that I finally wrote them down.
- 01
Boring is a feature.
I reach for tools I can debug at 2am. Novelty is a tax that the next person — or the next me — has to pay.
- 02
Code is a liability.
Every line is something to maintain, secure, and reason about. The best PR is often the one that deletes more than it adds.
- 03
Ship in small, honest steps.
I'd rather ship a small thing that's real than a grand thing that's pending. Reality teaches faster than meetings do.
- 04
Naming is design.
Half of clean architecture is good naming. If you can't name it cleanly, the abstraction probably isn't right yet.
- 05
Optimize for the next reader.
Code is read more than it's written. I optimize for the next person — usually a future version of me — to understand it quickly.
- 06
Founder, then engineer.
Engineering serves the product. I push back on work that ships nothing of value, even when the code would be fun to write.