Why the Best Systems Use Fewer Decisions, Not More Willpower

Faisal Humayun

Hatched by Faisal Humayun

May 12, 2026

10 min read

74%

0

The real problem is not discipline, it is friction

What if the secret to doing better work was not becoming more motivated, but removing the tiny decisions that drain your energy before the work even starts? That is the hidden connection between writing cleaner code and waking up at 5 a.m. Both are stories about reducing cognitive overhead so that your best attention can go where it matters.

We usually praise productivity as if it comes from force of will. Wake up earlier. Try harder. Be more organized. Write the code. But the deeper pattern is more interesting: high performance often comes from making the right thing easier than the wrong thing. In programming, that means replacing tangled conditionals with clearer structures and using compact syntax to express intent directly. In life, it means designing mornings so that the desired behavior happens before your brain has time to negotiate.

The common enemy is not laziness. It is decision friction. Every extra branch in a codebase and every extra decision in a morning routine taxes the system. The best systems, whether human or software, do not rely on heroic effort at every step. They reduce the number of times you have to ask, “What should I do now?”


Readability is not cosmetic, it is a form of thinking

A lot of people treat readability as a stylistic preference, something you add once the “real work” is done. That misses the point. Readability is not decoration. It is a technology for preserving attention.

Consider a clunky set of if else conditions. It works, but each branch forces the reader to hold more state in mind: if this type, then that field, unless this special case, unless the input is empty, unless we are in the legacy mode. The code is technically correct, yet mentally expensive. A cleaner structure such as a match statement does something more profound than shorten syntax: it externalizes the logic so the reader does not have to reconstruct it from fragments.

The same principle governs a successful early morning routine. If you wake up and immediately face a dozen choices, should you check your phone, make coffee first, journal, stretch, answer messages, or start work, you have recreated the equivalent of a messy conditional chain. The brain burns fuel not on the task but on the branching. By contrast, a simple routine, a bright alarm, a prepared notebook, no phone in the bedroom, turns the morning into a direct path.

Clarity is a kind of energy conservation. When a system is easy to parse, it leaves more power for the work that actually matters.

This is why some people seem “naturally” disciplined. Often, they are not relying on stronger willpower. They have built environments and rules that reduce ambiguity. The code is readable, the morning is readable, and therefore both are easier to execute.


The real tradeoff is not morning versus night, it is focus versus fragmentation

The common pitch for waking up early is that you gain a few extra hours while the rest of the world sleeps. That can be true, but it is not the deepest reason. The more important benefit is that the early morning compresses your life into a low interruption state. You are not just getting time, you are getting unclaimed attention.

That is why the right comparison is not “5 a.m. versus 10 p.m.” It is “when do I get my most coherent thinking?” Some people find that silence at dawn. Others find it after dinner when obligations are over. The point is not the clock. The point is the protected window where your mind can operate without context switching.

This also reframes the cost side. Waking earlier is not free time unless the rest of your schedule compensates. If you steal hours from sleep, you often create a false gain. You may sit at your desk earlier, but with less alertness, less emotional stability, and less creative depth. That is like trimming code length at the cost of maintainability. It looks efficient in the short term and expensive in the long term.

A better question is: what are you optimizing for?

  • If you want solitude, then the morning may be ideal.
  • If you want creative fluency, then the first fresh block of uninterrupted attention matters more than the exact hour.
  • If you want sustainability, then sleep is not optional overhead, it is part of the system architecture.

This is where the 5 Whys method becomes unexpectedly useful. Ask not, “How do I wake up earlier?” Ask, “Why do I want the morning at all?” Then keep going. Do I want silence? Why? To think. Why? Because my best ideas come when I am not being interrupted. Why? Because my work depends on deep concentration, not reactive busyness.

Once you reach that level, you may discover that the goal is not early rising. The goal is predictable access to your best mind.


Why both code and mornings fail when they rely on heroics

The fantasy behind bad code and bad routines is the same: if the stakes are high enough, I will just push through.

In software, this shows up as sprawling conditional logic, hidden assumptions, and patches added at the last minute. In life, it shows up as forcing an early wake-up time without changing bedtime, hoping motivation will somehow overpower biology. In both cases, the system is being asked to do too much with too little structure.

This is why many people fail when they try to become “morning people.” They focus on the alarm, not the architecture. They treat waking up as a single decision instead of the final output of a chain of decisions made the night before. The phone stays beside the bed. The evening stretches too late. The room is bright and stimulating. The next morning, the alarm rings and the body resists. The failure is then blamed on character, when in fact the design was unstable.

The same thing happens in code reviews. A developer may think, “It works, so it is fine.” But if the intent is buried under nested logic, every future change becomes harder. The code is making tomorrow expensive.

