← All writing
Systems thinking April 14, 2026 · 7 min read

Every Black Box Is a Set of Choices Someone Made a Long Time Ago

When you understand how something works, you stop accepting it as a given.

Most of what we work inside is a black box. The auth system. The deploy pipeline. The pricing model. The org chart. We treat them as facts of the world, the way you treat gravity.

They aren’t facts. They’re decisions. Somebody, sometime, picked them. Usually under different constraints than the ones you’re working with now.

The cost of treating choices as givens

When you accept a system as a given, you stop noticing what it costs you. The auth quirk becomes “just how login works.” The deploy bottleneck becomes “the way we ship.” The pricing tier becomes “what customers expect.”

None of those are true. They’re load-bearing assumptions, and every workaround you build on top of them is interest payment on a decision somebody else made.

Opening the box

You don’t have to rewrite the system. You have to know that it’s a system. Three questions help:

  • What problem was this built to solve? Often the answer is “a problem we don’t have anymore.”
  • Who decided this, and when? Decisions made by a 5-person team in 2019 don’t automatically apply to a 50-person team in 2026.
  • What would we do if we were starting today? The gap between the answer and the current state is the cost of inertia.

You don’t need to act on every gap. You just need to see them.

Why this matters more now

Software systems used to age the way buildings did — slowly, with visible cracks. Modern systems age fast and quietly. A choice that was right two product cycles ago can be a tax on everything you ship today, and the cracks don’t show up where the original decision was made. They show up downstream, looking like a different problem.

The work isn’t to question everything. It’s to remember that everything was, at some point, questioned.