I’ve recently solved many problems. If we look back what we did everyday we would find that we are all solving problems. No matter what is you job, you’re solving problems. Because someone needs our help. They are willing to pay us if we help them to solve their pain. If you are confident that you did this job a lot so what is the essential step in problem solving that you know?
Information Collection
For me, the most important one is collecting information. This is not about going to leetcode, opening a problem then we have everything. In facts, in real job we have to ask related people about relevant information. This step is crucial! Can’t solve problem if we don’t have enough data. If we watch the detective film we would know that they do collecting information all the time, until they can map the events to have the final conclusion.
Divide and Conquer
We assume that we have enough information. Indeed, we never know that until we feel we need more info. Now we separate the problem and events. Imagine that we separate them into three parts. We need to consider one by one, from the first until the third. Technically, in order to find the issue we need to find what is not the issue? We can’t go directly to the thing we are finding. Because how do we know what we don’t know? When we eliminated all the wrong ways, we will fall to the right way. If we still can’t figure it out, that’s we need to do more elimination.
Hidden Information
Collect information -> divide and conquer -> collect information…this circle we do over and over again during the investigation. There is not only the seen information but also the hidden information that we need to find out. We have to clarify “what”, “when”, “who”. Asking persons about events in occurred time. We clarify the questions to ask, asking right questions to right persons. In architecture, those are the persons who are in charge of specific spots. The problem solvers are always proactive.
Go in/out between details and big picture
Starting from big picture, we separate the picture then going to details. The important thing here is we always switch between big picture and details. If we are too detailed we will miss the others.
Don’t hurry going to conclusion
Looking back, finding another solution. At least two solutions to go to conclusion, excepting that we know this solution for sure.
That is from my experience. Hope it will help you guys.