Throughout the history of mankind, people learned from curiosity. Curiosity is what sparked the flame for change and innovation. When it comes to asking questions to fulfill one’s curiosity, asking questions in a “smart way” yields not only a better response, but helps the person in question with his/her understanding of the question. Asking a smart question that is precise and thought-provoking attracts software engineers that are willing to help and reflect the same amount of effort put in the question. By asking a smart question, we avoid wasting both the person in question and the person answering’s times.
Here is a link to the question on Stack Overflow: The Question in Question.
A user on the popular site for computer science related inquery, Stack Overflow, asked for help with creating a website where the users would have to pay before registration. The questioner is using Django as the open-source web framework and he/she wants the user of his/her site to pay before creating an account. He/she claims to be a beginner and just asks how to accomplish his goal without any specificity. This question is a perfect example of a “not smart” question because it uses informal language, reflects that he/she has not attempted to search on the web, and does not describe the problem he/she is having. The user starts off the question with informal language saying, “Okay.. so” and then proceeds to state the goal. Starting off the question with such informal language shows other software engineers that you are not truly serious about your question and it is not important enough for you to put in the effort of asking correctly. In addition to informal language, the question also reflects that the user has not attempted to search the web for help. The user does not reflect if he/she has searched the web because the user just states his/her goal and that he/she needs help. The question reflects no attempts to solving the problem because it does not describe any problems that the user ran into while attempting to reach the goal.
The question above reflected the least amount of effort a user could put into a public forum question and thus the user received a lackluster response. The response has incorrect spelling and grammar using “its” instead of “it’s” and “The” instead of “Then”, which shows that the responder did not read over his answer and did not give much thought to it. The response also hints to the person in question that what he/she is asking for requires too much explaining and showing for a simple public forum question. It mentions to the questioner that what their asking for is a long process that would best be achieved if he/she explores around with Django more. The response itself gave a broad explanation that he/she should use a payment model and store it in a database, but does not go into detail on how this should be done. A perfect example of match of effort between question and answer.
Here is a link to the question on Stack Overflow: The Smart Question.
After looking at what not to do when asking questions, let’s look at a smarter way to ask a question. Another user on Stack Overflow asked a question regarding the usage of the “use strict”; statement in JavaScript and the reasoning behind it. The user ran into an error that required a “use strict”; statement to fix it. Although this question may seem like it’s easily answerable by searching it on Google, the user mentioned that he/she wanted to know more about the history of the usage that was not revealed in his/her searches. It shows that the user has tried to solve the problem and answer the question through his/her own efforts, but was not satisfied with the results Google provided. The user’s question is short, precise and includes more specific questions that really zoom into what he/she wants to know. The user also includes his/her own guess what what he/she thinks is occuring regarding the way the JavaScript is being interpreted by the browser.
The question above reflected a proper amount of effort and thinking, so the answer matched it. The responder provided in the answer a link to a resource that he/she thought would be helpful and included quotes and information from that resource that helped answer the question as well. Along with the resource, the responder adds on his/her own interpretation of the material and an explanation of strict mode in JavaScript. The responder even goes the extra mile and includes code that shows how strict mode is used in a function. Another match between the question and answer’s efforts.
Before analyzing questions on Stack Overflow, I never realized the big difference between asking “smart” and “not smart” questions. I now know what I should avoid and what I should do when I ask questions. I learned that when I ask questions I need to first ask myself that question before I ask others. I need to put in the efforts to answer the question myself before I ask for others’ inputs because everyone is busy and I don’t want to waste anyone’s precious time. Looking at the wide variety of questions I learned that length does not always equate to a “smarter” question. It is best to be precise and only provide the information that is relevant. Ignoring the fluff not only saves everyone time, but it keeps myself from becoming confused with irrelevant information. I have learned quite a few tips to asking questions and even though I can’t guarantee I won’t make a mistake, I can guarantee that I will try my best.