Unrefined Awesome

July 20, 2009

Asking better questions

Filed under: advice — Tags: , — Jason @ 12:46 am

There’s a well-known document called How To Ask Questions The Smart Way that a lot of forums, newsgroups and faqs link to as an explanation of how to approach seeking help.  It’s well written, comprehensive and gives a very good explanation of how and why people should improve their questions.  However, it’s also really long, makes frequent use of the term “hacker” (which to the majority of people in need of help with asking questions has a meaning other than what is intended) and in my opinion is probably a little too long winded and a bit out of touch with many (but not all!) modern programming fora and newgroups.  The following is my attempt at a more concise version without some of the dated jargon or opinions that may not be relevant to some communities.

1.  Before you ask…

Benjamin Franklin said “God helps those who helps themselves”, and the same is generally true of most people.  By taking a few basic steps before asking for help you may be able to solve your problem without the wait, and will probably get higher quality responses if you do still have to ask.  So, with a small investment of your time, you should generally attempt the following before asking for help.

  1. Try to solve the problem yourself.  You should have an answer to the question “what have you already tried?“, and even if you’re not able to solve your problem your attempt will likely provide additional details which will make it easier for other people to help you out.  If you’ve tried to solve your problem and still need help, your next step should be to…
  2. Search for existing answers.  Try putting your problem into your favourite search engine to see if other people have previously asked the same or a similar question and already recieved the answer.  Most online forums also provide a search feature you can use to look for previous similar topics.

2.  Asking for help…

2.1  Presentation

How you present your question will have a big impact on the quality of responses you receive.  Be sure to:

  • Choose an appropriate subject line.  Almost everyone will be looking for help, so there’s no need to put that into your subject line; instead, be more specific about the problem you’re experiencing so that people who know about the topic in question will be more likely to read it.
  • Proofread your post, and preferably spellcheck it before submitting.  If a preview feature is available you should make use of it to ensure any formatting you’ve used has worked as intended.  People will put up with small errors in spelling and grammer, but are more likely to help you if they can see that you’ve put in the effort to communicate clearly.
  • Be polite.  Whilst it’s not strictly neccesary and you shouldn’t go overboard and clutter up your entire post, good manners will make people happier about helping you out.  On the flip side, rudeness will make people less likely to put effort into thier responses.

2.2 Content

To receive the best possible responses, you should include all the information someone might need to help you out.  You should be careful however not to include a lot of unneeded detail that just gets in the way.  Useful information includes:

  • The platform you’re using (and if applicable and different, the one you’re targetting).  What OS/tools/programming language/etc. are you using.  Provide specific details of versions where applicable, as it may make a difference to the solution.
  • What you’re trying to achieve.  Briefly describe what you’re trying to do overall, in case there is a better approach than the one you’re currently trying to take.
  • How you’re trying to solve your problem.  What approach are you using the try to achieve your goal, and why isn’t it working for you?
  • Details of what is going wrong.  If you’re getting error messages provide the exact text, or if you’re getting incorrect output provide an example (as well as an example of what correct output should be!).  If you’re vague about the problem you’re having people will have a harder time helping you out, and more of your time may be wasted if they have to ask you additional questions you could have answered up front.

2.3 Other points

  • Unless you’re in a chatroom (and even then you should have some patience) don’t expect an immediate response, even if it’s common for some questions to get one on the forum you’ve chosen.  Give people some time to respond before “bumping” your topic or taking similar action.  If you don’t receive any answers after a couple of days it may be appropriate to bring your topic back to people’s attention, but you should try to provide additional details, and ask if there is any more information that people might need to answer your question.  If you still don’t get a response, give it up and try elsewhere for this particular question, eventually trying to get the same question answered repeatedly simply becomes annoying.
  • Be greatful for the responses you receive, and show your gratitude; in the overwhelming majority of cases the people answering the sorts of questions this document covers are volunteering their time to help you, and they’ll be more likely to help you in future if they remember that you appreciated it.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress