How to ask for help on the Internet (and get it)

Asking for help well can be the difference between getting answers and getting left on read

Everybody needs somebody sometimes. Frequently when you're trying to do poweruser things with your computer, you're going to run into problems that you don't know how to solve. When that happens, you'll often need to ask for help from strangers on the Internet, and you're much more likely to get the help you need if you ask the question in the right way.

How to ask a bad question

Assume the person reading your question has unlimited time. Also, it helps to assume they can read your mind. Provide as little information as possible so the reader doesn't know if your issue will be simple or complex, if it will take 30 seconds or 3 hours to solve.

An image of a Slack message from user BadQuestion asking "Can anyone help me?" The question is covered with a red circle with a line through it as if crossing it out.
An example of a bad question. Vague questions provide no information about what help is needed.

Provide only vague information. Be vague about what you need so that the helper will come in blind. Providing details will only confuse them, so don't include information about what steps you have followed to reach your current state, what specific error messages you see, or what inputs lead to the failure.

An image of a Slack message from user BadQuestionAsker "I'm getting an error message and it's not working. Why not?" The question is covered with a red circle with a line through it as if crossing it out.

Include a photo of your screen instead of screenshots. A photo of your screen shows off those beautiful pixels on your monitor.

Ask questions only when the deadline is imminent. You'll get the best answers quickly when it's close to the deadline. Especially if the deadline is midnight and your professor is an old man like me who goes to sleep at 9:30pm.

How to ask a good question

Now that you know what not to do, let's see some examples of how to ask a good question.

Do your research. Scan or search through wherever you are asking for help to see if the question has already been asked. If everybody asks good questions, it should be easy to find somebody else who posted a question with the same error message you are seeing. If they got an answer, try it out to see if that answer works for you. If their solution doesn't work for you, make sure you clearly say what you tried and what happened when you tried it.

Write your question with the helper in mind. Think about the person who will be answering your question. What do they need to know about your problem to be able to help you? The more you can provide right away, the faster you'll get an answer. If your helper has to play 20 questions to figure out what you're doing and what's not working, it's going to take both of you a lot more time to get to the answer. Along those lines...

Include specific error messages and steps. Whoever is answering your question can't read your mind, so you need to provide them the information they need to answer the question, ideally on the first try. Sometimes you don't know what information is relevant, and that's okay--especially when you're first learning. The more information you can give, the more likely it is that your helper will recognize what's wrong.

You've been conditioned through years of experience to ignore popups and error messages because if you just close the little window, you can usually get back to what you're doing. But when you're asking for help, those error messages and popups can be crucial.

Be available. Don't ask your question, then shut your laptop and walk away. Particularly if you're asking for help on Slack. The person answering your question is making themselves available to you, and it's courteous to do your best to reciprocate. If you are being helped, prioritize responding to the person helping you.

With these tips in mind, here are some examples of bad and good questions. Notice that a good question will usually be much longer than a vague, bad one.

  • Bad: I'm trying to run my Python code but I get an error.
  • Good: I'm running my Python hello world program, but it gives me this error:
  File "/Users/ryan/Dropbox/temp/example.py", line 1
    print(Hello world)
          ^^^^^^^^^^^
SyntaxError: invalid syntax. Perhaps you forgot a comma?
  • Bad: My website won't load
  • Good: I've gone through the setup of the web server on my AWS EC2 instance, and I can see that the server is running with service status. But when I go to my browser and visit the URL, I get "Connection timed out."

More resources