To Ask or Not To Ask

10 Sep 2020

Asking questions is a part of life. You can never go about your life without asking at least one question. It helps feed us new information, satisfy our curiosity, and gain precious knowledge that we can keep tucked away in our brain. We start asking questions from the moment we remember; as a little kid asking the why’s and the how’s to mundane things like “why is the sky blue?” or “how do I get away eating a cookie right before dinner from mom?”. At that point of life, people didn’t care whether your question was smart or not. Heck, they didn’t care if your questions even made sense in the first place. At that point of life, we were learning how to form questions and how to extract information. It isn’t until later on in life that the expectations of our ability to ask questions in a smart way mattered. People always say “there’s no such thing as a stupid question.”, and at an extent, yes, they are right. Any answered question will give the asker some sort of information, but there is a way to ask a question that maximizes the amount of information the asker can extract. Asking smart questions is important not only for software engineers, but for anyone. Now, what constitutes a “smart” question? Well, first of all, it’s always important to try and answer the question yourself before asking anyone else.

Many times, people ask questions hoping for a quick answer instead of taking time to learn themselves. Take this question for example found on Stackoverflow: converting a string into an array of int . A person wanted to know how to convert a string of numbers into an array of integers in the language C++. Even though the person asked the question correctly, they did not do the first step of asking a smart question; which is attempting to answer their question by themselves. This requires searching for the question on the website with key phrases such as “converting string to int” and “C++”. You can tell that person did not try to search for the question first because it was marked as duplicate, meaning that another question in this form was already asked. The second step of asking a smart question is to state what you have already tried doing to solve the problem. In the example question, the person simply asked their question and did not provide any other information such as what they tried to do or what their code looked like so far. This makes it harder for people to answer the question because they have no knowledge of what the asker knows already. An example of a smart question on Stackoverflow would be this: how to replace all occurrences of a string? . This person’s question about replacing all occurrences of a string isn’t marked as a duplicate so it seems like the person tried to search for the answer prior to asking which is good. Another thing that the person did was showing their attempted solution to the problem and stating why it doesn’t work. This gives people an idea on how to answer the question so that it would most benefit the asker.

Asking smart questions benefitted me in the long run because I discovered by asking smart questions, people were more willing to answer them and give more in-depth information. Forming better questions also helped me understand the problem more and sometimes I even found myself answering my own question while in the process of figuring out how to ask it!