Skip to content

Building Robust Systems

A personal system is a set of activities that I do because I want to achieve a certain goal OR because I like doing it.

I have convinced myself that the goal is a worthy goal, and now I shall play by the rules that I have set up for myself. I am generally good at sticking to a system once I build it. This time, I want to write about it in an attempt to reason through what is going on.

I have engineered my life to follow a certain routine. This is steady state. It has its quirks where serendipity can creep in, but largely this is a big predictable machine. I do not like surprises. I eat the same dinner from the same shop about 6 days a week. I like it this way.

When I want to introduce a new goal in my life, one that is sufficiently hard for me, it only follows that I have to cause some disruption in this steady state.

The reason is that a sufficiently hard goal is hard enough that my current skill set is not adequate to achieve it. At the same time, it is easy enough that I can train to achieve said goal. It is a fine balance.
This keeps the training part interesting and enjoyable. Being able to enjoy this part is crucial; otherwise, I will stop training. This is [[flow state]].

A big mistake I make is misjudging this fine balance and setting goals that are either too lofty or too easy. One makes progress invisible, and the other makes the training uninteresting.

In this post, I will try to illustrate how I am going about building a morning running habit. Most of my runs happen in the evening, and I am transitioning to a morning routine. I am also increasing my running volume.

Stages of building a robust system

Escape Velocity / Static Friction / Inertia

This is the initial part of building the system. This is where I am literally fighting with my other systems in order to build a new one.

Under steady state, all of my systems are working on autopilot. They hardly register as extra work. My body is used to this. This is the status quo. The act of adding something new to this mix is an inherently disruptive process. I have to fight with my other systems in order to carve out enough time and effort for my new task.

I am also learning a new skill, so things will take more time. This adds to the cost. I am not merging two steady-state skills together. I am playing catch-up with one skill (in most cases) and then merging it with the rest of the system.

Take running as an example. When I am trying to run 10k in the mornings, I am not just trying to fit running into my morning routine. I also have to carve out extra time from other morning activities so that I have enough buffer for my running block to spill over. Maybe in steady state I can run 10k in 1 hour in Zone 2, but right now I can't. So I cannot budget 1 hour in the morning for my runs. I have to account for more time. This time is coming out of something else (most likely reading).

I am not merging two highway lanes together that are running at the same speed. I am using an on-ramp to merge onto a highway lane. I have to accelerate to match the speed of traffic and then merge.

Steady State-1

Once the initial part is over, my new activity can be integrated into the larger routine. Once this happens, I will naturally have some leeway because I accounted for some buffer initially. This is a good thing. Things will suddenly start to feel easier.

I have reached a new steady state.

Why being robust matters

Systems need to be able to adapt to situations. A system that does not allow tolerances is too rigid. It risks breaking at the slightest disturbance.

Just imagine if my entire morning routine went for a toss the moment I added running to the mix. My other routines need to be able to withstand the disruption when I add something new. Without that, I won't be able to do anything new at all.

This was harder to design for than I had anticipated. I would make weekly running plans and then completely stop running the moment I missed one midweek checkpoint. This is more of a mental game than a physical one.

Also, life happens. I want to be able to party once in a while without feeling too shit about missing a training day.

This is why having robust systems is important.

Thats it.