How to Ask Good Questions

A collection of resources compiled by blank_dvth

Before You Ask

Here is a list of things you should do yourself prior to asking someone for help. There's a chance your problem can be solved by yourself! If you don't, you run the risk of annoying the other person and getting sent right back here.

If you weren't able to find a satisfactory answer after having gone through these steps, now is the time to ask someone. Make sure to follow the good practices listed below while asking! It'll make your own experience, and that of the person you're asking much better.

Asking Your Question

This site is primarily oriented towards programming questions, but a lot of it can apply for questions in any field, just ignore the programming specific segments.

Make sure that you always do/include the following in the first message whenever you ask any question:

  1. Explain what you're curious about/looking for/doesn't work/etc
  2. Describe what's happening, what you want to happen, and what you've already tried doing
  3. Provide as much context as possible right off the bat -- it saves all the back and forth asking for information
  4. Be explicit and precise with your question (don't just say X doesn't work)
  5. Include your [full] source code, stacktrace, and error message[s] (if applicable)
  6. Do not upload files that would need to be downloaded -- use a paste service if needed
  7. If supported on the platform, use Code Blocks with Syntax Highlighting (for example, on Discord with Markdown)
  8. Use proper spelling and grammar to ensure clarity
  9. If you're in a public place, and you've found the answer yourself, leave a message with the solution for others in the future
  10. Follow the Best Practices listed below

Keep in mind:

  • We are humans, helping you on our own time because we want to -- this isn't said to be mean, just a reminder for those who want to act like entitled pushy snobs.
  • Be kind, politeness and good manners go a long way in ensuring a pleasant experience for everyone.
  • Don't feel bad about asking a question, as long as you've made a good faith effort to solve it yourself, then go right ahead, even if it sounds "stupid" or "dumb" to you (dumb questions are sometimes some of the best, since everyone has them).
  • You may get a brief and clear-cut reply with no pleasantries. Generally speaking, it's not meant in a rude way, they're just trying to get the information across as fast, clearly, and simply as possible.
  • You should be patient and give people a chance to answer, don't expect an instant reply (see first point).
  • An unspoken rule in many communities is for help/conversations to be conducted publicly so people who have the same issue in the future can easily find it. This means people may decline to help you through DMs.
  • There may be trolls, it's sad, but it happens. Verify everything yourself and don't run commands you don't understand blindly.

Best Practices

Don't Ask to Ask

Just ask your question.

Don't ask if you can ask a question, don't ask if anyone has experience with something, your question may be able to be answered by anyone with general knowledge of the topic. Just ask your question, you are much more likely to get a response.

No Hello

Get straight to the point, ask your question in your first message.

Don't start off with "Hello" or "Hi" and wait for a response before asking your question. Instead, ask your question in your initial message. Feel free to include pleasantries in that message if you wish, but include your question as well -- don't wait for a response before following up with the question. This ensures that your question will get answered as soon as possible and on everyone's own schedule, without adding additional back and forth.

The XY Problem

Ask about your exact problem, not a possible solution.

Don't ask about a possible solution to your problem, ask about your problem itself. The possible "solution" you're thinking of may not be the best one, or may not even work at all. It's also generally confusing when you ask about a solution you thought of as they might not know why something is being done the way it is.
For example, if someone wants to get the extension of a file, but asked "How do I get the last three characters in a filename?", the answer would not work (file extensions are not always three characters long), and you'll probably confuse the person trying to help you.

Recommended Guides

Here's a list of guides (in no particular order) that cover asking questions overall, various aspects of effective question-asking, and/or specific types of questions (e.g. programming). I recommend you give them a read! (this site is designed to be an overall summary/collection of links to other sites, not an actual guide)

Getting Answers

Mike Ash

Platform: General Majority: Programming Length: Long

Getting Help on IRC

Workaround

Platform: IRC (Partly) Length: Short
Platform: Forums (Stack Overflow) Majority: Programming Length: Medium

Asking Good Questions

Python Discord

Platform: Discord Majority: Programming (Python) Length: Medium
Platform: General Minority: Programming Length: Very Long