← Writing

Don't Be a Hero

6 min read

Heroism is a painkiller you hand the company. It looks like a cure until the team can't function without it.

I was three pull requests deep into a queue of nine. We had a launch the next week, and I had decided, somewhere along the way, that the only way to ship it was to review every line of code myself.

I thought I was saving the company. I was the bug.

Let it sink — Elon Musk

What I was actually doing

For over a year I worked six days a week, ten hours a day, sometimes twelve. The hours were not the problem. They were the symptom of how the day was being spent.

Three to four hours went to code review and deploys for one feature. Another two went to the micro-decisions a team brings to whoever has the answers: a teammate pinging me at 9pm with an error message, a half-finished PR that needed a verdict before it could merge, a question about whether the convention I set six months ago still applied to a new module.

By evening, the work only I could do was always the work I did not get to.

The team optimizes around you

When you become the bottleneck, the team optimizes around you. Not consciously, and not because they are lazy. Rational people stop doing work the system has already routed around them.

They stop scoping properly because they know you will catch it in review. They stop writing tests because they know you will find the bug before prod. They stop pushing back on customers because every roadmap question routes through you anyway.

The team becomes as good as your worst review at midnight, because that is the standard you have set for the floor.

When I stopped

Someone I trust told me to stop. Stop reviewing every PR. Stop being the deploy gate. Trust the team.

I did.

The next month was bad. Sales questions sat unanswered for weeks. Support escalations piled up waiting for engineering input no one would give. Things shipped half-baked. Features got built that we did not want to build, because customers asked loudly and there was no one playing roadmap defense. We are still receiving bug reports today from work that landed during that stretch.

I want to say that backfired. It did not. It made visible what was already true: my heroism was not holding the company together. It was hiding the cracks.

The decisions I was avoiding

Expanding brain meme: Review more PRs / Fire someone / Leave the company / Shut it down

Once the problem is surfaced, the next step is rarely obvious. It is foggy. You see the shape of the decision, not the decision itself.

What you can see is that the decisions are binary. Hire or fire. Pivot or double down. Stay or leave. Keep going or shut it down.

The fix points in the direction of the problem. If a teammate is not carrying their weight, you fire them. If leadership is not doing the job, you leave, because you cannot fire them. If the market will not pay, the company shuts down. Heroism keeps those calls off the table because heroism lets you pretend the choice has not arrived yet. Surface the problem and the choice is back, and the answer comes faster than it would buried in PRs.

The fix was making the calls I had been deferring, including the ones about me.

Fail fast is a contract

The hero version of fail fast is a war story. Stayed up until 4am. Drove from the airport. Got the launch out.

The non-hero version is boring, and that is the whole point. The moment I knew we would not make the deadline, I told the stakeholder, and we cut scope. Same conversation a hero would have at 4am, but held early, before it became a crisis.

Timing is the whole contract. Raise a blocker early and it is a planning conversation. Raise it late and it becomes a missed commitment dressed up in adrenaline, and your problem, not the stakeholder's.

The company would almost always have been fine. The deadline would almost always have moved. What was missing was the conversation that let it move.

Urgency is not deadline

Customers spend three months evaluating your product. They get on calls. They run pilots. They compare you to four competitors. Then they sign.

Three months of evaluation does not collapse into a Friday because your calendar says so. The customer can wait a week. What they cannot do is un-experience a broken product.

The thing they will remember is not whether you hit the date. It is whether the thing worked when they pressed the button. So you communicate, move the date, cut the scope, and ship the thing that works. The customer who watched you do that is the customer who renews.

No one hands out medals

The other thing nobody tells you is that the medal does not arrive. The stakeholder does not see the hero, the stakeholder sees a missed deadline and a pressured team. Your team sees a leader who would rather be a martyr than a manager. The customer sees a product that does not work. Only the hero sees the hero, standing between the company and collapse.

From the inside it feels like devotion. From the outside it looks like someone refusing to do the actual job, which is making the company work without them.

Hard work is not heroism

None of this is an argument against working hard. Hard work is sustainable. It compounds.

Heroism is the opposite. It draws on a balance you do not have, tells you you will repay it later, and runs the same trick again next sprint.

The painkiller

A hero is a painkiller. The pain is real. The relief is real. The cause is untouched.

If your company cannot survive a week without your weekend reviews, your weekend reviews are not what is saving it. They are what is preventing it from learning what is actually broken.

Stop being the cure. Be the diagnosis.