Thinking before you ask

30 Jan 2020

While asking a question seems like an easy task, it becomes a lot harder when it goes from asking a question, to asking a smart question. Smart questions are important for smart software engineers because it promotes critical thinking and effort. When asking a smart question it requires you to have at least tried solving the problem to ask refined questions, going from “How do I solve this problem?” to “I ran into x when attempting to do y, how can I fix this?”.

To illustrate this clearly, an example of a smart question and a not-so-smart question are provided from stack overflow. In the not-so-smart question, the title is misleading. It asks for an easier way to write a python program but there is no program, only instructions for the program. This creates confusion and wastes people’s time on a question that can’t be answered.

In the smart question, the user wants a for in loop to send off a bunch of network requests to firebase, then pass the data to a new view controller once the the method finishes executing. The user is the problem is stated clearly as well as the process leading up to the problems, allowing the reader to understand the askers thought process and what needs to be cleared up. From this the response under it was able to clearly explain his concerns and provide an example to help illustrate what was happening.

After browsing endless pages of questions on stack overflow, I have learned that asking a smart question not only saves other people’s time but also shows how important clear communication is when solving problems. Often in the not-so-smart questions, usually the readers have to ask a lot of questions just to get more information about the problem. By asking a smart question that interrogation-like part can be reduced or even skipped. In the future I’ll try my best to ask smart questions to be mindful towards the people willing to help.

Smart Question

Not Smart Question