Technical questions exist on another world, far from the open ended philosophical questions about relationships, life, and happiness. People will happily spend their time writing a response to your question that’ll provide you insight because they enjoy answering vague questions. Technical forum contributors never do this. Technical questions are not philosophical, aren’t open to interpretation, and require an unambiguous answer. Contributors of a technical forum have expertise in that field, explaining the how and why and leading smart questions with a solution.
One aspect of technical forums that separates it from the rest is its mantra: smart questions get good answers, dumb questions get nothing. Smart isn’t in the sense that it asks something that reflects the intelligence of the person asking, it means how the question is being asked. The people being asked to solve these questions are real people. Real people have jobs, families, and other things to take care of. In short, they’re busy. This means those who ask questions should make it easy for others to answer it. There are those who get off on figuring out difficult technical problems. The bane of their existence is easy questions, to the point where they completely ignore them, especially if they’re asked in a callous fashion.
So why do software engineers need to ask questions? There’s two reasons. The first one is to get good answers from other software engineers. Nobody cares about your problem if you’re vague, didn’t exhaust every other resource for an answer, or are too lazy to figure it out yourself. But, if you show a question that’s niche, you’ve tried it at every angle, or your explanation of the problem is complete and unambiguous, someone who knows the answer or is up for a challenge will be happy to help you. The second reason is because thinking about how to ask your question in a way that’ll increase the chances of getting a useful answer is helpful in the workplace. Software engineers work in teams, and having the ability to ask your teammates smart questions is very helpful.
An example of a smart question was a post on segmentation faults with large arrays in C/C++. The question was very straightforward, showed code, and included the person stating that it worked on one computer and not on another. The answers explained that the non-working computer experienced a stack overflow. The contributors were also happy to give advice on how to circumvent that. The question and answers are also structured to be useful to those in the future that’ll ask the same question. They can simply look up the post and follow the solution, eliminating redundant questions.
A dumb question would be one that asks, “Why is my code not working?”. This is bad because it doesn’t describe the problem (a google search of that actual problem won’t bring up the page since the title is generalized). It also shows the laziness of the person asking the question. The person doesn’t care about understanding the solution, they just want to fix their code and turn it in. Though some gave an answer helpful to the problem, most told him to read the error message that showed up.
You have to remember one thing on forums: no one has to answer your question. People are volunteering their time to help you. They help to educate the curious and end the misconception within their respective communities. Thus, if you’re trying to solve a problem without the answer being spoonfed to you, the wizards will be happy to help you. Most of the time, someone has been in your shoes and has already laid out the solution for you to follow.