They say there is no such thing as a stupid question. Some, however, are much smarter than others. In a field like software engineering where technical questions are commonly posted on forums or FAQs being able to ask and identify smarter questions is crucial. According to software developer Eric Raymond in his article, How to Ask Questions the Smart Way, experienced hackers will often become “hostile to people who seem to be unwilling to think or to do their own homework before asking questions.”
That is how Raymond and many other experienced engineers define a bad question. One that the inquirer clearly hasn’t taken their own time to try to answer for themselves. Posing a smart question should start by stating what they have already done to solve the problem on their own, checking other sites, reading manuals, consulting friends, etc. That question should also be asked in the appropriate place with no cross-posts to different sites. As a software engineer understanding how to ask a smart question will give you a much more useful and positive response from colleagues. Doing so also teaches a person how to be proactive and an independent problem solver.
I thought this was a good example of a smart question. In the post the user wanted to know why their C++ code was processing a sorted array faster than an unsorted array. They included a snippet of their code and explained how they attempted to answer the question themselves by trying to recreate his findings in Java. The first thing I noticed was the question seemed to be asked more out of curiosity and presenting the community with an interesting observation. The inquirer’s code seemed to be working regardless of the run time, so they could have easily just used the quicker option. The challenge this question posed, the fact that the person who posted explained their attempt at solving it, and the discussion it sparked made me believe this was an example of a very smart question. The answers also supported this notion as many people submitted several paragraphs presenting their own thoughts, theories and findings. The top answers was almost an essay in itself and presented a lot of details on the topic as well as what was ultimately the answer to the question.
An example of a bad question I found on Stack Overflow was when a user asked how to revert a local commit on Github. The reason I considered this to be a bad question is because the individual who posted it clearly didn’t conduct any research of their own before turning to Stack. If they had, they may have discovered that one of the highest upvoted slack posts covered this exact topic. This was reflected in the answers on the page as everyone links them to that original post.
A common mistake I saw was people asking questions that had already been answered on the site previously. This mistake is present in the example I gave of bad posts as well as a handful of answerless posts on the site. I also learned that it is crucial to preface your question with your own efforts at reaching a solution. Not doing so will come off as lazy to other professionals in your field. After seeing actual examples of smart and bad questions on Stack Overflow I have a much clearer picture on how to navigate using resources such as Slack.