Questioning How to Ask Questions

10 Sep 2019

To Question is Human

Alex the Parrot was a gray parrot and a subject of a thirty year long (1977-2007) experiment to see if having an abnormally large brain-to-body ratio was a requirement in order for an animal to aquire language. This is because at the time only primates, who also have abnormally large brain-to-body ratios, were successfully taught so by extension parrots, who share the same property, should be able to. Not only was he able to learn language, but his true milestone was when he asked the question “What color?” in reference to the color of his feathers. This is important because this is the only recorded instance of a non-human animal asking an existential question. Contrast this to humans where we ask questions all the time, including questions about coding.

As software developers, we’re constantly running into bugs or unexpected behaviors regardless of skill level. To solve these issues we have a wide variety of tools at our disposal such as various online forums like Stack Overflow. On these kinds of sites, users can post their coding questions and have them thoroughly answered by the helpful community. However, there are certain rules and guidelines users should follow when asking these sorts of questions.

Asking Questions the Right Way

First let’s look at a post on Stack Overflow titled “No such file or directory” but it exists. In short, the asker is unable to run an executable from the command line as the OS reports the executable doesn’t exist even though it does. The asker clearly defines the issue, including their own troubleshooting attempts. Along with this, they include their OS type and version, which may aid in the debugging process. Finally, the post is short and simple, which makes it much easier to get the most important parts of the question quickly. Since this questions was formatted so nicely, the quality of the answers were very high and correctly solved the issue.

No Bad Questions, Only Poorly Formed Ones

Next let’s look at this post titled Why does my tkinter code with multiple frames not even run. The asker is using the Python package TKinter to create a GUI, but the program does not perform as expected. The asker doesn’t really do much to make answering the question easy, like including attempted solutions or error messages. They simply state that they’ve tried following tutorials and what the expected output is, and include their entire code which is not commented to boot. This question is formatted in such a way that the answerer needs to first decipher what is being asked, then what’s going on, then finally figure out a solution. Questions asked in this manner are answered infrequently or even unanswered as seen by the low traffic on this post and the single answer provided despite being asked over a month ago.

An Introspective on Insightful Investigation

These traits of asking questions are what I feel should be the norm, regardless of topic. Although it may be instinct to immediately ask for help when a problem occurs, I feel one should take some time and think about the problem at hand. Thinking about the problem thoroughly and doing research will not only improve your ability to ask the question but may even help you resolve it without needing help. In that case, you’ve solved your own problem, got the answer in a timely manner, and got smarter in the process: a Win-Win-Win! However there will always be questions you cannot answer on your own, and in these cases asking questions the right way will help streamline the overall process for both asker and answerer and helps improve the quality of the final product.