01-engineering-foundations

Decision Making

01-engineering-foundations/decision-making

Decision Making

Overview

Decision making is the process of choosing a path with incomplete information while managing risk and reversibility.


Why It Matters

Better decisions create faster teams because they reduce rework, debate, and uncertainty.


Core Concepts

  • Not every decision deserves the same level of analysis.
  • Reversible decisions should move faster.
  • High-risk decisions should be documented.

Mental Models

Ask what is known, what is assumed, and what would change the decision.


Best Practices

  • Write down the options and trade-offs.
  • Bias toward the smallest decision that still works.
  • Revisit decisions when new evidence appears.

Common Mistakes

  • Arguing preferences as facts.
  • Treating uncertainty as a reason to stall.
  • Forgetting to record why a choice was made.

Trade-offs

Fast decisions keep momentum. Better-documented decisions keep the team aligned when context fades.


Decision Framework

  1. Define the problem.
  2. List the constraints.
  3. Compare the realistic options.
  4. Choose the lowest-risk option that satisfies the goal.

Examples

  • Use native browser behavior when it is sufficient.
  • Prefer an existing shared component over introducing a new abstraction.

Checklists

  • Do we understand the real constraint?
  • Is the decision reversible?
  • Will the team understand the reasoning later?

Senior Engineer Notes

Senior engineers make fewer but higher-quality decisions by reducing ambiguity before choosing.


Further Reading