
Yesterday, I dreaded a routine task. I know how to do this task. However, on a day I was feeling a bit creatively drained, I was dreading sitting down to start the process, which was a bit complex, involving 5-7 subtasks.
A lightbulb went off in my head – why didn’t I just write down this routine for each subtask?
As I wrote it down, I realized there were some steps I could batch or do differently to make the task easier for myself. I then realized that when I came back to the task next time, I could continue to improve my routine. I also set a timer so I knew how long it would take. I could compete against myself next time, like I love doing on the Stairmaster.
As I wrote down the steps and started to work through it, I found myself..having fun. I could feel myself improving. All of a sudden my world opened up in a broad expanse of places I could apply this principle to. I could do this in other parts of my business. I could do this for my life.
I set out to find more inspiration. I tried to google “building subroutines” but alas, not much came up. This seemed like the kind of thing Paul Graham would write about, but nothing there. I watched some interesting YouTubes on other people’s writing routines. There were videos on how to build systems. There was the classic Get Things Done.
But none really addressed the concept I was trying to get at.
I thought back to other parts of my life. In computer science, we were taught to create subroutines. Subroutines are smaller, named sections of code that are written within a larger program. The purpose of a subroutine is to perform a specific task. This task may need to be done more than once at various points in the main program. Subroutines are usually small in size, which means they are much easier to write, test and debug.
They are also easy for someone else to understand. As they are written outside of the main program, subroutines can be saved separately as modules and used again in other programs. This saves time because the programmer can use code that has already been written, tested and debugged.
A subroutine may be used repeatedly at various points in the main program and changed by passing in data known as parameters. However, the code only has to be written once, resulting in shorter programs.
I had an idea…what if I could create subroutines for my life that make things that feel mentally overwhelming in a busy life easier?
For example, one task for me right now is “Prepare for X meeting.” But I don’t have an easy routine of “Prepare for X meeting.” If I wrote out all the steps, it would occupy less mental bandwidth in my head. This is especially relevant for tasks I perform often, or more complex tasks I perform once a quarter or once a year.
And then I could use James Clear’s “Atomic Habit” principle of habit linking to link related subroutines to each other. Or make things more enjoyable.
For example, last night I really didn’t want to do the dishes (we have no dishwasher). It was late. But I said – why don’t I put a cup of tea on and listen to some nice music and just do one dish. Then that one dish was satisfying & my hands were already wet, so why not do the other 7 or 8? Before long, I had a steeped cup of tea, a clean sink, and a deep sense of satisfaction.
So there’s linking / improving.
As I reflected back, I realized I have a lot of what I would consider to be “legacy code”, subroutines I do on autopilot.
There’s also refactoring. which is the process of evaluating – okay, now that the routine is explicit..how can I improve it? Every time I run one of my life’s subroutines, I have an opportunity to leave it slightly better than I found it.
Remember learning to drive? You (or maybe this was just me) spoke instructions out loud:
“Signal, Mirror, Over the Shoulder, Turn.” After a while, I just thought “Turn left.” But the individual actions didn’t disappear, they just complied into a higher-level unit of behavior.
When you repeatedly perform a sequence of actions, neural circuits involved in practiced skills can become more efficient through learning and changes that include myelination. You stop consciously processing every component.
Many productivity things in the past didn’t work for me because they felt huge, and didn’t allow me to start small. But when I thought of subroutines, I feel like I stumbled onto a breakthrough of how I can continue to have balance, productivity and focus in my life. And more importantly – to preserve my precious creative energy for meaningful pursuits. Writing things down, improving them, and ultimately not requires your future self to rediscover what your past self already learned.
I’m not sure that I have a call to action in this piece, just documenting something I unlocked recently.