In the open source community, asking smart questions is a great boon to everyone. Not only does the person asking the question benefit, people who might encounter a similar problem or have the same question do as well. When people search for an answer to their question on the internet, they’ll look through the results that best fit their situation. If they spot a detailed, concise inquiry, they are more likely to understand what is being asked and see if they need to search through that result for an answer. Likewise, the part of the community answering the questions will be able to answer them directly without room for error or ambiguity, as a detailed, specific question will usually result in a detailed, specific answer. Leaving things open-ended will only lead to confusion, wasted time, and frustration. The individuals that may have the in-depth knowledge necessary to answer the dumber questions may not be able to provide it, as they won’t know exactly what is being asked or what the problem is. Then, when another person encounters a similar problem, and they stumble across the question, they won’t have the correct answer and will litter the community with an unnecessary question that could’ve easily been answered before, if it had been asked in a smart manner. When people ask smart questions, they are better categorizing the knowledge that others may need in the future, by making this information easily accessible and by improving its findability. This promotes a united, more knowledgeable, and overall better community.
Stack Overflow is the place to be for developers and software engineers if they run into an issue with their program or computer software. Its community is huge and amiable, so most questions receive positive, informative answers from other developers that know the content they are covering. The expansive community is full of people that have an abundance of experience and comprehensive knowledge of a wide variety of topics related to software development. Most people that have problems go to Stack Overflow to quickly find the solution they need, whether it’s through a quick search or inquiry. Stack Overflow has been a fantastic resource and great help for me in my academic and professional life, as most of the questions I have about my work or any specific problems will most likely have been asked and answered.
One question that follows Eric Steven Raymond’s guidelines in How To Ask Questions The Smart Way that was asked on Stack Overflow is Which equals operator (== vs ===) should be used in JavaScript comparisons? The topic for the question is clear and concise, and anyone skimming through the internet will know exactly what is being asked and exactly what answer to expect. It includes the language in question, along with detail for the question. People wouldn’t even have to read the body of the question post, as the title is clear enough. Within the question, background information is given so the responders know what the context is and can provide more information for the inquirer. The provided information is detailed and grammatically correct with explanations in it for ease of reading (ex. “== (two equals signs) with === (three equals signs)”), so there is no room for miscommunication or misinterpretation. There is no ambiguity, as immediately after the information, the questions are explicitly asked with what the person wants to know. In response to this smart question, there was a comprehensive and “smart” answer. The person knew what was being asked and addressed it directly, even responding to the general and specific aspects of the original and follow-up question. There are even references and excerpts from material to provide a clear, detailed answer.
A “not smart” question that certainly doesn’t fulfill the precepts for smartness that was asked on Stack Overflow is Swift 2.0 generics type subclass cast. This question is incredibly ambiguous and threadbare. The topic title isn’t even a question and just states a general topic/action being done. Minimal detail is provided, and the question can be interpreted in a variety of ways. After giving some code, and comments with return values, the person asks “The question is: Why” with no further detail as to what they want to know about. Anyone that comes across this will be confused for what to answer, since only “why” is asked, without further detail as to what the inquirer wants to know. As you can see, at the time of this essay, no one has answered and a couple of comments don’t address the question whatsoever.
Searching through Stack Overflow and reading the essay on asking smart questions has been informative provided some insight. I know how to ask detailed, “smart” questions that will give me the answer I need. I can contribute to the open source community with my glorious questions.