Developed Question Yields A Developed Answer

06 Sep 2018

Importance of Asking Smart Questions

Stack Overflow is an amazing forum where software engineers can ask questions about code, programming concepts, and programming-related topics. However, if the question does not sufficiently explain the problem, then the answer given will not always sufficiently solve the problem. An answer may not be given at all if the question is too vague. To ensure a question will receive a proper solution, the question must be smart, detailed, and clear.

A Smart Question

According to Eric Raymond’s guide on how to ask questions the smart way, this question from Stack Overflow bear some characteristics of a “smart” question. The subject header gives a concise description on what the problem is and what the user is looking for. Just from the header, the reader is already informed that the question pertains to “iterating through a collection” and avoiding a certain exception when “removing in loop.” The information given alongside the problem is precise and helpful. Code that has been attempted is specified. It is directly stated whether the code did not work or only worked sometimes. The user conveyed his problem well and finished the question with a clear end goal. This allows readers to know what specific solution is being requested. Thus, the question received many replies, including one that is a sufficient solution to the problem.

A “Stupid” Question

A “stupid” question usually contains a vague subject header, insufficient or unspecific details about the problem, messy formatting, and an unclear end goal. This question from Stack Overflow bears some characteristics of a “stupid” question. “I need help on ADO.net” is a vague subject header and provides very little description about the problem. The user post two pieces of code and asks which one is appropriate. He does not expand upon what he meant by appropriate nor does he clarify what he is trying to achieve in his code. A user who wants to answer his question must read through all the code to develop their own understanding of it. As a result, he received a response stating that there is no difference between the two codes in terms of functionality. The user answering his question cannot choose which code is the appropriate one because the user asking the question did not clarify or expand on what he considers to be appropriate.

Insight and Skill Gained

As a programmer, the ability to reach out for help is vital. There are many different concepts and ways to code, so a programmer is bound to ask for assistance. Understanding how to write a smart question is an important skill to have when asking others for a solution. I learned that smart questions will (usually) lead to a helpful solution. If the question is vague and unclear, people will not be able to give a proper answer. I will strive to write smart questions when I plan to ask for assistance online. After all, a developed question will result with a developed answer.