Six Key Questions a Software Engineer Answers When Asking for Help
My X doesn’t work. Please help me.
I empathize. I really do. But I can’t help you. Because even though I know what X is, it’s a complex piece of software, and at this point, there’s an unfathomably long list of things that could possibly be going wrong, along with an equally long list of possible solutions.
So the next email you receive is not going to contain your solution.
Knowing how to ask for help is a critical skill that software engineers must learn.
Fortunately, it’s easy. Just imagine receiving the email you just sent. What questions would you ask?
Stuck? Here are six key questions to get you started:
What error message are you receiving? This is the most critical piece of information, and it’s the easiest to provide.
What were you doing when you received the message? The same error message could appear in multiple contexts, so this information could help narrow down the cause.
What’s a brief description of what you’re working on? It’s entirely possible that you’re trying to use X for the wrong task or in the wrong way.
What versions of what platforms (OS, Browser, etc.) are you using? An error message combined with this information could point directly to a known issue and it’s solution.
What have you tried already? The standard response might be to send you a link to a common fix. If you’ve already tried that, you can save time.
Can you provide a reproducer? Yes, some times this is difficult to do when working on confidential intellectual property, but if you can extract the problem into a generic app containing no company-private information, you can accelerate finding a solution.
Finally, if this is the first time you’ve reached out to anyone, please don’t express how urgent your issue is and how it’s blocking you from delivering something on time.
You wouldn’t have asked for help if it wasn’t important, and it’s entirely possible that the person/team you’re asking is also under time pressure and has a huge backlog of work. It’s not fair to them to project your anxiety and expect to be able to jump the queue.