To get helpful answers online it is important to ask good questions. It can be surprising how many people every day ask questions phrased in a way that discourages answering anyone who could otherwise do that.
One big category of such questions is meta-questions, these include questions like:
- Any Java developers here?
- Has anyone ever done kernel programming?
- I need someone who knows NDK
- Is there anyone who uses Atom for C programming?
- Anyone knows about C graphics?
- Can someone help me with something?
OK, but what is bad with such questions?
People, in general, are not willing to answer questions if the only implication of those – ask more questions. There are multiple reasons for that, including:
Not willing to expose one’s weaknesses. Imagine you are very experienced with NDK and you are reading the third question. You don’t know what the person wants to know about it, maybe the question will be related to some part of NDK that you never touched. Will you risk your reputation in the chat by exposing yourself as an “expert” in NDK if you are not sure you can answer the following question? And in case of such a meta-question, you are never sure.
Lack of a challenge. A specific question can be interesting to answer, but a meta-question doesn’t give away what exactly the problem is. A person who could be interested in your real question can skip the meta-question just because it won’t catch his eye.
Annoyance. Even if you try to be the nicest person and pull out of people what they want to ask, after seeing tens of such questions per day you just get annoyed. If people don’t want to do their job in asking their questions, then why should you care and go out of your way for them.
Trying not to spoonfeed. If the person asks their question in a bad way but you still help them, they will learn that it is the correct way and do that again the next time.
Asking only a meta-question without following it with the real question will dramatically decrease your chances to get answers
Add more details to your question. Imagine it is a letter that is going to be delivered over a week one way. You want to add as many relevant details as possible for the person who will receive it, otherwise, they will have to send you more questions to clarify what you wanted to ask (which will add at least another two weeks for you to get your answer). The less work you impose on the answering person the more chances they will do it. It is you who needs the answer, right?
These questions are much more likely to get some answers:
Any Java developers here? I’m trying to build this code [a link to pastebin with your code] and getting this error [text of the error].
Has anyone ever done kernel programming? I need to isolate the process address space using [description of what you do], I expect to get [description of what you expect], but instead [description of what you got]
I need someone who knows NDK. I’m having a problem with NDK file control for ExoPlayer in android studio. I did [description of what you did] and it gives [description of what you get], I expected it to [decription of what you expected].