A phrase that’s been extremely popular and that’s been preached to me in almost every class from K-12 to even in my university has always sort of made sense to me until just recently. That phrase was “There’s no such thing as a dumb question”. Initially, this is supposed to encourage people to ask questions because presumably, every question asked will only benefit the class or at least the person asking the question. But ever since I started working in IT, having to help people with even the most basic or bare of technological requests for assistance, I’ve learned that there is such a thing as a dumb question.
This is especially prevalent in software engineering forums such as Stack Overflow. People in this field should understand what makes a question inherently dumb or smart. Eric Steven Raymond often referred to as ESR, is an American software developer who wrote a handy and detailed essay on “How To Ask Questions The Smart Way”. I highly recommend this read for everyone, not just those in some sort of computer science field, because it’s become very apparent to me that not everyone understands how to ask smart questions.
Most of this essay will derive from what makes a smart or dumb question from the essay mentioned earlier written by Eric S. Raymond. However, most people work best off examples so here’s an example of a dumb question.
The example shows that the user requesting assistance requires help regarding setting up a string in Visual Studio Code (VS Code henceforth). The user even mentions that they’re using VS Code, Python, and Code runner. What seems to be the issue here? Well first off, the user had initially not even included a snippet of the code that they were referring to, that they requested assistance with. It’s since been updated with just the code mentioning the test string but something like the code they need help with is essential for anyone gracious enough to try to help this user. The user also mentioned that they’re using Python, but fail to mention what version they’re using in the initial post. He later commented on what version they’re using but again these bits of information are necessary for the very first draft of the question as the time it takes to answer such a question skyrockets depending on the choice of information to include.
The user also hasn’t properly indicated what steps they took to try to be a self-directed learner and figure out the issue themselves. Not even mentioning whether or not they’ve tried a simple google search. They also don’t provide the steps they were following when they reached their error. Speaking of error, the user only mentions that their coded “doesn’t run” and gets a “SyntaxError” without properly providing the full error code so anyone looking in to answer the question is still left with their head scratched. Going along this trend of lack of information, they don’t mention why it is they’re doing so in the main post. He’s since commented what his intentions were but once again, needs to be in the main post. One last thing, which is more of a nitpick but his question isn’t formatted as well as it could be. It’s all clumped up and his code isn’t even formatted properly. It doesn’t inherently make the question dumb but it does strain the eyes of any onlookers even if just slightly.
I bring up this question as an example of a dumb question, not to simply rag on the user because this is his first question, but to hopefully enlighten or at least provide a hint as to what not to do when asking questions. The total upvote: downvote ratio has left the question thread with a -2. The users gracious enough to come to help the question asker are constantly asking for more and more information, the very same information I mentioned would be necessary to formulate a smart question. The way he asked his question has to lead to relatively snarky to passive-aggressive answers in the comments as well. All together showing that asking dumb questions will tend to not lead to either effective and efficient help.
On the other hand, here’s an example of a relatively smart question. It may not be the smartest question but it’s got its points. Please keep in mind that the point of showcasing “dumb” and “smart” questions is to show that smart questions tend to get more effective and efficient help.
Looking at this post, right off the bat we see that the question was formatted properly. Any breaks between paragraphs indicate a different type of information that could be used as context. He even provided a link to what he’s attempted to look through for understanding but has come up short on. This also shows that, unlike the dumb question example, this user has told any potential answerers that he has tried to solve the issue himself and also included where exactly he’s been to accomplish his end goal.
The issue is very clearly described with context as to the kind of answer they’re looking for. Simply put, the way he’s asked his question has made his end goal very clear: understand JavaScript closures. Also, he’s provided context as to where he’s placed in terms of understanding of JavaScript closures so anyone who answered will have some sort of diving board to get started from.
Unlike the “dumb” question, the “smart” question also received exemplary responses. 5,816 have bookmarked the thread. There are a total of 7,632 upvotes. 86 answers which make up at least 3 pages for any future thread viewers to go through to properly understand JavaScript closures. Not to mention the outstanding answers provided by every single person answering the question. The result of this person asking his question as he did was a bunch of in-depth answers that he as well as any others struggling with a similar issue can look through to help resolve any problems they might have had with the concept. As such he’s received very effective and efficient help.
Once again, I highly recommend “How To Ask Questions The Smart Way”. It’s very enlightening and helpful for anyone struggling with anything. If there’s anything to take away from this it’s to put as much time and effort into asking a question as you would expect someone to give when answering your question. Most of the time the amount of effort shown will be very obvious from your question and its presentation, but make sure to let any potential answerers know what you’ve done so far to help yourself. After all, no one wants to put in any time or effort to help you if you’re showing them that you clearly won’t help yourself.