My theory on problem solving

By jasonheecs | jasonheecs | 28 Feb 2022

As a software engineer, my main job is to solve problems. I am faced with business and customer problems every day. After years of solving problems, I have developed my own theory on problems and the problem-solving process.

The first step to solving a problem is to face it

It is tempting to run away from or avoid a hard problem. It seems like the human psyche likes to pretend that a problem does not exist, or that it will go away on its own. But rarely do problems resolve themselves. It takes a conscious decision on one’s part to face a problem straight-on. If you refuse to acknowledge a problem, you will not solve it.

I have found that avoiding or ignoring a problem is the worst way to handle it. Whenever I have tried avoiding a problem, be it at work or in my personal life, I eventually found myself facing a bigger problem.

To avoid major problems, solve the simple problems

A lot of the time, the underlying cause of a major problem is a litany of simple problems. Small problems can become large problems if left alone. If you let your email pile up and start using your inbox as a to-do list, you may find thousands of unread mail in your inbox. And then you start to wonder why you are losing track of important things.

If you solve the small problems promptly, you avoid the risk of them blowing up into major problems. Solving multiple simple problems tends to require less effort than solving one major complex problem.

The more you procrastinate, the bigger the problem becomes

Problems tend to grow with time. A simple problem that could have been nipped in the bud early can spiral out of control if not resolved in a timely fashion. Your car may not have broken down if you had sent it in for servicing when it started making a weird noise.

I used to sit on a problem even when I knew that it was urgent because I was afraid to deal with the negative emotions. By not dealing with the problem, I was avoiding having to deal with being stressed out and feeling bad. The one thing that I found to have really helped for me is to focus on the problem itself, not the emotional baggage that it comes with. Being mindful and setting my emotions aside helped reduce my anxiety in facing the problem, and made me focused on engaging with the problem methodically.

The answers from solving a simple problem can help solve the larger one

Solving large complicated problems is often accomplished by first focusing to solve a smaller problem. The divide and conquer approach of breaking down a large, complex problem into smaller, solvable problems is a common paradigm in Computer Science, which I find is often applicable to other problems. The insights and answers that you get from solving the smaller problem can help you to understand the larger problem better. By repeating this process, you can gain enough understanding and context to solve the larger problem.

If you wish to have a healthier diet, but are failing at it, try solving a smaller version of that problem. Consider solving the problem of not having enough vegetables in your diet first. By attempting to solve that, you will gain valuable insights into what drives you, and what works for you. And once you have solved that smaller problem, take what you have learned and apply that to adding a second healthy food group. Or to cut out an unhealthy one.

It is easier to find help to solve a simple problem

When a problem is small and simple, people are often very willing to help you to solve that problem. But when a problem is complicated, finding the right help tends to be challenging. Not only do most people not want to get involved, a complicated problem often cannot be solved alone, and requires an expert team with the right knowledge to solve it.


I have learned that the first thing one should do when one encounters a problem is to face it. Avoid the human instinct to look away. You may not be able to solve it right away, you may not even be able to solve it alone, but acknowledging that, and being cognizant that this is an actual problem, is the first step you should take.

When you are avoiding a difficult conversation or procrastinating on an important task, know that you are making it harder for your future self. That conversation is going to become more difficult. The deadline for that task is going to creep in closer.

What problem are you facing in your life right now? Are you ignoring that problem, or have you made a conscious decision to face that problem?

How do you rate this article?




A software engineer who loves tech

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.