A new book · Coming soon

Software Engineering Should Be Easy.

Somewhere between the idea and the deploy, we added six microservices, three approval committees and a Kubernetes cluster to host a contact form. This is a funny, honest and genuinely useful book about how people and companies overcomplicate software, and how to get back to shipping.

  • “Let’s just add a queue.”
  • “It should be configurable.”
  • “We’ll need a platform team for that.”
  • “Let’s rewrite it in Rust.”
  • “Can we make it event-driven?”
  • “What if we built our own framework?”
  • “Let’s get an AI agent to handle it.”
  • “Quick sync?”
  • “It works on my cluster.”
  • “We might need it later.”

The problem

The ticket said “small.”

Every engineer has watched a simple request grow into a cathedral. The book is a tour of how that happens, why smart people keep doing it, and the boring, effective habits that stop it.

PROJ-1042Story · 2 pts

Add an “Export to CSV” button to the reports page.

Users want to download their monthly report so they can open it in a spreadsheet.

Estimate
2 days
Priority
Nice to have
What was asked
  • A 14-page RFC and two architecture reviews
  • An event-driven export microservice
  • A message queue so the app can talk to the export microservice
  • A Kubernetes operator to manage the message queue
  • A custom YAML DSL for describing CSV columns
  • A feature-flag platform (built in-house, obviously)
  • An AI agent that summarizes the export logs nobody reads
  • The button. (Shipped in Q3. Exports JSON.)

Estimate: 2 daysActual: 2 quarters

What’s inside

Ten chapters. Zero design patterns to memorize.

Each chapter takes one way we make things hard, laughs at it a little, then hands you something concrete to try on Monday morning.

  1. 01

    You Are Not Google

    Designing for a billion users when you have eleven. How to size a system for the problem you actually have.

    Architecture
  2. 02

    The Microservice That Should Have Been a Function

    Distributed systems are a tax. When it’s worth paying, and how to notice you’re about to.

    Architecture
  3. 03

    Abstractions All the Way Down

    Premature abstraction, DRY gone feral, and the quiet joy of code that just says what it does.

    Code
  4. 04

    The Meeting About the Meeting

    Process that helps versus process that performs. Fewer ceremonies, more shipping.

    Teams
  5. 05

    The Ticket Said “Small”

    Estimates, scope creep and the fine art of saying “that’s a different ticket.”

    Teams
  6. 06

    Your AI Pair Programmer Is Very Confident

    Coding with AI assistants for real: where they shine, where they invent things, and how to review what they write.

    AI
  7. 07

    Prompt, Review, Ship

    Practical AI workflows for modern teams: specs, tests, context, and keeping a human on the hook for judgment.

    AI
  8. 08

    We Don’t Need an AI Strategy Deck

    How companies overcomplicate AI adoption, and the small, boring experiments that actually pay off.

    AI
  9. 09

    Choose Boring Technology, Get Interesting Results

    Why the stack your team already knows is usually the right one, and how to tell when it isn’t.

    Tools
  10. 10

    Delete Code, Feel Better

    Simplicity as a daily habit: refactoring, saying no, and leaving things better than you found them.

    Craft

Working titles. Subject to change, unlike your legacy monolith.

Modern engineering

AI makes the easy parts easier. It also makes overcomplicating things effortless.

Three chapters cover using AI in a real industry setting. Not a demo, not a hype thread: a team with deadlines, legacy code and a security review on Thursday.

Add validation to the signup form.
Great idea! I’ve created a ValidationStrategyFactory, an abstract BaseValidator, four new packages and a plugin system for your future validation needs.
…it’s one email field.
You’re absolutely right. Here’s the one-line version.
<input type="email" required>
01

Treat it like a fast, eager junior

Brilliant at drafts, boilerplate and first passes. Still needs a reviewer who knows what “done” means.

02

Context beats clever prompts

Clear specs, good tests and readable code make AI tools dramatically better. They help humans too, coincidentally.

03

Own the judgment

AI can write the code. Someone on your team still has to decide whether it should exist.

04

Start small, measure honestly

One workflow, one team, one metric. Not a twelve-month transformation program with a logo.

Try it

The Overcomplication Generator™

Generate an architecture proposal worthy of your next planning offsite. Then read the line underneath it.

Proposal #0042 · Status: In review (forever)

To let users reset their password, we propose a Kafka-backed event bus, orchestrated by a custom Kubernetes operator and governed by a weekly Architecture Council.

Estimated delivery: Q3, probably

Or

Email them a link. Done in 20 minutes.

Who it’s for

For anyone who has sat through a 90-minute meeting about a 9-line change.

  • Engineers

    who suspect the pull request didn’t need 2,000 lines.

  • Tech leads & managers

    who want their teams shipping, not performing ceremonies.

  • Founders & product people

    who wonder why the “quick change” took a sprint.

  • Recovering architects

    who wrote the 40-page design doc. We forgive you. Mostly.

The mailing list

Be first to read it.

Launch news, early chapter previews and the occasional very short essay on keeping things simple. Straight from A to B.