Here are the five steps that I usually take to solve technical problems:

1- Check the Logs

First step, I think, in solving any technical problem is to find what’s happening or what the issue is. In general sense, this step can be called as “Identification of the Problem”. Without knowing the problem and just throwing darts in the dark will waste your time and make you frustrated. So when your application throws some error or shows a white screen or OS fails to start a service, first thing to do is to check the logs, read it and see what can you identify.

2- Worship the Goddess

Google Search has become the goddess of the internet and if you want to live happily in the digital world, you’ve got to worship this deity. Before bothering anyone else, I always prefer to see what comes up on Google. You will be amazed to see that most of problems you faced routinely are also faced by others and they have come up with various solutions. Solutions you find on internet might not fully solve your problem but it will definitely help you move forward.

3- Break into Smaller Pieces

“Divide and Rule” is what they say. When you have been given a complex problem or a task that you have never done before then don’t get overwhelm by it. Take a deep breath and do step by step. Let’s suppose you need to write a program that could topple a democratically elected government. So what would you do? Whatever your approach might be, but one thing is for sure is that this program must have ability to communicate with the Boys. Ok we need communication but what would be the channel? SMS or Email or Voice Call or may be all three. Let’s start with Email, for that you will need SMTP server. Setup the server and write the code to send recipients and body to SMTP server. Next step you will think that because you are doing such a noble thing you need to encrypt the email body, for that you will find an algorithm and implement it or you might find an existing implementation in your coding language. Let me not drag this example further more but I think you’ve got the idea that we need to think like an engineer, build bits and pieces then join them.

4- Find a Listener

This must have happened to you before that you are stuck on a problem for a long time and nothing is happening. You call your colleague for help and start describing the task and your approach to it. Before you are done speaking and before your friend fully understand what you’ve said, a light bulb glows in your mind and you see that semicolon is missing on line number X. This happens, many times you just need a listener so that everything comes out of your mind (especially from your unconscious mind). Other thing that can happen is that your friend might give you a missing piece of jigsaw puzzle that will help you to complete the picture.

5- Take a Break

When you’ve given enough time to a particular problem and it is still unresolved then you need to take a break. Drink coffee, offer prayers, play table tennis, see sunlight and come back later to the same problem with a fresh mind.