I remember in class the teacher would utter the phrase: “There are no stupid questions.” This was in an effort to encourage us student’s to ask for help without feeling ashamed for not knowing something. There is no shame in asking for help when you need it. There is no shame in admitting you do not know or understand something. However, there is such a thing as a stupid question.
I remember a conversation I had with my uncle on this very topic. He agrees that there is such a thing as a stupid question. His definition of a stupid question is a question that is lazy and low in effort. According to my uncle, people ask stupid questions when they are too lazy to find an answer for themselves. If you ask a question that simply requires a quick and easy Google search to answer, then you are asking a stupid question. In the digital age where Google is always readily available, there is no reason to ask such low effort questions. Before you ask, ask Google. Odds are that someone has asked the same question before.
So you put in some time searching for an answer but still no luck. You looked on various sources and forums but still can’t find the answer or help you are looking for. Now what? Well now is the time to actually ask your question. However, good answers require good questions. A simple “Help! Not Working!” will not cut it. A detailed guide to asking smart questions for programmers can be found in Eric Raymond’s essay here. To summarize Raymond’s guide, make sure your question is: clear, concise, formal, and explicit. Also don’t only ask for the answer to your homework because according to Raymond, that makes you a loser.
In order to see how much of a difference smart questions can make, let’s compare two posts on Stack Overflow
One example of a not so smart question can be seen on this Stack Overflow post here. The title of the post is “How can I fix my Python code?” The message body is improperly formatted and the user simply asks people to fix it and post it below for him to copy. No other information is provided other than his code. The user did not specify what his code is supposed to accomplish, what errors he received, or what exactly needs to be fixed. As a result, the post did not receive many helpful responses. Most replies are questions to the actual question. On top of that, the post was closed for not meeting guidelines.
In this example, you can see that the user shows he did research prior to asking his question. The user also shows what error message he received as well as specifically asks what he is looking for. As a result, we see that the post is highly active with over 28 responses. All responses are of high quality and provide a detailed explanation with various sources.