I've spent more time than I would like to admit on various Q&A sites and forums related to development, where I have answered thousands of questions. Generally, the questions stay within the confines of such forums, however, after waking up to my personal inbox being flooded with a string of questions, I thought I would take some time to blog about it.
These e-mails and messages generally come from folks that I have never interacted with before, but they simply know that I "answer questions or solve problems". They generally look something like this.
- I posted at link {here}. Can you fix?
- hi, pls help here now {link}.
- I have an important homework assignment due this afternoon at 5PM and it isn't working. Can you download it from here {dropbox-link} and get it working by then?
These are actual complete e-mails that I have received.
I don't have a problem with people asking for help, that's why I participate in such communities. My problem is that there are a lot of wrong ways to ask for help, specifically bad questions.
This post is going to cover a few of the reasons why such direct queries go unanswered, how to go about getting your question answered, and introducing a few steps that you should take before asking a potentially bad question.
Getting your question answered
There are a lot of unanswered questions out there across various forums and sites like Stack Overflow, and the primary reason - most of them are just plain bad questions.
If you want to go about asking a question, consider reviewing over the following checklist to hopefully reduce this risk of your question joining the unanswered ether.
- Have you Googled it?
Just copy-paste your exact error message and spend a few minutes browsing through the results. This will resolve 90%+ of all issues that you encounter. - Okay, Google didn't help. What's next?
I don't believe you. Search a bit more, try varying some of the search terms and removing anything specific to your exact scenario (i.e. project name, etc.). - Consider asking a colleague?
If you work with a team of others, consider asking them for help. Two heads are often better than one at troubleshooting an issue, and it's usually much easier being able to sit side-by-side with someone as opposed to answering over the web. - No colleague? What about a duck?
I know this might sound stupid, but often the use of Rubber duck debugging can help you come to conclusions or resolve your issues. Simply try verbalizing your exact issue to someone or something and see if anything clicks. I know it sounds stupid, but you'd be surprised how effective it can be. - Consider checking in "niche" locations
If applicable, consider checking out the GitHub repository for your specific issue or question. Or using the search feature in some niche forums or sites (i.e. "sending an e-mail in MVC" in the NET Forums). These sites may not be indexed as well, thus harder to find in search engine results. - Still nothing. What do I do?
If you are still out of luck, then it's probably time to ask a question somewhere. Again - it's still likely your issue has been answered, but you'll find that sometime.
Asking the (right) question
Alright, so you've scoured the web. You've performed countless searches on every combination of search terms and synonyms imaginable, and still nothing.
It may be time to ask a question. Let's consider a few things that you should be mindful of when doing this.
- The title is everything
A descriptive and meaningful title to your question is extremely important. The title needs to convey the core issue (i.e. Null Reference Exception in ASP.NET Telerik GridView when Paging) as opposed to "Help! GridView not working"). If your title is descriptive enough, people will read it, and if enough people read it, you'll be much more likely to get an answer. - Don't cast too wide of a net.
You don't need to describe your entire application and its overall purpose. Keep things simple and focus only on a single issue or use-case with your question. The more focused that you can be, the higher the likelihood that you'll get results. - Be specific.
As mentioned in the title, be as specific as you can. Don't just state that something "doesn't work". Indicate exactly what you are trying to accomplish, what you have tried, and what the behavior you are expecting to achieve is. - ... But not too specific.
While it is important to include details, don't go overboard. Pasting a huge blob of HTML, CSS, JavaScript, SQL, and other code that a user has to risk developing carpal-tunnel to scroll through is going to turn people away. Again - be concise and only include relevant details. - Don't guess with errors.
If your particular question involves errors, try to include the exact error message from the system as opposed to "I think it did or said this". Specificity matters, and a compile-time error and a run-time error can be two entirely different animals, so let your potential viewers know what is happening and when it happens. - Is it reproducible? Then reproduce it.
If your problem is something that can be easily reproduced, and more importantly shared, then take the time to do so. Either briefly explain the steps necessary to create the issue, or consider using an online code-sharing tool like JSBin or the snippets provided in Stack Overflow to create an example similar to what you are experiencing. - Read it, twice.
Before you pull the trigger and press that likely green button to ask your question, read through it. Then, read through it again. If something sounds off or not right, consider rephrasing it. Mostly, focus on determining if it make sense, and keeping in mind that it needs to make sense to a complete stranger. - Done all that and still have a problem?
Then ask your question and hope for the best. As people view your issue, you'll quickly discover which areas you did / didn't explain well, just be sure to follow-up with responses and edits as necessary.

Yuri VasconcelosPosted Mar 31, 2017, 10:17 AM
Nice! This article could be extended to anyone looking for an answer ..not just for developers
Mahesh ChandPosted Mar 10, 2017, 10:59 AM
Agreed. How about emails you get at mid-night. Can you do my homework right now. I've to submit it in the morning.
Nigel FernandesPosted Mar 10, 2017, 1:29 AM
Haha I've got some these messages too- "Heres my code , please download and fix it"
Ramesh MaruthiPosted Feb 23, 2017, 3:01 PM
Wow that's fantastic article Rion !!
Nilesh ShahPosted Feb 15, 2017, 12:09 PM
This is a god guideline for anyone who posts a question. I think the "Ask a Question" page should have a guideline displayed first
Ehsan SajjadPosted Feb 15, 2017, 10:32 AM
Voice of every contributor on the Q & A community sites :)
Sibeesh VenuPosted Feb 15, 2017, 7:23 AM
This was really a great read, I really appreciate it. Thanks much :)
Prashant KumarPosted Feb 15, 2017, 12:11 AM
This post is just to say WOW!, you have explained everything clearly. Hope we will work out.
S.Ravi KumarPosted Feb 14, 2017, 9:44 PM
Thanks Rion for so nicely documenting the problems of a Public-Speaker/blogger issues.
Priyaranjan K SPosted Feb 14, 2017, 9:10 PM
Great write up Rion Williams . Cant we think of keeping this as a sticky thread in our forums !
Mahesh ChandPosted Feb 14, 2017, 8:07 PM
Great! Highly recommended. I would add more to it as well. Thanks for taking this initiative Rion.