Frameworks for Problem-Solving (Part I)

The Multi-Threading Principle

Ravi Tandon
6 min readFeb 26, 2021

Motivation

The primary motivation behind writing this post is to share some of the ideas, principles, and motivations that I have developed over the course of my life that help me solve problems in life. Each problem has its own way of solution and we, as the problem-solvers, need to be able to find the right solution path for the problems that we encounter. My hope is that this post will serve as a guide for everyone stuck in some problem or the other and help them overcome that in their lives.

This blog post is the first in a series of blog posts around the techniques I use for problem-solving in my day-to-day life.

The Multi-Threading Principle

The multi-threading principle states that for certain problems it is efficient to work on multiple problems at the same time. You can imagine your mind as a computing device and each of the lines of work is a thread of computation. With that analogy in mind, in an efficient world, you will have multiple threads of computation processing the problem in parallel. The underlying principles with respect to the solution are as follows:

  1. Time-Sharing: When working on multiple problems, you can divide the time between multiple problems. Daniel Kahneman, in his book Thinking Fast and Slow, talks about two types of our brain powers. The first is the fast, subconscious part of the brain that takes quick decisions based on our experience and the other is the conscious, analytical part of the brain that takes decisions slowly after deeper analysis. While solving problems, we could keep a problem that we have been working on for a long time in the slow part of the brain that we work on overtime. The faster subconscious part of the brain can keep solving problems as they come. Thomas Edison has attributed many of his insights into his experiments and new discoveries to a state of awareness and thinking he reached when entering what is known as a hypnogogic state (reference). Edison would generally hold two steel balls in both hands when he was preparing to sleep and was challenged by a daunting large problem. Some naps he would be sitting upright in a chair.
  2. Making progress, when stuck: Keeping multiple threads at the same time also helps ensure that you are able to make progress on new problems when you get stuck on a given problem. Sometimes, this helps connects the dots by keeping you creative and energetic during the process of solving problems. This is the reason why many people love to play Rubik’s cube, chess while working on the harder day-to-day problems.
  3. The idea of incremental progress: While working on a problem, often, we get stuck and psychologically chafed. It happens because we are not able to find a path to success. Hard problems do take a lot of time to be resolved. One good technique to keep your mind fresh and happy is to keep counter-balance the negative forces with positive forces. This can be done by coupling a tricky problem with a simpler easier problem. Making incremental progress on a problem helps you keep yourself motivated and happy and leads to better, new ideas.

The Mechanics Of Productivity

For this paragraph, refer to the figure given below.

The figure contains 2 curves. Each of them denotes the productivity vs. time spent working on a problem. I have divided the curve into 3 distinct regions/zones. These are as follows:

  1. The Learning Zone: The Learning Zone or the learning curve is the first part of the journey. In this part, we end up learning the basics of the problem and gather knowledge. Usually, the productivity of the person solving the problem is not very high during this period. This zone has the highest accumulation of knowledge, less output per unit-time spent, and has higher levels of frustrations associated with it.
  2. The Productivity Zone: As we work through the problem and gain a certain threshold of skill, we start to see our productivity increase in an exponential manner. The gains from knowledge tend to be compounded once a certain threshold of productivity is crossed. We call it “The Productivity Chasm”.
  3. The Re-discovery Zone: As we move through the Productivity Zone, we get through the easier parts of the problem and inevitably hit a hairy issue. We then enter what I call The Re-discovery Zone, where the problem-solver has to reassess his/her skills and adjust the approach, learn something new, or try a different path, etc.

I argue that it is in the Re-discovery Zone that the problem solver should simultaneously pick a different problem and work on it. The problem solver should start working on a new problem as he/she crosses the productivity chasm. The brain goes into auto-mode and can start freeing up cycles for other challenges. The cost of context-switches should go down and the cognitive overload of working on the second problem can be taken up. Once you start to hit issues with one of the problems, incremental progress can be made on the other problem. Furthermore, it is highly unlikely that you will hit roadblocks on both problems. The probability of that happening is low.

Image 1: The Mechanics Of Productivity

Techniques

Some of the techniques that I use to ensure that I remain productive even when I am fighting with difficult problems are as follows:

  1. Problem classification: I usually have a mindset of dividing the problems that I am working on into two buckets — short-term. vs. long term. In general, the short-term problems tend to be tactical and involve shallow, narrow thinking. They exercise a different part of the brain. Whereas, the longer-term problems require deeper, creative thinking, and require considerable periods of knowledge acquisition before I can start cracking open the problem.
  2. Impact Prioritisation: There are a certain set of problems that need to be taken up due to a close deadline. However, there are a set of problems that can have a high impact. For eg. when releasing a product, we might have to onboard a set of clients. This has a deadline associated with it and needs to be taken right away. There might be other problems such as designing and building a feature that may have a wider and deeper impact on the customers that are already using the product. In such cases, I usually take multiple problems simultaneously and ensure that I am chipping away at the two problems together.
  3. Dependency Analysis: Dependency analysis is quite often the most important reason why people feel blocked very commonly. For people in roles where there are multiple external dependencies, it is necessary to keep multiple threads to remain open. The reason is basic and intuitive. It is very difficult to identify which threads will remain blocked and the duration for which they will remain blocked.
  4. Reading List: Maintaining a reading list for the problems that you are planning to work on in the future is a good technique. It keeps you focussed on the long-term goal, gives good food for thought, and also ensures that you do not waste empty cycles. Reading also leads to creative ideas that can help you solve problems in different ways.

“Today a reader, tomorrow a leader.” – Margaret Fuller

Some of the most successful leaders, problem-solvers have been voracious readers.

Reference: https://www.gatesnotes.com/About-Bill-Gates/Summer-Books-2019

Conclusion

To conclude, I would say that being able to balance your time with different problems simultaneously can help you become efficient in life. By utilizing the time that is freed up when solving problems better you can increase your output manifold. The idea rests on the Productivity Curve (outlined above) and the nature of the problem-solving exercise that we end up getting involved in our daily lives.

Further Reading

Blogs & Articles

  1. Daniel Kahneman (Wiki)
  2. Thinking Fast & Slow

About Ravi

Ravi is a poet, innovator, and entrepreneur. Ravi got a degree from IIT and Princeton University and lived in Bangalore and California, working at various software startups. He is the author of Be Buddha and regularly blogs at Ravi’s Blog.

--

--

Ravi Tandon
Ravi Tandon

Written by Ravi Tandon

Entrepreneur, software engineer, and author. Top writer in Startup. My books and writings: https://www.ravitandon.blog/

No responses yet