All the Right Questions

26 Jan 2023

A problem I struggle with is asking for help. I don’t particularly like relying on others for anything and find it hard to trust others when it comes to them teaching me. I will trust others that I know are more qualified than me, but majority of the time I tend to take information given to me with a grain of salt if they are given to me by someone I don’t fully trust. This has saved me on multiple occasions, but also has its drawbacks. Overtime I’ve learned that almost anyone can have a better solution than me and my way isn’t always the best. In order to be the best engineer I can be, I must learn to ask for help more and thoroughly consider another person’s solution to my problem. It is crucial for software engineers to learn to work together because when multiple minds work on a problem, it will be solved quicker and in the most efficient way. An easy way for this to be done is through online forums such as Stack Overflow, where people can post questions they have and others can answer.

Solving Problems

Your teacher might have told you when you were young that “There are no dumb questions”, but when it comes to asking about software engineering, there are. Even if the problem you have isn’t necessarily a dumb problem, the way you ask about that problem can definitely be “dumb”. There are also times when a question can just be “dumb” in general, or the answer is already out there, but the person asking failed to look. In this Stack Overflow question, the person asking does not have a basic understanding of the coding language he or she is asking about. Their question would be answered if they did some research on the basics of C++. In fact, someone even comments telling them, “Sounds like you could use a good C++ book.” Meaning they are asking a trivial question that does not require another person to answer. These types of questions are hurtful to all parties involved. The person asking a question may get the answer to their question, but this gives them the confidence that they know what they need to know. In reality, since they didn’t have a good understanding of one basic aspect of the language, they probably missed many other important aspects of the language. I know this because I’ve been on the asking side of these types of questions before. As for the answerer, he or she wastes time and energy answering a question that is already answered. I know this because I have also been the answerer.

What the Future Holds

So how does one ask a “smart question”? It might be a more complex process than many believe. However, learning how to ask smart questions will be worth it in the end because not only will others be able to understand your questions easily, but the answers you get will be better than if you asked a dumb one. In this Stack Overflow post, the person asking the question does a great job. He asks his general question in the title of his post, then goes into more specifics about the question he has to begin his post. He then provides his code that he has a question about, which is not just a screenshot of the code, and explains the results he got from it. He even provides that his question applies to a different programming language that he tried. In his conclusion he sums up the main points that he wants the answers to. The result of this well asked question was a well answered answer. The person who answered his question was able to explain the exact concept that the poster had a question about, and broke down the code for the answer. When good questions are asked, good answers are given.