Why is this taking so long?

An analogy from Computer Science might help clarify the issue

Atanu Gayen
2 min readDec 17, 2020

Whenever you’re confused about why some tasks are taking so long whereas others are being finished quite quickly (by yourself, or by other people), the following perspective might help illuminate (a part of) the issue:

The Analogy

Those familiar with Computer Science would probably agree with me when I say that, in general, coming up with a good and correct algorithm to solve a problem, is a much harder problem than executing the algorithm itself, once you have it.

By Good, I mean: less wasteful/more efficient in terms of time and resource usage.

By Correct, I mean: actually solves the problem without unwanted side-effects.

By Algorithm, I mean: a clear, unambiguous, step-by-step executable procedure.

The Issue

Most real-world tasks are a blend of these two types of problems:

  1. Finding Good, Correct Algorithms, and
  2. Executing them.

Of course, this is just an analogy.

Having an algorithm could mean anything from… being familiar with a possible solution because you’ve dealt with a similar problem before, to literally having a tool that can do the job or an entity to which you can delegate the task (without you having to intervene much)… and everything in between.

Now usually, if you already have the correct algorithms in place, it’s a matter of simply executing it and getting results, which seem to come fast.

When things are taking too long, it’s usually because

  1. We don’t have the correct algorithm for some part of the task, and finding it is itself a big task. Or sometimes,
  2. It’s because we don’t even know exactly what problem we are solving, in this particular part of the overall task. In which case, its time to dive down to this lower level of abstraction and:
  • Clarify goals
  • Find Algorithm
  • Execute (which can include automation/delegation if possible)

So, to come back to the initial question: If it’s taking too long, the reason is usually (but not always) simple:

Most of the task, for you, involves finding algorithms rather than executing them.

I know… not exactly ground-breaking stuff, but sometimes simple, obvious things are worth pointing out to clarify issues.

--

--

Atanu Gayen

Data Scientist and serial wanderer in the realm of interesting ideas... Here to turn my daydreams into symbols