Smart Questions Receive Smart Answers

25 Jan 2018

Example of a smart question: here

Example of a question asked in a not smart way: here

Eric Raymond’s essay ‘How To Ask Questions The Smart Way’, provides a lot of tips and details on how to ask questions that will yield the best answers in regards to computer science. He mentions that it is important to attempt finding the answer to your question alone using resources such as the internet, a book , manual or other. A question becomes a valid question to ask only when you are unable to find a sufficient answer through your own means. He also states that the forum you choose to visit to ask for help should be one that matches the same subject matter as your problem. This will speed up the process of getting people who understand the topic of your problem to give their advice. Most importantly, Raymond talks about the amount of detail and how specific you should be when asking a smart question. It is very vital to be as descriptive as possible when presenting your problem because it makes it a lot easier on the people who are trying to help you. The more a person understands the question allows for them to give more information in their answer to help you.

Example of a smart question

After going through some stack overflow questions, I came across this question that asks for advice in solving a problem that he is having with his scanner. The header of his question reads “Scanner is skipping nextLine() after using next() or nextFoo()?”. This is a good header because it gives a nice summarized title for the question that he is asking and it gives people a good idea of the problem that he is facing.

He then posts pictures of the code that he is running and he tells the reader the exact problem he is facing by explaining the exact line that is skipped and the output of his code as a result of this skip. He also gives the reader an idea of what he thinks the problem is by stating “I tested my application and it looks like the problem lies in using input.nextInt(). If I delete it, then both string1 = input.nextLine() and string2 = input.nextLine() are executed as I want them to be.” By doing this, the asker is providing sufficient information that other people can use to help figure out what the solution to his problem is.

Example of a smart answer

As a result of asking a smart question, the asker is rewarded with a smart answer that gives the asker sufficient help for him to solve his problem. The person giving advice is able to analyze the question and all the code provided so that he can come up with a detailed answer. His answer provides two solutions to help with the problem and code is even provided that can be implmented to fix the error.

In addition to this first answer, fifteen other people also comment and give their own advice which could be very helpful for solving the problem. Because the question is written straightforward and in detail, more people are willing to give their time to help because it is a problem that they can easily answer and understand.

Example of a not smart question and it's responses

I was also able to find an example of a question that is asked in a not smart way. The person is asking about “_y” and the only other piece of context that is provided is getWorldRotation()._y . This is definitely not enough information for others to use so that they can give a sufficient answer. Maybe a good idea would be for the asker to include a description of the program that this “getWorldRotation()._y” is being used in and maybe give some examples on tests that he has runned on the program or solutions that he has already tried.

Some people tried to respond to his question but they were not able to provide a solution and asked the person to provide additional information.

What I’ve Learned

Understanding what a smart question is definitely changed my perspective on asking questions. I’m very guilty of asking a ton of questions in the not smart way. There have been countless occasions where I asked a professor or a peer a question without providing enough context. Maybe this has impacted my educational journey in a negative way and I will strive to ask smart questions as much as possible. Asking smart questions is essential to all software developers. In a field where so many languages and new concepts exist, it would be very difficult to be productive without the help of others. Smart questions maximize the amount of information you can receive from another person and this is an invaluable tool for all people working in the computer science industry.