To Explore or to Exploit, that is the question?

I started my career as a software developer, which for most parts involved solving hairy problems.

Some of those hairy problems make you feel paralyzed and hard to see the next steps.

It's like staring at the never ending dessert, and wait it's actually quick sand now and you are sinking.

One of the rules, or rather, principles I practiced is a rule called Explore Vs Exploit.

I picked this up from a book called Algorithms to Live by (great book if anyone is interested in learning computer science based thinking for ordinary life).

The rule goes like this - You need to Explore for a set period of time before you start to Exploit.

When a person faces a problem, it's usually a scenario where you know very little about the context of the problem.

What happens usually is either

  • you jump into solutions too fast, without having clarity of the problem
  • or goes into researching mode, where you are stuck with analysis paralysis

So how can you apply explore vs exploit?

I define a time box in which I am allowed to wrestle and explore the problem. I usually pick 2 hours.

In these two hours - I read some background information, write down questions and try to get myself to have more clarity around the problem.

Then when the 2 hours is up - I decide what does a solution look like in the earliest stages.

Then I make a simple plan to get to that solution without thinking too much and execute that.

This execution provides feedback, allowing you to iteratively solve the problem.

You go into several iterations of explore vs exploit.

You explore by exploiting.