← Prajjwal Chittori

The Unexamined Roadmap Is Not Worth Shipping

Prajjwal Chittori · August 2017

The unexamined life is not worth living. Socrates said it at his trial, with the option to recant and live, and he chose the line over his life. People quote it constantly and almost nobody asks the obvious follow-up: what does examining actually mean? Because most people think they’re examining their life when they’re just narrating it. There’s a difference, and it’s the difference between debugging and complaining.

Examining, in the Socratic sense, is adversarial. Not gentle reflection over coffee. The relentless interrogation of your own beliefs until they either survive or break — why do I think this, how do I know it, what would prove me wrong. Socrates did it to other people by asking questions until their confident positions collapsed into contradiction. The examined life is doing that to yourself, on purpose, to the beliefs you most want to keep. Not the easy ones. The load-bearing ones.

The cleanest model for this is the one from work, because engineers already know how to examine a system, they just rarely turn it on themselves. When a service misbehaves you don’t sit with your feelings about it. You form a hypothesis, you instrument, you trace the actual path the data takes, and — this is the key part — you go looking for the place your mental model is wrong. The whole discipline of debugging is institutionalized self-doubt. You assume your understanding is flawed and hunt for the flaw. That’s the examined life applied to code. We’re rigorous about it for software and almost completely unrigorous about it for ourselves.

Because watch what people actually do with their careers, their companies, their plans. They run on an unexamined model and never trace it. I should raise money — why? We need to grow the team — toward what, and how do you know? This is the obvious next move — obvious by what reasoning you could write down and defend? Most strategy is belief inherited from someone confident, dressed up as analysis. Never instrumented. Nobody traced whether the assumptions still hold or were ever true. The roadmap is a model running in production that no one ever stepped through, and like any unexamined system it’s full of bugs you’ll only find the expensive way.

The reason we don’t examine is that examination is destabilizing by design. If you genuinely interrogate why you’re building what you’re building, you risk the answer being no good reason, and then you have to either stop or admit you’re proceeding without one. That’s uncomfortable enough that most people quietly decline to look. They keep the unexamined belief because examining it might cost them the belief, and the belief is load-bearing — their identity is built on top of it. So they protect the bug rather than fix it, and call the protection conviction.

Socrates’ wager was that a life you’ve never interrogated isn’t fully yours — you’re just executing inherited code, running someone else’s program and calling it your choices. I think that’s exactly right, and exactly as true for a company as for a person. The roadmap nobody examined isn’t strategy. It’s momentum in a strategy’s clothes. The career nobody traced isn’t a path you chose. It’s a default you never overrode.

So I try to run the debugger on my own plans the way I’d run it on a failing service. Pick the belief I’m most sure of — the one I’d be most annoyed to question — and ask how I actually know it. Most survive, and I hold them more firmly for having been tested. But every so often one breaks, and breaking it is the most valuable thing I do all quarter, because it’s a bug I was about to build a year on top of. The unexamined roadmap isn’t worth shipping. Trace it first.


One of a series of essays. I’m Prajjwal Chittori. prajjwalchittori.com.