Skip to content

Instantly share code, notes, and snippets.

@thenickreynolds
Last active August 8, 2024 17:04
Show Gist options
  • Save thenickreynolds/227e391b9cee8511d34379e3ec39187b to your computer and use it in GitHub Desktop.
Save thenickreynolds/227e391b9cee8511d34379e3ec39187b to your computer and use it in GitHub Desktop.
Article: How to Ask Great Questions

One aspect of being a successful engineer is asking great questions! We shouldn't be afraid to ask questions (they are critical to how we learn and grow) but, if you follow these steps, you'll ensure the questions you ask are high quality and you can learn the most from the answers you get.

I read a guide like this when I was growing as an engineer and found it to be one of the things that accelerated my personal growth drastically - I also found that, following these steps, I ended up answering my own question 75% more of the time.

Before you do

Make sure you've searched for the answer in the documentation, Stack Overflow, in channels (on Slack or Discord), etc.

How

  • Ask in the right place - find the experts for this
  • Skip the hello, get straight the point
  • Format is clearly

Content

  1. Give a clear title summary that helps people quickly triage
  2. Share what you're aiming to achieve - we often share the problem we're seeing but we've chosen the wrong solution for this problem or the extra context can help more
  3. Include all the information and context - share all the code (not just a line), all the logs (including commands run, not just the error). This helps the other people understand full context and reduce the back and forth.
  4. Detail what you've tried and what the outcomes of those fixes were (this is a key step - as you go through this it's a good chance to think through what else you should have tried before asking)
  5. Make it easy to reply - create a thread

After

Go back and close the loop - include the solution (maybe edit the original message) so others can learn from this and/or find the solution if they hit the same problem. Consider how you can prevent others from hitting the same blocker - can you refactor code so this isn't possible, add documentation, etc.

Finally - ask yourself how you could have solved this yourself, how did others help you in ways you didn't consider, and how could you change the way you approach problems next time.

Read more

This is a super compressed version of this great read: http://www.catb.org/~esr/faqs/smart-questions.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment