blog.larah.me

Asking for help in Slack/IRC

May 29, 2019

tl;dr - please include the following with your slack message!

  • What repo are you working on?
  • Is it currently failing on master?
  • A full stack trace (or link to CI/test failure. Include the command you ran!)
  • A full diff of your changes
  • What host are you on?

Here are some tips for what to include in your message when asking for technical help in Slack. The quicker/easier it is for the channel onpoint to understand your question, the quicker you will get the answers you are looking for!

In general, the best questions are those that include the most detail. Read on more for about what this means.

Thanks for helping keep things running smoothly in Slack! :)

Step 0: Search on Slack / Docs

It’s possible someone has already experienced similar issues to you. Before asking the question, spend a few minutes searching through Slack/IRC/company wiki/docs etc to see if you can find any answers there!

Ask Your Mentor / Knowledgable Team-mates 🤔

Mentors can help answer common questions that you may encounter when getting started in a new project or development environment. It helps to ask them before going to another channel for assistance. Furthermore, they can help point you to the correct team if they are unable to answer the question themselves.

Additionally, you might have folks on your team who know more about the tool you’re looking for help with. Ask them! Leverage the knowledge already within your team and pass it on! :)

Step 1: Ask the Question! 📣

Hop into the channel and ping the onpoint! Don’t ask to ask, just go straight ahead with your question!

Include the following key bits of information:

  • What repo are you working on?
  • Is it currently failing on master?
  • A full stack trace (or link to CI/test failure. Include the command you ran!)
  • A full diff of your changes
  • What host are you on?

Bonus Step: Create a Small Repro 😊

Sometimes, error states are particularly complex or hard, or it’s just not clear where the error is coming from. Consider providing a minimal set of steps, or minimal diff such that the channel onpoint may reproduce the error state locally, without having to dig through all of your changes.

A “Minimal, Reproducible Example” (MRE) is the gold standard here, and elaborates on this method.

In paring back your changes to an MRE, we:

  • reduce the search space for potential “bugs”
  • save the channel onpoint time in searching through a huge diff
  • look again at error with a slightly different perpsective - in doing so, we may realize a fix ourselves!

Tools like Try Flow, CodeSandbox and Repl.it are great ways to quickly share code without the overhead of making a new directory, repository etc.

🚨 Don’t share sensitive company code on these sites - replace anything proprietary with “Foo”, “Bar” etc

Questions with MREs are the very best kind of questions one could hope to receive - your channel onpoint will love you greatly if you follow this!

Acknowledgments and Prior Art

Discuss on TwitterEdit on GitHub