---
title: How To Ask Good Questions Online
teaser: Tips for asking good questions online to get the answers you need quickly
  and efficiently.
tags: communication,teams,culture,community
author: Matheus Richard
published_on: 2024-02-20
---

So, you have a question about programming. You want to reach out for help
online. Understanding how to ask a good question is essential: the best way to
receive a good answer is by asking a good question. This guide will help you
with that! This applies to forums, Slack, Discord, and other online communities.

## Don't ask to ask. Just ask.

Avoid questions like

> Does anyone here know about Postgres?

or

> Can someone help me?

Just post your question. Whoever knows will help you. Don't worry, you won't
come across as rude. You can always be polite and say "please" and "thank you",
too.

**Recommended reading:** [Don't Ask to Ask](https://dontasktoask.com/)

## Describe _what_ you're trying to do, not _how_ you're doing it

Sometimes we confuse the problem we're trying to solve with the solution we're
developing. When posting your question, always prioritize describing the problem
you're dealing with, not your current solution. This is known as the "XY Problem".

For example, say you were trying to find what quarter (Q1, Q2, Q3, or Q4) a given date falls under. You struggle with the math and ask for help in rounding up on a number (asking Y) rather than where you started (asking how to find the quarter - which is X).

**Recommended reading:** [XY Problem](https://xyproblem.info/)

## Don't be vague

Avoid vague descriptions like

> "It doesn't work"

or

> "It gives an error"

These phrases provide little information for those trying to help you. Be clear
about what happened:

> "When I try to search for a user, Rails throws the exception
> ActiveRecord::RecordNotFound"

## Provide context

Where did the error occur? Whenever possible, include the code snippet in
question and the error backtrace/log. You can use services like [GitHub
Gist](https://gist.github.com/) or [Pastebin](https://pastebin.ubuntu.com/) to
share your code.

If you're using a specific library or framework, mention it. Information about
your environment like the operating system, programming language version, and
database can also be helpful.

<aside class="error">
  <p>
  Regardless of how you share your code, it's always good to remember:
  online channels are a public space and the content can often be
  read by anyone on the internet. <strong>Do not send sensitive data or personal
  information, especially from your users, along with your question</strong>.
  </p>
</aside>

## Don't disappear!

When posting your question, pay attention to the responses and possible doubts
that may arise. Taking too long to respond can discourage users from helping you
in the future.

Also, if you find a solution to your problem, share it with the community! This
can help others who may have the same problem in the future.

## Want to learn more?

If you are interested in how to ask better questions, here are some other useful
resources:

- [Stack Overflow - How to Ask](https://stackoverflow.com/help/how-to-ask)
- [Eric S. Raymond - Smart Questions](http://catb.org/~esr/faqs/smart-questions.html)
