
Why do not you answer my question?
- Transfer

On various Q&A sites and development forums, I spent more time than I would like to admit. There I answered thousands of questions. As a rule, questions remain within the boundaries of such forums. But after questions began to pour in my personal inbox, I thought that I should write about it.
These emails and messages usually come from people with whom I have never talked before - they all just know that I am “answering questions or solving problems”. It usually looks something like this:
- I wrote a question on the link {here}. Could you fix the mistake?
- Hi, please help here {link}.
- I have a serious homework with a deadline today at 5 pm, and I can not cope with it. Could you download it here {link} and make it work by then?
These are full texts of real emails that I often receive.
I have nothing against people who ask for help, which is why I participate in question and answer communities. The fact is that there are many wrong ways to ask for help, in particular bad questions.
Here I will indicate several reasons why such direct requests remain unanswered, I will write how to proceed in order to get an answer to the question, and I will present several steps that you must take before sending the question so that it does not turn out to be bad.
How to get answers
On various forums and sites, such as Stack Overflow, there are many unanswered questions. Main reason: most of these questions are simply bad.
If you want to ask a question, try going through the list below so that your question does not go into unrequited non-existence:
- Have you google your question? Seriously. Just copy the exact message about your error and spend a few minutes reading the results. This will solve 90% + of all the problems you face.
- Well, Google did not help. What's next? I do not believe you. Look for more, try changing some of the search conditions and delete everything specific to your specific case (for example, the name of the project, etc.).
- Maybe ask a colleague? If you work as a team, ask for help. Two heads are often better than one, and usually finding the answer while sitting next to someone is easier than via the Internet.
- No colleagues? How about a duckling? I know that this may seem silly, but often the duckling method helps to look at problems from the side or even solve them. Just try to voice your problem to someone (or something) and see if something clicks in you. I know this sounds silly, but you will be surprised how effective the result can be.
- Consider checking at “niche” points. If applicable, consider checking the GitHub repository for a specific problem or question. Or use the search function on some "niche" forums or sites (for example, "send email to MVC" on ASP.NET forums). By the way, these sites may not be indexed, so it’s harder to find them in the search engine results.
- Still nothing. What to do? If you're still out of luck, then it's probably time to ask a question somewhere. Again - most likely, a similar problem was solved before you, but you will discover this only later.
How to ask a (correct) question
So, you have looked through the entire Network. You have performed innumerable searches for each combination of search terms and synonyms you can imagine, and still nothing.
Perhaps the time has come to ask a question. Let's look at a few things you should remember in this process:
- The headline is everything! The descriptive and informative title of your question is of utmost importance. The title should convey the main problem (for example, “Null Reference Exception in ASP.NET Telerik GridView when paging” instead of “Help! GridView does not work”). If your headline is descriptive enough, they will read it, and the more people read it, the more likely it is to get an answer.
- Do not throw the network too wide. No need to describe your entire application and its general purpose. Be simpler and focus only on one issue or one use case. The higher the focus, the higher the likelihood that you will get results.
- More specifically. Be as specific as you can. Don't just say, "something is not working." Indicate exactly what you are trying to accomplish, what you have tried and what result you expect to receive.
- ... but not too much. While it is important to include details, do not overdo it. No need to insert huge chunks of HTML, CSS, Javascript, SQL and other code, scrolling through which you can earn carpal tunnel syndrome - this is scary. Again - briefly and only the necessary details.
- Do not guess with mistakes. If your question is related to errors, try turning on the exact error message from the system and not using it: “It seems that something happened or deduced”. Specificity matters; sometimes a compilation error and a runtime error are completely different things, so let your potential readers know what happens and when.
- Is it reproducing? Then reproduce the problem. If your problem can be easily reproduced and, importantly, shared it, then try to do it. Either give a brief explanation of the steps required to manifest the problem, or consider using an online code-sharing tool. For example, try JSBin or Stack Overflow snippets to create an example similar to yours.
- Read your question twice. Before clicking the submit button, it is most likely green, read the question. Then read it again. If something doesn't look right or wrong, try redoing it. Mainly focus on determining whether your question is understandable and remember that it should be understandable to a complete stranger.
- All the steps are behind, but is the problem there? Then ask your question and hope for the best. As you discuss your problem, you will quickly discover what exactly you explained well, which is not enough; just follow the answers and edit as needed.
Spent a few hours constantly updating the screen, but still nothing? If you have a fast approaching deadline, then you can come to realize what is in the focus of the next section: your problem is not their problem.
Your problem is not my problem
I know it may sound rude, but it is.
Too often, questions and requests abound in urgency: deadline in a few hours, the project needs to be delivered in the near future, etc. No matter how I want to help you, there are just too few hours in a day. I have my own terms and projects. And I also have a life outside of development, which I value more than anything else.
Avoid any statements relating to the urgency in your questions, such as "Help!", "URGENT" or any other phrases that match this regular expression: [A-ZА-Я!]+
.
Perhaps the educational system taught you that putting off “for later” can be terrible. The same is true in programming. That is why a timely start of work can give enough time to solve any serious problems that you encounter (on your own or with outside help).
Everyone should learn this lesson at some point: rush, as a rule, does not accelerate the solution of the problem. Ask a clear question for an adequate amount of time and place it in the appropriate section so that the reader can familiarize himself with the question and answer it.
Be a professional (not a dumbass)
Deadline and urgency can cause serious stress. Anyone who has professionally developed software knows that the statement above is a big understatement.
However, stress is no excuse for acting like a dumbass. I saw immeasurably inquiring, simply destroying the one who tried to help. Shouting “this did not work” in capital letters or “this is a stupid answer” will not bring you any advantages and, of course, will not lure anyone on the battlefield to help a stranger.
Remember that the people who help you do this completely voluntarily. They spend their time and energy to help you overcome a difficult situation. Do not forget about this when you are going to switch to the uppercase keyboard in the answer.
People spend their time answering your question with only a few dubious internet points, so just keep that in mind during the whole process.
It’s especially bad when the questioner finds someone’s email address and decides to storm people directly instead of asking in the forums.
(Too) personal communication
To begin with, I’m not against letters to my mail when someone needs help. I will willingly tear myself away from my affairs and write to you if you contact - but politely.
Most often, they send me links to questions already posted on forums or Stack Overflow. Usually, when I click on the link, there is already a solution. If not, I will take some time and try to help if I can.
There is another family of letters to which it is not so pleasant to answer and which rarely deserve an answer. This is because they do not follow any of the rules that I have formulated above.
The situation is a little different when you contact someone directly. Some approaches remain the same, but here have their own key points:
- Once again - what did you do? If I don’t see any hint from you about trying to solve my problem, then I also see no reason to solve it (see above “Your problem is not my problem”).
- Is that that person? Make sure that the person you are contacting is able to help you.
- Do not be angry. Encountering a problem can be discouraging, believe me, I understand that. The difficulty arises when you decide to give yourself an exit by sending me an email, as if I were the person who created the problem. So it’s very easy not to get an answer.
- Be patient. As in the case of the forum, if you send me a question, I will not stop all my work in order to answer it. When I get an opportunity to take a look at it, I will do it - but please do not update my mail every five minutes.
I don’t want to dissuade someone from asking for help directly. But please make sure that you have exhausted your other resources first. I absolutely do not want to read the next letter "why jQuery does not work."
Summary
I hope this post does not look like a grunt about your questions. I also do not want anyone to think that this is specifically about him. This post is just about some actions that will help you not to ask bad questions, which, in turn, will lead to bad answers or their absence.
Resourcefulness is one of the most important abilities of the developer. If a developer can find answers and solve problems on his own, then most likely he will spend more time on tasks, rather than wondering why they do not work out.
If you are faced with a problem that is not in the search engine again and again, and the solution continues to elude you, then you should ask a question. Just make sure that you have thought it over enough and really tried to make your question worthy of an answer.
And it is better that the question is not “why jQuery does not work”.