Asking the right and proper question

24 Jan 2019

Asking all the right questions

Every newbie programmer will start on a near vertical mountain when they start to learn how to program. Along the way, these newbies will encounter numerous bugs, problems, and overall questions about programming. During those stressful times, the newbie will flee to the internet in search of an answer. That’s where most of these newbies fall short, as they don’t ask the right question, or they structure their question in a way that is not understandable to the people who, on their own time, are trying to answer.

I read an article recently, titled ‘How To Ask Questions The Smart Way’ by Eric Raymond. Upon reading this article, I realized where I went wrong as a newbie programmer, as I begged for help from my TA’s and on the internet. It goes into depth on how to ask the right questions, making the structure, body, and overall need for the question to be posted online. While reading through the article, I realized what I used to do during my time in ICS 111 and ICS 211, the first two introductory classes for the Information and Computer Sciences program here at UH Manoa. Most of the time I would come across a problem in those two classes, I would immediately send an email regarding the problem to the professor or teaching assistant or Stack Overflow, without trying to solve the problem on my own, in hopes that I could get the problem I had fixed without any real effort done on my part. After a bit of time in ICS 211, The quality of the question I would ask would reciprocate into the answer, meaning often times I would ask an improper question or a question with no real backbone other than “Help me, I’m stuck” and get a low-quality answer as the result. After a bit of time, I began to realize what I had to do to receive the help that I wanted.

How to ask the right questions and not waste anyone’s time

Over time and with many hours of despair, I was able to figure out the correct way to structure my questions and to evaluate them properly. The article was written by Eric Raymond displayed lots of different tidbits I was able to figure out over time, one example is attempting to solve on your own or find a solution to the problem online.

Feeling motivated when asking a question can significantly affect the way your question is written and can show through its structure and contents. I’ve learned that questions that are formulated in a few short minutes and no real backbone or enthusiasm often don’t get the response that is desirable, which led me to delve into a deeper area of stress and concern.

Having a good title tremendously helps the probability of your question being answered properly and ties in with the motivation aspect of a question. Eric Raymond briefly goes over this in his article as well, stating that questions like HELP! Video doesn’t work properly on my laptop! would not get a sufficient answer, if not any at all. For example, say you are programming in C, and getting a segmentation fault when you run your code. Asking a question like My code is getting a segmentation fault! would not be enough information to answer the question, and would turn off everyone who comes across the question. To better format, the question, figure out where you are getting the error. A question like I am attempting to make a linked list but I am getting a segmentation fault on line 37, any help would be appreciated would certainly get more answers, as I’ve unfortunately written a few questions with poor structure and no backbone. The second question would certainly attract more people, and once they click on it, it then falls on the content within your title/question to keep the person reading and wanting to help.

Having good content and explanation is key within to keep the person attempting to answer your question engaged and ready to answer. A good title will not suffice, as a title and its body work together to create a good question that people are willing to answer. When writing the body to a question, make sure to fully explain the problem and why and where you think it’s happening. This will give people willing to answer an easier time finding the problem and expending less of their own brain power trying to figure out where your error is.

Using proper grammar and structure make people more inclined to reply as well. Having lousy grammar and structure is displeasing to the eyes of most people, and could all in all make it harder for people to answer your question. I personally hate to see questions with poor grammar and structure and turns me off quickly.

If your question gets answered, regardless if it helped or not, thank the person. Nothing hurts more than helping someone out and not getting thanks for it. If their answer is not sufficient enough for you or not understandable, attempt to make sense or use the tips they added within their answer to the best of your ability. If that does not work, politely ask the individual who answered your question to elaborate more. Something along the lines of ‘Hey, upon reading your answer, I wasn’t able to make much sense of it, so if you could explain more, that would be great!’, rather than ‘I don’t understand what you meant could you try to explain more’. Grammar and simple statements like ‘That would be great!’ could really go a long way.

Why is asking smart questions necessary in Software Engineering?

Asking smart questions within the world of Software Engineering is extremely important. Asking smart questions shows others that your motivated and well versed within the project that is being worked on up to the point at which you need help and must ask for it. It shows that you can communicate well with others, based on the structure of the question you ask, and it shows how you conduct yourself and the quality your work produces. Asking not so smart questions can show others that you may be well versed or are just not motivated enough to learn, and that could lead to burned bridges and dislike from your peers.

Good and Bad questions

Here is an example of a Good Question. While this is a short question, the person writing this has a simple title asking if he/she should do a certain action. The body contains enough thought from the author of the question to show that he/she actually thought about it, and has a base to where people answering could go off of.

Here is an example of a Bad Question. This question is extremely vague. This person simply posts a question that does not explain what he/she wants to do. In their body is contains a sentence that tells anyone reading it what the goal of his/her code is, and at the bottom, it is stated that there is a segmentation fault and provides no insight as to where it is or why it’s happening. It would give more reason for anyone attempting to answer the question to have to fun the code themselves to find where the error is.