Algorithmic Thinking

We see the same type of problems with the same type of structure over and over again. Algorithmic thinking is creating a little process that lets us bring our best ideas to bear on the situation consistently.

As an example, take decision making. Each time I make a choice, I have an opportunity to improve my choice through a simple algorithm. For example:

  1. What are the goals underlying this decision? Can I achieve those goals through other methods?
  2. What would my most courageous self do? My most rational self? What would the people I respect do?
  3. Imagine that some of the options are eliminated or required. What would I do then?

Asking these three questions in front of each decision will improve decision quality dramatically. The cost to doing it is made up for in spades by the improvement in direction.

The ideal outcome is that it stops being work to think through - it begins to happen automatically, as you consider any decision. And so by assimilating patterns of thought you become a better thinker.

This was a short example, but you can imagine having a process or algorithm that you run that’s much longer. Here’s an example for short-term productivity hacks.

  1. Environment - Set yourself up in a space when you know you will act consistently with what you care about (or, inverting, ensure that you avoid distraction)
  2. Write Out Simple First Steps (Getting Things Done style, make each first step as simplistic as possible to lower activation energy to acting).
  3. Time Limits - set yourself a very specific goal and set out to achieve it completely within a time constraint.
  4. Pomodoro (25 minutes on, 5 minute break)
  5. Time track (record your behavior) in real time.
  6. Knock out simple tasks immediately and as they come (2 minute rule).

Running this type of algorithm when you feel like you lack motivation or even whenever you decide how to work will lead to a boost. And so eventually you make the principles into habits that lead to longer term improvements.

Specialization means that you probably see a particular type of problem really often. Writing your own short (or longer) algorithms for those problems is one easy way to dramatically improve the quality of your behavior.

You start to find that if you want to accomplish any task, writing an algorithm for it is quite easy. The difficult part becomes behaving in a way that’s aligned with your idea. But the thinking can often be quite easy - getting used to thinking algorithmically can free up mental resources (attention and worry) as well.