A useful mental model here is the difference between execution cost and maintenance cost. Many people optimize only for the moment of execution. They want the feature shipped, the task done, the alarm silenced. But mature systems are judged by maintenance: how easy is it to keep doing this tomorrow, and the day after, without degradation?

That is the hidden virtue shared by simple syntax and consistent routines. They reduce future friction. They make repeated action less dependent on mood.


A practical framework: remove branches before you add effort

If you want a durable morning practice, think like a good programmer. Start by reducing branches.

A branch is any point where your future self has to decide between multiple paths. Too many branches create drift. Fewer branches create momentum.

Here is a simple framework:

1. Identify the decision points

List the moments where your morning usually falls apart or slows down. Examples:

  • Whether to check the phone
  • Whether to hit snooze
  • Whether to start work or “ease in”
  • Whether to journal, stretch, or skip the routine entirely

The goal is not perfection. The goal is to see where your attention is leaking.

2. Convert decisions into defaults

Good systems use defaults aggressively. Put the phone outside the bedroom. Set clothes out the night before. Keep a notebook on the desk. Use a light alarm if that helps your body wake more naturally. Decide in advance what the first ten minutes are for.

This is the human equivalent of using a direct, readable structure instead of a tangled chain of conditions. You are not removing agency. You are removing unnecessary negotiation.

3. Protect the first block of attention

Your first block of focused time is like a clean function call. Do not contaminate it with interruptions. No inbox. No feeds. No input-heavy tasks unless that is the point.

If your best thinking happens in the morning, treat that time as a scarce resource. A creative writer might use it for drafting. A data scientist might use it for analysis or problem framing. A manager might use it for strategic planning. The work matters less than the fact that it is chosen intentionally.

4. Match the routine to your biology, not your identity

Some people love dawn. Some do not. The real question is not whether you are a “morning person.” It is whether you can create a reliable, interruption-free window when your mind is at its best. If that happens at 5 a.m., great. If it happens at 7 a.m., that is fine too.

Identity-based productivity often traps people. System-based productivity liberates them. You do not need to become a different person. You need to build a better interface between intention and action.


The deeper lesson: intelligence is often subtraction

We tend to imagine intelligence as adding more: more options, more features, more flexibility, more hustle. But in both software and life, maturity often looks like subtraction. The smartest code is not always the most complex. The strongest routine is not always the most ambitious.

A concise match statement is powerful because it says exactly what is happening and nothing more. A well designed morning is powerful because it narrows your choices before the day can fragment you. Both are acts of discipline, but not the kind that depends on grim determination. They are disciplined because they are deliberate constraints.

That is a more useful model of self improvement than most people are given. We are taught to add habits, apps, alarms, and tactics. But what if the real breakthrough comes from eliminating the small, repeated moments when your brain has to re-decide basic things?

In other words, the goal is not to become a person who overpowers resistance every day. The goal is to become a person whose environment, schedule, and rules make resistance less relevant.

The most reliable productivity hack is not intensity. It is reducing the number of places where you can get derailed.

This is why some mornings feel magical and others feel sticky. The difference is rarely mystical. It is structural. One morning starts with clarity, protected time, and a simple first move. The other starts with ambiguity, screens, and a dozen tiny forks in the road.


Key Takeaways

  1. Replace willpower with defaults. Put desired actions on rails so they happen with minimal morning decision making.
  2. Treat readability as energy management. Whether in code or routine, clarity reduces cognitive load and preserves attention.
  3. Ask the deeper why. Do not chase an early wake-up time for its own sake. Chase the protected conditions that make your best thinking possible.
  4. Protect sleep as part of the system. Waking earlier by stealing from sleep is not optimization, it is debt.
  5. Design for repeated use, not one heroic day. The best systems are the ones you can run tomorrow without extra effort.

Conclusion: stop asking how to force the outcome, ask how to make it inevitable

The surprising connection between cleaner code and an earlier morning is that both are really about architecture. In both cases, the question is not how to squeeze more effort out of yourself. It is how to build a structure in which effort is used only where it counts.

That is a profound shift. It means the mark of maturity is not the ability to wrestle complexity into submission every day. It is the ability to simplify the path so well that execution feels almost obvious.

So instead of asking, “How do I become more disciplined?” ask, “Where am I making myself choose too often?” Instead of asking, “How do I wake up at 5 a.m.?” ask, “What conditions would make my best thinking available on demand?”

Once you start seeing life this way, productivity stops being a contest of force and becomes an exercise in design. And that may be the most important upgrade of all.

Sources

← Back to Library

Hatch New Ideas with Glasp AI 🐣

Glasp AI allows you to hatch new ideas based on your curated content. Let's curate and create with Glasp AI :)

Start Hatching 🐣