Topic Hub

Software engineering

Production lessons on architecture, debugging, maintainability, deployment workflows, and the tradeoffs that separate toy systems from durable ones.

This is the broadest bucket on the site, but it all comes back to one question: what still makes sense when the code has users, constraints, and consequences?

Start with these articles:

If your problems are mostly about systems getting harder to reason about, this is the lane to stay in.

/ 14 min read

Rails Has Been Dying Since 2010. I'm Still Building Production On It in 2026.

Every couple of years someone publishes the Rails obituary. Every couple of years I ship another production system on it. The reason isn't loyalty — it's that nothing has actually replaced what Rails decided to do.

Read article
/ 4 min read

Why Senior Developers Sound Slower Than They Really Are

Experienced engineers ask more annoying questions up front because they have seen what rushed certainty costs on the back end.

Read article
/ 4 min read

The Best Stack Is the One Your Team Can Debug at 2 A.M.

Stack decisions are not just about developer experience on launch day. They are about who can understand the failure when production gets weird.

Read article
/ 4 min read

Most API Versioning Advice Falls Apart in the Real World

The argument is rarely about URLs versus headers. The real problem is that most teams version without a consumer strategy, a deprecation plan, or any operational discipline.

Read article
/ 4 min read

Most Teams Do Not Need Microservices. They Need Better Boundaries.

Splitting a messy system into five deployables does not create clarity. It usually creates more places for the same confusion to hide.

Read article
/ 5 min read

AI Can Write Code. It Still Cannot Own Production.

Generated code makes shipping faster. It does not make consequences smaller. The expensive part of software is still ownership.

Read article