“There’s no such thing as a dumb question”, I’m sure that everyone has heard this saying at some point in their lives. But is it true? After reading How to Ask Questions The Smart Way by Eric Steven Raymond, I am of the opinion that they do exist, and things can get pretty ugly. But don’t worry, there are two sides to every coin. Having dumb questions means that we have smart questions too, and that’s something that I can get behind.
Thanks to the diligent moderators of Stack Overflow finding a truly bad question is pretty difficult nowadays, so most of what you’ll see will at least be a half-way decent question. However, I did still manage to dig up a few offenders. In this first question the asker posts a question asking for help with their homework, along with the code that they’ve done so far. There is no evidence of them having done any prior research, and they do not state what it is that they don’t understand. To others, this most likely makes it seem like this person simply wanted someone else to do their homework for them. As a result, this question was promptly closed by a moderator within only one day of being posted. Despite being removed so quickly, it only took that one day for people to express their discontent with the question in the comments section.
In this example of a good question, the asker immediately explains their level of understanding on the subject of the question, and that they have done some prior research. The question itself makes it very clear what information the asker is looking for, as well as being well formatted and concise. As a result, the question received both a massive amount of upvotes, as well as a high-quality answer within minutes.
As Software Engineers we are tasked with coming up with new and innovative solutions to difficult problems on a day to day basis, and if you’re anything like me technical forums like Stack Overflow are your best friend. But these forums won’t always have the answers you’re looking for, and when that happens being able to ask a smart question can really save the day. Smart questions enable you to quickly gather the information you need, by making it easier for others to help you. But, before you start asking others for help, make sure that you do your due diligence and make a serious attempt to find the answer yourself. Being able to Google effectively so that you can be certain that you’re conducting high quality preliminary research is crucial. You don’t want to be that one person who posts a question that can be answered with a quick Google search. If you end up determining that you have no choice but to seek out help, make sure the question you ask is a smart one. Be specific about what information you’re looking for, include what research you’ve already done, and mention if there’s something that you didn’t understand. When it comes to questions on technical forums you’re going to get out, what you put in. If you put a lot of effort into asking a smart question it will show, and you’re much more likely to receive a high-quality response in a timely fashion. The opposite is also true. Dumb questions and whining will often receive negative and non-constructive responses as can be seen in the comments of this post.
This experience has given me a new appreciation for the hard work that is done by the community to make sure that high-quality technical resources like Stack Overflow exist and are largely free of dumb questions. When I began researching smart questions on Stack Overflow, I believed that it would be a simple task to find dumb questions (this is the internet after all) and that it was the smart questions that would be hard to find. However, it never occurred to me that many of the worst questions have already been removed from the site. So, thank you to the moderators, advice givers, and smart question askers that are out there. It’s thanks to the combined effort of people like you, that the Software Engineering community has access to so many wonderful resources.