Writing
Blog
Thoughts on building software, picking the right tools, and shipping things that work.
Why I Freelance
The decision to go independent, what it's actually like, and why I'm not going back to a 9-to-5.
Read articleStop Rewriting Everything
The rewrite is never as simple as you think. Here's why incremental improvement almost always wins.
Read article"Clean Code" Is a Lie
The industry obsesses over clean code. But shipping matters more than style guides.
Read articleHow I Debug Anything
A systematic approach to finding and fixing bugs, no matter the language or stack.
Read articleAPIs Nobody Hates
Design principles for building APIs that developers actually enjoy using.
Read articlePostgres Is Enough
You probably don't need Redis, Mongo, or Elasticsearch. Postgres can do all of it.
Read articleThe Solo Developer's Toolkit
Every tool and workflow I use to ship software as a one-person team.
Read articleShip First, Optimize Later
Premature optimization is the root of all evil. Here's when to care about performance and when to ignore it.
Read articleThe Art of Saying No to Features
Every feature you add is a feature you maintain forever. Here's how I keep scope under control.
Read articleHow I Pick a Tech Stack
There's no universal best stack. Here's the framework I use to choose the right tools for each project.
Read articleDeploy Like You Mean It
Docker, nginx, SSL, CI/CD — the unglamorous stuff that makes your app actually work in production.
Read article