Home Blog Contact

A Guide to Good Questions

A.K.A "How To Ask Questions The Smart Way: The 'Short' Way"

By hablethedev

On January 1st, 1970

Based on the page “How To Ask Questions The Smart Way” (HTAQTSW): http://catb.org/~esr/faqs/smart-questions.html

Asking for help

Before you ask

  • Try to find an answer by searching forums, mailing lists, etc.
  • Search the web
  • Experiment and inspect other code
  • Maybe dig into other code if you’re skilled enough

When you ask your question:

  • Say you have done these things. Display what you’ve learned, and what you have found!
  • Take your time. You’re not going to be able to solve a problem after 3 seconds of searching online.
  • Be prepared. Think it through and provide detail. The more you show you’ve put thought into your question, the more likely you are to get help.
  • Know you’re not entitled to an answer. You’re not going to get an answer straight away and you might not get one.
  • Be prepared to be helpful! If you’re not willing to help others help you, then you’re less likely to… get help.
  • Find the right place to ask and the right tags, etc…
  • HAVE A DESCRIPTIVE TITLE! “Help me, it doesn’t work!” is infinitely worse than “execute if predicate - not detecting specific players”.
    • The format “object - deviation” is reccommended in HTAQTSW, and still works well.
  • Don’t type in all caps, try to make sense, and have good grammar.
    • If you’re not good at English, don’t worry! If you note it, people will probably excuse you.
  • Generally be precise and informative about your problem…
  • …but don’t dump a hundred gigabytes of text. Trim your question, keep it simple.
  • Describe symptoms, i.e. don’t assume what the problem is. Provide the issues.
  • Check out https://xyproblem.info/ - talk about the whole thing you’re trying to do, not one specific step.
  • Your question isn’t urgent to someone else, don’t flag it as such, even if it is for you. Be patient and polite.

Reading answers

  • Don’t assume everyone is out to get you. If someone is direct, they’re probably just trying to solve your problem, not to cook you a hot meal and/or a cup of tea.
  • Don’t just say you “don’t understand”. Again, do research, like how you did before you asked! If you don’t know what something is, STFW…
  • …speaking of STFW. If you get the reply of “STFW” that person thinks you should Search The Fucking Web. So try it.
  • …additionally, “RTFM” stands for Read The Fucking Manual. If someone sends these one of two, the responder thinks the info is easy to find, and you’ll learn more! So try it out.

Responding to answers

  • Don’t be rude. Be polite. If you get told you messed up, don’t scream about it. Get over it and move on!
  • Continue being precise, with good grammar, describing symptoms, etc… if everyone is helpful, you get better help.
  • Ignore people trying to directly annoy you or insult you personally. If they’re not trying to help out, they’re not relevant.

After you have solved your problem

  • Tag your problem as solved.
  • Write out what the issue was! Your explanation doesn’t have to be long or detailed, just something to point others in the right direction.

Giving out help

  • Read the question. Understand the question.
  • Be helpful, polite, and gentle. If someone seems stupid, assume they’re not stupid. Assume the best in people, not the worst.
  • If you answer “RTFM” or “STFW”, give a few pointers. Be it a wiki or a phrase to search, be helpful.
  • If you do not know for sure, note you do not know for sure! An unsure answer is better than no answer.
  • If you cannot help, don’t try to. Don’t make a joke that could destroy someone’s project.
  • Ask questions. Sure, they’re the one wanting the answers, but you might need more information. Try to turn bad questions into better ones.
  • If you answer a question, give a good answer. Don’t give incredibly janky work arounds, don’t go completely off topic…
  • Answer the question! If the person asking has done their research, and included that A, B, C, D, E all don’t work…don’t respond with something like “Try A.”.
  • If you think something should be in some particular documentation, try to contriubte to said documentation!
  • If you researched to find the solution, show your work. Don’t act like you just pulled the answer out of your butt.

Happy helping!

hablethedev [at] getgoogleoff [dot] me

© hablethedev

i'm a f*£%ing webmaster, i think