For the love of knowledge

06 Sep 2018

Lets face it. Theres been several times where we as computer scientists have been stuck staring at a piece of code and can’t find a solution. Sometimes we just need a break to reset, but when it gets tough we tend to turn to the same source for solutions: StackOverflow. StackOverflow is great due to the countless number of previously answered questions and the community is filled with extremely smart individuals that can help. However, these individuals can be picky as to which questions are “worthy” of their time. Bad questions exist and people will not hesitate to downvote or call them out. In order to increase our chances of having our question answered, we need to follow a few guidelines.

A “smart” question should have a good subject header/title. The title of the post will be the first thing people see. It doesn’t have to be too fancy, but it should at the very least be consise. Bonus points for having a title that is attention getting. The worst thing to do is to simply say “help me” or something along those lines. People just see that as desperate or too demanding and feel less inclined to answer your question.

A “smart” question should be precise and informative. No one likes a question that is super broad. It can lead to people giving a wide variety of answers that may not be relevant and it makes the author look lazy. The body of the question post should give others some background information like how you got to the problem, how you attempted to tackle it, and make it clear what the problem is. The question’s precision can effect the likelihood of it being answered, but stray away from having too much extra or irrelevent information there.

A “smart” question should express the author’s thirst for knowledge. A lot of this comes down to trying to solve the problem before asking for help. Not only will this motivate others to help, but researching will provide you with the extra details that will help you truely understand the solution. A lot of the time people will not be willing to type out a step-by-step guide to solve your problem, but they will try their best to point you in the right direction.

Here is an example of what not to do when asking a question. First of all, the title mentions Javascript validation which is good, but the “please help me” and the lack of effort in just the title is a huge red flag. Next, the body itself is short, provides little explaination of what the problem is, and it honestly just looks like they want an easy copy-n-paste answer. This post lacks any trace of effort in problem solving and writing the question itself. He did get an answer, but its clear that people did not respond to this post in a positive way.

Finally, here is an example of a high quality question. First, the title is short and consise. Enough to understand what the question is about. The body is where this post excels. They start off by explaining the problem which is great. There are code snippets explaining what they tried and how it failed. There was an obvious attempt at finding a solution and bonus points for using hyperlinks to make it easy for others to understand where they are at. This question was well received and got a huge number of responces and detailed explainations. This may not be the perfect question to some, but if you follow this example you’re sure to get answers from people who are more than willing to help out.