Ship fast without breaking things

Every team slows down as it grows. More people, more code, more meetings, less shipping. It doesn't have to be that way.

These essays dig into velocity, teamwork, and taming complexity — the engineering side and the people side. They're the thinking behind Scaling Fast, my book on software engineering through hypergrowth.

Essays on shipping fast

May 2022

Writing software is like kicking a can

Writing software is a playful process of exploration and discovery. Like a game of kick the can on a Sunday walk.

The Italian foods theory of bad software design 🍝

Spaghetti code – unstructured Ravioli code – too structured Lasagna code – layered wrong Minestrone software – unclear domains

April 2022

How we made the best burndown chart you've ever seen

My entire career I've never seen a sprint finished on time. The new manager said "Oh I think we can fix that" ... 18 months later he proved me wrong

October 2021

What's more productive, a team or a talented soloist?

Engineers *hate it* when you say it doesn't matter how good they are because a team will outcode them any day. But it's true, you can't build something big on your own.

August 2021

WorkInProgress kills your progress

If it takes 6 engineers 10 days to complete 6 projects in parallel, why does it take 8 days when you work together 🤨

Tech debt is a tool

If your house was on fire, would you mow the lawn first?

November 2013

My old code is atrocious