Good Questions Get Good Answers

26 Jan 2017

If You Don’t Know, Ask

The field of computer science is a dynamic field that is constantly changing and growing year by year. New languages, software, and technologies are being created, which makes it hard for computer scientists to keep up. There’s always something new to learn, which is what makes this field of study so exciting. With a vast amount of information to take in, learning is best done by consultation and collaboration. There are many sources to learn for programmers, including online communities designed to ask, answer, and share knowledge on anything relating to computer programming. StackOverflow is one of the more popular resources that programmers use to interact with each other. However, with more people asking questions than people answering them, having one’s question answered is sometimes hard to come by. The key to getting not only an answer, but a good answer, is to ask good questions.

What Does Raymond Say?

In the essay “How To Ask Questions The Smart Way,” by Eric Raymond, useful tips are given to effectively interact with fellow developers on sites such as StackOverflow. Raymond lays out a guide on how to ask good questions that will not only benefit the person asking the question, but also others who may happen to have a similar problem or stumble across the forum. After reading the many rules to asking questions, I’ve broken it down to three general rules to follow.

Do Your Part

The first rule is to do your part to make an effort before turning to StackOverflow. Try to figure out the problem for yourself. This is the best way to learn after all. If you can’t figure it out, use the web. Chances are, other people have come across the same problem before. Google is your friend! If all else fails, then post your question, explaining the work you have done and the problems you’ve come across. The worst thing you could possibly do is post a homework question without trying it for yourself.

Ask The Right Way

When it has come time to post your question, asking the right way will increase the chances of the question being answered. Post to relevant forums, use meaningful subject headers, and write clearly with correct spelling and grammar. Describe symptoms rather than your guesses, and describe the goal before the steps taken. Following these rules to writing your question will make it easy for hackers to spot the question and want to answer it. If they can learn something by answering the question, too, then that’s even better. Below is an example of a smart question, followed by an example of a very bad question.

The Smart Way

A Good Question

Here we see an example of a well thought out question. The person asking immediately explains the goal of their problem. Then, they explain the specific issues occurring, rather than saying, “It doesn’t work, please help me fix it.” Lastly, the person asking the question posts their code of the specific class having issues, rather than the entire program. Hackers don’t have the time nor want to spend the effort to sift through an entire program to fix the problem.

By asking the question in this way, three people were able to respond and give quality input on the same day the question was posted. The layout of the question allows for others to immediately help and respond with a possible solution to the problem.

The Not So Smart Way

A Very Bad Question

You don’t have to be a programmer to recognize this as an extremely horrible way to present a question. First of all, the subject header is vague and uninteresting. It reads, “Still getting fatal exception after my code I have tested.” It doesn’t specify the problem. Then, this person goes on to post blurry, dim, and disoriented pictures of their code, rather than posting it directly to the forum. This is simply off-putting and will deter anyone from even attempting to make out the code. Lastly, the person asking ends by begging. The last line reads, “Please Dev, What should I do?? I need to get it done quick!” This makes this person sound desperate, demanding, and downright rude.

It doesn’t end there. Someone took the time to actually reply, saying, “Please post your code, not a blurry dark unreadable sideways photo of it.” To that, the person asking relied that he/she “gat no money for a subscription!” Thinking that they need a subscription to StackOverflow shows this person didn’t do their research. These types of posts take away from the open source community. The goal is to contribute to it.

Be Nice

The last, but certainly not least, rule to asking questions on open source forums is to be kind, courteous, polite, and respectful. People answer questions in their spare time, so no one is entitled to an answer. If you respect the online community by asking thoughtful questions in a respectful manner, others will want to help. If you do get your question answered, it is good practice to follow up so that others who may have a similar problem can find a solution for themselves in the future. Be nice to other fellow hackers, and they’ll be nice to you.