I spend a lot of my time and energy answering technical questions, both professionally and "for fun" as a way to scratch that troubleshooting itch. How a question is asked plays a big factor in how effectively I'll be able to answer it.
Years ago I came across Eric Steven Raymond's How To Ask Questions The Smart Way and it really resonated with me. I wish everyone would read it before asking for technical help but I recognize it's a pretty large doc so that's an unrealistic wish. There are a few main points I'd like to emphasize though.
Good questions are a stimulus and a gift.
The sorts of people who choose to spend their time answering questions do it because they enjoy helping others. They thrive on interesting and challenging questions... but they're also busy, so may pass over questions that don't seem as interesting or have been asked (and answered!) countless times before. You're not just asking for an answer to your question - you're also asking for someone else to care enough about your problem to spend their time helping you. Put some time and effort into your question and you'll be more likely to get a helpful response.
Before You Ask...
One of the best ways to demonstrate that your question isn't going to waste anyone's time is to show that you've already made an effort to find the solution on your own. Search the web, read the documentation, browse posts on the forum you're about to post on, and maybe try a few different ways of tackling the problem.
If you're still stuck, you can share in your message what you've already tried and why it didn't help. This will help people understand your problem and avoid suggesting solutions you've already tried.
Write a Clear Subject
The subject line is your best chance to get someone to look at your question. If you're posting on a help forum, it's understood that you're seeking assistance; you don't need to put "help" anywhere in the subject line. Instead, use that space to clearly describe the problem you're facing, including any specific devices or software involved.
A good subject line is descriptive yet concise.
Not great: "Help! Upgrade failed!"
Much better: "Upgrade to v2.0.1 failed with error code: 0x80004005"
Use Correct Spelling and Grammar
We need to understand what you're trying to ask before we can answer it, and that can be hard to do if your question is loaded with typos and mistakes. It doesn't have to be perfect, but please make an effort.
Once you've written your query, take the time to read back over it and ensure it makes sense. This is another chance to show us that you're serious about solving the problem.
Your helpers aren't going to judge you for linguistic errors but such mistakes may make it difficult for them to understand your problem. If you're not comfortable writing in English, go ahead and post the question in your own language using short sentences and correct punctuation. There are plenty of tools that your helper can use to translate your message, and those will be much more effective if the message is written clearly in a language you know well.
The more details you can provide about your problem, the better. The necessary details may vary depending on your problem or issue, but some questions to ask yourself might include:
- What system/device/application are you using? Be specific about the model and/or version (and please don't just say "the latest version" - share the complete version number).
- What are the symptoms of the problem? Are there any error messages? If so, include those in full. Screenshots can be a big help here.
- When did the problem start? Is this a new problem or has it never worked? What (if anything) changed before the problem started?
- What steps might someone take to reproduce the problem? List the complete steps without any shortcuts.
- What steps have you already taken to troubleshoot or solve the problem? Don't say "I've tried everything" (which tells us nothing); tell us exactly what you've tried.
- Did your research yield other reports of the same problem? Ifo so, include links to at least a few of those reports.
Share anything you think might be relevant up front. It's easier (and quicker) for us to skip over details we don't need than to have to go back and forth asking for more information.
Describe the Symptoms, Not Your Guesses
If you're not sure what's causing the problem, don't guess. Sharing a guess which isn't correct can lead people down the wrong path and waste everyone's time. Focus instead on accurately describing the symptoms and leave the diagnosis to the kind souls trying to help you.
Similarly, don't say "I know it isn't _____" unless you can also tell us precisely why you think that.
After all, if you knew exactly what was wrong then you probably wouldn't be asking for help in the first place.
Describe the Goal, Not the Step
When trying to accomplish a particular goal, share that goal rather than just focusing on the step you're stuck on. It's easy to get fixated on a small step (which may or may not be the correct one to take) and miss the better solution. Describe the Big Picture version of what you hope to do and let us help you figure out the best way to get there.
Remember that you're asking for help, not demanding it. In many cases, you'll be posting on a user-to-user support community staffed entirely by volunteers. They are under no obligation to help you and will happily disengage if you're abusive or rude. Be polite and respectful of their time and effort.
Their replies to you may be terse or blunt. It's not because they are offended by your question or insulted that you would ask it, but rather because there are a lot of people asking for their help and they're trying to maximize their time. Assume that their responses are offered in good faith, just as they'll assume the same of yours. Don't take offense, but also don't be afraid to ask for clarification if you don't understand something.
Even if you are seeking help from a paid support team, remember that they are people too. Treat them with politeness and respect; not only is it the right way to interact with other humans, but it might keep them interested in helping you.
Follow Up with Solution
Once your problem has been solved (either based on the advice you received or on your own), please be sure to report back to let everyone know. If the solution was reached based on the help you received, politely thank those who assisted. If you fixed it by yourself, share how you did it so that others may benefit from your experience (and, again, thank those who offered their time and advice).
Thank you for helping us help you help us all.