About

I've been writing code since I was 8. I'm still annoyed by the same things. Senior Software Engineer at Mozilla by day.

Bad names. Layers that exist to signal architecture rather than solve problems. Tests that pass but don't test anything. The ritual adoption of patterns nobody actually understands. These aren't new problems. They're getting worse.

I write mostly in Rust and TypeScript. Not for the aesthetic. Rust makes you own your decisions in a way most languages let you defer. TypeScript makes the implicit explicit. Both force precision. Precision is the point.

On AI

AI writes code fast. It also writes plausible-looking garbage fast. The output is only as good as the intent behind the prompt, and most prompts are vague because most mental models are vague.

The engineers who will do well are the ones who know exactly what they want and can tell when what they got is wrong. That requires principles, not just syntax.

Why this exists

I kept explaining the same things in code reviews. Why alphabetical order in methods is not pedantry. Why naming a class after an architectural layer is not a name. Why "it works" is a floor, not a ceiling.

Writing it down is faster.

Contact