Although there is no such thing as a stupid question, there are distinct differences between a question that is clear and thought provoking, and a question that reflects the asker’s sense of entitlement or lack of effort. The way you phrase the question you ask will affect the kind of answer you get.
For example, asking:
What’s wrong with my essay? I got a low score for it
is not helpful and will likely result in even more questions. Asking something like:
I got a low score on my essay. I checked the rubric and found out I lost twenty points in the material section. I read through the section and thought I had fulfilled its requirements, what have I missed?
points the conversation in a much better direction to help find an answer. The difference between these two questions is that when asked the first question, I’m filled with questions of my own. What parts got marked off? What did the rubric require? What is a good essay supposed to look like? When asked the second question, I immediately know to go through the rubric and see why the essay got points marked off. A good question should point the conversation somewhere specific, rather than spark even more questions.
As a student in software, there exists a great resource to ask questions regarding computing, programming, and algorithms, called Stack Overflow. It’s a go-to forum whenever I’ve got a problem with something I’m working on and need to ask a question.
Since Stack Overflow is an open forum, there is no monetary benefit for answering a question. It is important to put effort and thought into a Stack Overflow question, because there’s no guarantee you’ll receive an answer. A set of guidelines developed by Eric Raymond, called How to ask questions the smart way, says to:
“Never assume you are entitled to an answer. You are not; you aren’t, after all, paying for the service. You will earn an answer, if you earn it, by asking a substantial, interesting, and thought-provoking question — one that implicitly contributes to the experience of the community rather than merely passively demanding knowledge from others”
To sum up what Raymond said about what makes a “smart” question,
Make an effort to solve your question through usage of other resources (Internet, manual, FAQs). Make that effort known in your question post.
Post your question in an appropriate forum, ensuring the question is on-topic and relevant to other posts in that forum.
Search through existing Stack Overflow forums to see if your question was answered already
Use a specific but concise subject header for your question.
Make sure your question is grammatically correct.
Describe a specific goal you were trying to accomplish, instead of focusing on the step that isn’t working out.
Be courteous in your forum post, and don’t shift blame on anything.
I was curious to see some real examples of “smart” and “not-so-smart” questions in the wild, so I searched through Stack Overflow to find questions that followed (or didn’t follow) these guidelines.
Here’s a question I found that violates these guidelines. This user was instructed to write a function that detects if a string contains certain words in it, and returns different results depending on what was detected. The user made this post with the title:
“codewars problem solving 7kys –> 80’s Kids #5: You Can’t Do That on Television”.
This post started with a bunch of instructions that the user was given, and the code that the user had made. They state that it does not work, and ask what is wrong with it.
First of all, the title is not descriptive or specific. Reading “codewars problem solving 7kys –> 80’s Kids #5: You Can’t Do That on Television” does not tell me anything about the user’s problem. Second, there was no effort to describe any specific goal, all the user provided was a set of instructions, code that doesn’t work, and just asked why. Third, and the biggest offender of this post, is that there clearly was no effort that was made to try and solve the problem through any other means. Nowhere in this post did the user describe what they tried to do, what resources they had sought out, or even a single Google search. This commenter perfectly sums up what is wrong with this post:
“A note about titles: They should be an executive summary of the technical problem faced. The current title tells future askers nothing about what this question is actually about… You’re asking this question too soon. If you had made any effective attempt at debugging, you would have a minimal reproducible example or something like it in the question.” -user4581301
Hopefully, this user takes this as a lesson to write more specific titles and do more research before posting a question to Stack Overflow.
Here’s another question, but this time it’s a good question, so good that it is the highest rated question on the platform. This is a user that made an observation that didn’t make much sense to them, and they wanted to know why their code behaved the way it did. The post was simply titled “Why is processing a sorted array faster than processing an unsorted array?” The user starts off by stating their observation and providing their code. They then say that they thought it was a compiler issue, and tried the same thing on a different programming language and observed the same thing. They finish their post by saying their thoughts on what might have happened, and end with two questions.
Already, the title of this post tells me a lot about their inquiry. As I continue to read this post, it is very clear that this user has done their research and has tried a whole other language to test their theory. They had made their thought process very clear throughout the post, so I could understand exactly what they were asking and why they thought their observation was so bizarre. This is an excellent question, and the rating it received and in-depth answers to their question confirm it.
Taking a look at real examples of well thought out (and not so well thought out) questions helped me a lot in understanding how to best ask one. Next time I have an inquiry, I’ll be sure to follow Raymond’s guidelines to improve my odds of getting a good answer!