The first step in becoming a smarter person is being able to know where and how to obtain knowledge. A popular way to do so is by asking questions from more experienced and knowledgeable people and learning from them. However, there are two ways to ask a question; the smart way and the bad way. The smart way of asking questions allows the person asking to receive more information compared to someone asking a question in a bad way. So, how can you differentiate a smart question from a bad one? Authors Eric Steven Raymond and Rick Moen wrote an elaborate essay on this specific topic for people who are trying to get better at coding, giving tips on how to ask good questions and how to stop yourself from creating bad questions.
A common place for questions to be asked, especially for programming troubleshooting, is Stack Overflow. Stack Overflow has thousands, if not millions of questions posted on the website, filled with both smart and bad questions. An example of a smart question can be found here. The title of this question is a concise question “What is the “–>” operator in C++?”. The author of this forum post starts off by giving context for his question, providing a hyperlink to his reference. The author then puts the input code and the output code before finally elaborating on their original question. This forum post is a perfect example of a smart question since it is straight to the point, context for the question is provided, and the question allows for specific answers from experts.
There are many examples of bad questions on Stack Overflow. In fact, I had to go back and edit this essay because the original question I found ended up being closed down for being bad. This is an example of a bad question. What did the author do in this post for it to be considered bad? To start off, the title of the post is “Format string to title case” which provides no question to answer and no context for anyone trying to view the post. To make it even worse, the author of the post does not provide any context for their question. They only reworded their title into a question and gave a hyperlink to show an example of what they were talking about. The user does not mention any coding language for it to be typed in and does not mention anything else regarding their question, which leaves a LOT of room for interpretation from the people trying to help. As a result, the answers given by other users have been “solved” in multiple languages, which could have been prevented if the original poster gave more clarification.
Even though many people encourage scholars to ask questions when they need help, it is good practice to do so efficiently because asking a very vague question is not going to benefit you at all. Being able to communicate something properly to another person will allow for faster responses and more detailed answers since there will be no room for misinterpretation of what you are trying to solve. For coding specifically, it is especially important to have the ability to create good questions since there can be multiple ways to solve your question, with some of them being more “correct” than others. On top of this, smart questions will allow more insight for the asker, allowing them to become more knowledgeable in the topic for future reference.