In the article How To Ask Questions The Smart Way, Eric Raymond roasts those who are stupid, not necessarily in the sense that they are uneducated, but in the sense that they don’t put in any effort to educate themselves. These “losers”, as Raymond calls them, frequently annoy those around them by asking stupid questions usually with high expectations for the responses. To avoid being one of those people, one can learn how to ask questions in a way that reflects intelligence and a non-lazy attitude by following Raymond’s guidelines for effective communication.
One example of a stupid question can be found here. This question has one of the lowest vote counts on the StackOverflow website and was even closed because the question was so unclear. It violates many of the principles Raymond covers. For starters, the title is absolutely terrible and Raymond emphasizes the importance of meaningful subject headers. One of the worst mistakes about the question is that it’s not even a question…. Other than in the header, there is no question in the description; the author just copies their code and points out that it might be incorrect. It also seems like the author is just requesting an answer for a homework exercise from some site and doesn’t bother to rewrite the question or provide a direct link to it. All of these issues (plus more) contributed to only one user attempting to answer the question and many users complaining about the lack of clarity of the question.
In comparison, this question is a smart question. There is a descriptive and concise title, specific instances of the run time results, and questions listed. In agreement with Raymond’s guidelines, the author includes descriptions of their efforts and failed attempts. It’s clear that the person asking the question has tried their best to solve the problem independently. Questions like this one result in a greater amount of high quality responses and invoke deeper discussion about the reasoning behind the solution(s), which are shown in the 21 answers to the question on StackOverflow.
I don’t usually post my questions online; many times I find myself asking friends, TAs, and other knowledgeable people I know for help. However, most of Raymond’s guidelines apply to questions asked in person as well. Personally, I have asked my fair share of stupid questions, but I now have a better approach to seeking answers from past experience and from reading Raymond’s article. When I was an intern over summer, it was expected of me to search online for tutorials and for help with fixing errors before asking my coworkers for the answer. This was an effective way for me to learn how to problem solve on my own, as there are many situations where one would not have access to in-person assistance. Knowing how to search the internet for similar questions and potential solutions is an important aspect of being a successful software engineer. However, when I was unable to find help online, I would turn to my coworkers with a detailed explanation of my problem and information on what I had already attempted in order to remedy the issue.