Problem solving stages

Thinking better is about knowing how to think.

Knowing how to do anything involves knowing what situations might occur, and what to do in those situations.

Problem solving is one of the most common patterns in thinking. I believe that solving a problem involves a set of recurring stages, and each stage has a recurring set of thought patterns that help overcome that stage.

Here are, in my opinion, the general steps of solving any problem:

  1. Understanding the problem
  2. Conceive of a sequence of steps that will solve it – a plan
  3. Execute the plan

To understand the problem, make sure each word in its description is known, and then find all possible questions to ask about every explicit or implicit statement, and try to get answers to all those questions.

An understanding of the problem should yield a set of things that must come into place for it to be solved. They may be interdependent, and it may take several iterations, with subsequent ones building on previous ones. Regardless, it’s necessary to take the unstructured set of things that must come into place, and structure them into a linear sequence of actions that can be executed.

Once the sequence of actions is accepted, it must be executed. Execution is all about focus. For focus to be possible, the object of focus must always be explicitly known, otherwise minds resort to disarray. If a part of the plan does not have an immediate method of execution, it must be broken down into smaller action items that can be immediately carried out.


I’ve been thinking about ways to excel at thinking, inspired by thinking about the technical interview process for software engineers. Interviews famously focus on skills that are different from everyday work, but I don’t want to have to study for them by learning algorithms and carefully practicing writing them out on paper. I don’t want to “crack the coding interview”, though I’ve done that in the past with great success: you can really become quite good at being meticulous and error-free on this one task, with practice.

Instead, I want to have superpowers. I want my brain to be able to produce those optimal algorithms flawlessly, with full confidence, without taking time out to prepare for an interview.

I want the fundamental way my brain works to produce error-free thoughts, and give it a notation to naturally express itself with laser-like precision (i.e., write out code as naturally as thoughts).

So instead of focusing on “how do I solve algorithms questions?”, I’m going to focus on “what are the components of thinking, and how do I perfect each one?”.

What are the components of thinking? I hope to get more and more insight and depth around this question. I have something to start with, however: focus, creativity, thoroughness, seeing blindspots and edge cases, understanding assumptions, logical and critical thinking, systems thinking, humility, sensitivity, respect.

I want to think about how to improve each of those components. And I want to have standardized loops to measure these things for myself. I won’t be able to be scientific, but I’ll try my best to be honest with myself in evaluating exactly why the routines I choose don’t go perfectly smoothly, and figure out what sort of improvement in my way of thinking could have remedied it.

One reason I wish to improve my thinking in this way, is that I believe that applying this sort of thinking the best you can, every day – leads to a dramatic difference in how you grow, who you become, over time; I believe that through every action, the path of someone who puts this much care into every aspect of life – shines through; and I believe that that is the best way to be human, the best way to connect to other people, the best way to be a source of positive change.

I’m going to apply this to: creative puzzle solving (such as algorithms), learning pieces of music, learning Spanish, training to do a handstand, improving dancing in tango and zouk, improving my posture, a hobby project app/game that I’m working on, and my everyday work, which involves time-sensitive operations that require great care, prioritizing, scheduling, diagnosing, thinking creatively, teamwork, planning, and executing plans. I’m going to do my best to use these time slots as opportunities to watch my mind think, and understand what about that thinking lies outside of my framework for optimal thinking.

When I say “standard loops”, I mean something quite subtle. For instance, when writing out algorithms, one thing to keep track of is how good the algorithm is; similar, when practicing music, a thing to look at is how well the melody comes out. For the sake of this work, I’m not going to care about those aspects of practice at all. Instead, I’m going to care about what my mind is doing while it’s trying to come up with an algorithm and write it down, and retroactively look for what went wrong. I’m going to look at the thinking process that creates the performance process, not the performance process itself, and that will be the “standard loop”. Which is why I put it in quotes; there’s no standard path; I’d solve the same problem differently on a different day, though I hope to isolate the aspects of thinking, and practice them individually, similar to how I may practice a dance move 1000 times.

Some things that make sense to measure: how well did I understand a problem after first encountering it, how thoroughly did I explore solutions, was the solution I arrived at optimal, did I make any trivial mistakes as I went through it, did I panic or get lost or discouraged or distracted, did I lose sight of my goals, did I focus on the wrong aspects of the problem, was my solution perfect?

This will always be pushing the front in how I think, and perhaps some “improvements” will cause me to make more mistakes. I’ll have to get outside of my comfort zone, be honest with myself, and focus on the smallest, improvable details of how I think. The outcome will be thoughts, rather than numbers.



Some things are easy to lie about: a resume, history, past events, who said what, who you are.

Some things are impossible to lie about. How you dance, or juggle, or play music – skill inevitably tells a truthful story.

It’s a story of years – commitment, dedication, focus. It shows how broadly you see, and how deeply, whether you pay attention to detail. Skill requires humility, inspiration, an incessant drive to improve, never being satisfied; being sensitive to people around you, incorporating feedback, stepping past your ego. If one knows what to listen for, a deeper story of character is revealed in the subtleties of every human motion.

Anyone can do a dance move poorly. It says nothing of how long you’ve danced, or what you care about, or who you really are. But a move executed flawlessly speaks volumes. There is no way to attain that other than through a remarkable story of personal strength and resilience.

Sometimes, I forget why I do what I do, I forget even who I am, or how I got to where I am. It gets lost in the noise of everyday life, gossip, plans that don’t work out.

But my story is always with me, imprinted deeply, and no one can take it away; a tattoo on my soul. Doing, seeing how I do the things I do – I can remind myself: why did I start on the path I’m on. I can remember – how low I started, what it took to make progress. The struggles I went through to learn to dance, to fix my body, perfect a foreign language, move to a foreign country, master the skills I needed to succeed in my career. And how alone, and vulnerable, yet alive I felt – the moment I challenged myself to learn guitar, and committed to being an artist.

It was one of the most difficult times in my life, but through those trials I committed to making it amount to something meaningful, and using the time I have wisely, living with purpose; doing my best, in every moment.

Imprints on your soul can not be bought or stolen, only earned. Thousands of hours of committed, dedicated practice imprint an undying flame – a reminder to keep going forward with purpose, leave fears and doubts behind, and push past disbelief, resistance, and the inescapable negativity of those around.