Smart Questions, The Good, The Bad, and The Ugly
Eric Raymond, a Software Developer, reflected on the inquiries to many of people’s questions and how they are structured. To write a question and receive a satisfactory response from the hacker was the goal to be achieved. Eric goes into depth on how to ask these questions which cover topics such as choosing which forum to post your question on, deciding on the correct header to use for your question, grammar, language and easy to understand structure, and being precise about your problem and symptom analysis. He also explains on the topic of what the goal is you are trying to achieve, and to not use pointless queries in a complaining tone. Many of these subjects are critical to understanding how to post meaningful and thought-invoking questions that will guarantee an answer. Otherwise, as he says you will be left in stony silence. Thinking more-or-less about what the problem is you are encountering, providing a step-by-step analysis on the procedures you did to get to that point and to provide as many facts as possible are to guarantee or at most get someone to think about the problem you are having so it can be resolved.
Smart questions are ones that cover all the points described above to get an answer that is “worthy” of the person’s time who is answering the question. Such questions invoke thought, for example this topic “I’m creating a reddit bot using python, PySimpleGUI, and PRAW. It runs in my IDLE, but fails with a threading error after converting to an executable” one can see here the issue that the person is encountering with their coding in Python, which as they describe as developing a bot using PRAW to scan to scan all new comments in a user defined subreddit and searches for specific replies to respond to. The header above signifies a detailed description of what problem the person is facing, and further describes the procedures that they went through with their expected output versus actual output. It provoked a meaningful argument to which the viewer can then look on and gather information to give to the individual in need. The only thing that would be awry with this statement is that they didn’t implicitly state that they searched the web for the answer first, but as being new to Python, there might have been some slack as to giving the proper answer to this question. Many of the points were hit, which is why I consider this a Smart Question.
Another Smart question can be directed here Simplifying “AWS SDK GO v2 testing/mocking”. The header might not be as descriptive as Raymond describes headers are supposed to be, but it gets into the point of what the goal of the problem the developer is asking in question. He describes in the code that (s)he links about problems that they are facing when they are trying to use AWS SDK GO v2 to create an API. Of which the code that they link are in relation to the problem, they described the procedures which they performed, possible solutions that they came up with themselves, and the goal they are trying to reach in the end. They also described Amazon’s article on unit testing AWS SDK Go v2 which gives the person answering the question some insight that the developer has an idea of what they are doing so they can answer the question in depth and without confusion to the recipient. The information the recipient provided along with his or her knowledge on the topic led to interesting answers in their discussion which ultimately resolved their question.
However, there are some questions posed that are not as good as they seem which lead to very trivial answers to basic questions. Such a question posted on Stack Overflow pertained to “Mysql 8.0.29 installation failed”. Already from this information, one can conclude that not a lot of information will be given on the topic, it is not as informative and minimal at best when asking. The problem that the user is encountering is problems with downloading MySQL onto their personal computer. They had mentioned some of the steps that they tried, but did not go into depth on what each individual process was. Along with that, they didn’t read much into how the installation process works because the entries that they download were not relevant to the current, and provides a prune pointless query to “Any Suggestions?” in the end. Most of the responses ended up in Raymond’s definition of RTFM which resulted in very small responses from the community, that of which helped or did not help the recipient.
In this experience of researching Stack Overflow, asking Smart questions are paramount for software engineers, because they need to describe the problems in their code that they are facing, provide a description on what the code is doing with the desired output and actual output, along with any additional information that the developer has that can help the person answering the question to the best of their ability. Asking these questions not only demonstrates one’s ability to understand how to explain their code / project and the problems they are facing, but helps with the responder on how to appropriately answer the question. Moreover, most questions that are thought-invoking seem to get a thought-invoking answer. That is because the developer asking the question puts time into what they are trying to say to get a response that is best suited to their needs. As they say, “You get in what you put out.” So if one asks a meaningful Smart Question that has some thought behind it, one will receive an answer that has some thought behind it.