← Papers

Where Judgment Comes From

March 11, 2026

Engineering judgment is not something you learn from frameworks, design patterns, or documentation. It is formed through experience where decisions carry real consequences.

Long before I wrote software professionally, I worked in environments where failure was not theoretical. It was immediate, visible, and often irreversible.

Judgment is not built by knowing more.
It is built by being accountable for outcomes.


Where It Starts

I served in the United States Coast Guard. After that, I spent over a decade in the fire service across airport rescue, wildland and structural operations, and leadership roles that eventually led to Fire Chief. I worked as a paramedic on the ambulance, and later taught traumatic brain injury care at a national level.

Those environments share a common characteristic. Decisions matter immediately.

You do not have the luxury of perfect information. You do not get extended time to reconsider. You assess, decide, act, and live with the result. If you are wrong, you learn quickly. If you are right, it is because your thinking held under pressure.

That changes how you approach problems.


What That Teaches

Working in those environments builds a different set of instincts.

You learn to prioritize clarity over cleverness.
You learn that coordination matters more than individual effort.
You learn that ambiguity is dangerous when multiple people need to act.
You learn that systems fail at their boundaries, not at their center.

Most importantly, you learn that decisions compound.

A small mistake early becomes a larger problem later. A clear decision early prevents an entire class of problems from ever forming. That is not theory. It is something you see repeatedly.


How It Carries Into Software

When I moved into software engineering, those instincts did not go away. They translated.

Architecture is coordination.
System boundaries are lines of responsibility.
Failure modes are not edge cases. They are expectations.
Clarity is not optional. It is what allows systems to function under pressure.

Many of the same failure patterns exist. Unclear ownership. Implicit assumptions. Poor communication between components. Decisions made locally that do not hold at the system level.

The difference is that in software, the consequences are delayed. That delay makes poor decisions easier to justify and harder to detect. Systems appear to work until they are stressed. By then, the cost of correction is much higher.

That is why judgment matters more than tools.


The Underlying Principle

The difference is not that one domain is harder than another. It is that some environments force you to develop judgment early, because the feedback loop is immediate and unforgiving.

Software does not force that in the same way. It allows poor decisions to survive longer. That is why many systems degrade slowly instead of failing outright.

But the underlying principle is the same.

The quality of the outcome is determined by the quality of the decisions that produced it.

Continue reading

Papers

This reflects how I approach building systems at XRiley. If you are solving real problems and need clarity in how to design, scale, or stabilize your software, that is the work I do.