Search This Blog

Sunday, May 09, 2010

Before you cry for help!

Let it be office, let it be home or let it be some other place. Many times we ask for help without understanding actual problem. I am trying to write here some generic steps, which can be used before asking someone else for help. I do understand that sometimes it is unavoidable and better to get help from other person than trying out things yourself.

Asking following questions to yourself might help -
1. Have really understood your problem?
Many a times we do not understand the problem itself. Understanding the problem ourselves sometimes makes the problem simple to solve without anybody's help. For other person, it is much easier to help if you know what exactly you want.
If you ask others problems without understanding it - then be sure that you are going to waste your as well as your helper's time.
E.g. Few days back I was discussing one problem related to OpenGL on one of forums. It was regarding the unit of time measurement. The person who had asked this question did not understand that her problem was not related to OpenGL but was related to API provided by operating system. I had to ask her for source code to give proper suggestion.

2. Have you tried some simple experiments?
Many times it happens that your question is really difficult but, sometimes rather than getting solution to existing problem you can try out some simple experiments -
 a. Try using alternate solution for the problem.
      - e.g. If  your bike is not starting. You have tried kicking it hard 10-15 times. Now wait!! do check if all ignition switches are on. Do check for fuel supply. Check for spark plug. Dont waste your efforts by kicking harder and harder :)
      - This method is particularly useful for software developers as well. Many times they get stuck on some algorithm and they put all energy and many hours in fixing problem with this algorithm, where as sometimes simple solution is rethink over the algorithm - might be there is easy alternative :)
 b. Try to see if someone has already solved similar problem
      - Many a times we waste time on developing algorithm for the solution which already exists. In such cases it is useful to use 'grep/ find' command before getting into developing complex algorithms. it also helps you to find right person to ask for, and some idea about right questions to be asked :)
      - For problems like "how to make tea", you can use Google or some search engine before asking for help.

3. Are you prepared enough to ask question?
Now suppose all the above methods failed. You have no alternative but to get help from someone. You should do following checks before going to that person
  a. Exact description of problem (be specific)
     - You should be specific about "exactly what is your problem". Do not confuse the person by talking about wage problems.
      e.g. You might want to know how to install operating system on your machine. When asking this question you should be specific about - hardware of your machine, name of operating system, 32 bit or 64 bit ...
  b. Exactly what is your requirement 
     - I am not repeating 3a here :). 3a is about conveying what is exactly your problem. 3b is about clearly setting your expectations about the solution.
       e.g. If we take same example as 3a - you should be specific about whether you just want to know how to do this operating system installation or you want that person to install this system on your machine ...

Hope this is helpful (at least it will be helpful to me in future :) ). If you have any suggestion please comment. I will keep updating this post with suggestions.

No comments: