“Do you know what leadership means, Lord Snow? It means that the person in charge gets second-guessed by every clever little tw*t with a mouth. But if he starts second-guessing himself, that’s the end.” - Ser Alliser Thorne

Before I became a senior software engineer I often thought my beloved company was terrible at their architecture. I questioned a lot of decisions. But decision making at scale is difficult.

It’s hard to come up with a perfect solution on the first try. The path to perfection isn’t linear. You have to iterate, trial and error to hopefully arrive at a desirable state. Not every project succeeds. Often the reasons a project fails are well beyond your control. The priorities are shifted. Budget is cut. Bad information was given.

Don’t blame yourself if that happens. Move on and keep going. Even great commanders can make the best decisions in a war and still lose. Worse than that is a commander who can’t decide.

As I’ve gained more ownership, decision making has become more difficult, time-consuming, and stressful. What I’ve learned is that good leadership is less about finding a perfect answer and more about choosing, committing, getting buy-ins and adjusting quickly.

These guidelines help me make decisions faster:

Frame it

  • Define your MVP. Otherwise you don’t know what problem you’re solving.
  • Separate reversible from irreversible decisions. If easily reversible, decide within 10–60 minutes.

Timebox it

  • Use the 70% rule. If one option seems roughly 70% right, proceed. <– Perfect is the enemy of good. Good is well enough. You can always optimize after delivering and gaining traction.
  • Set a timer. When it ends, choose the best available option—no additional research.
  • Pick a default. When options are close, choose the simpler, cheaper, or faster one.

Commit to it

  • Commit for a fixed period. Example: “I’ll use this architecture for two weeks before reconsidering.”

  • Write down the plan. Commit to it. If you commit to a plan while also pursuing plan B, then you really haven’t committed to your plan at all.

Write it down

  • Document your thought process. Record reasons for alternatives you considered and why you avoided them.
  • Record uncertainty instead of resolving it. Write: “Not sure what the latency of this feature will be at scale. Will revisit if latency goes above 200ms”. Getting it documented relieves you of its burden.

Evaluate

  • Get feedback on your final decision and final stamp of approval on your feedback. Even though you’re a lead, doesn’t mean the good and bad of it, is all to be attributed to you. Take it easy. Being mentally light-weighted allows you to move faster.
  • Judge the quality of a decision by the information and reasoning you had at the time, not just by how it turned out. A good decision can still lead to a bad outcome because of luck or circumstances outside your control.