Get smart by asking smart questions

09 Sep 2021

When developing software there will always be problems or challenges that you meet. Personally, I have had many problems and questions throughout my computer-science studies so far. But I have never really thought about what the best way to find the answers to my questions is. There are a lot of possibilities to get help and many people who are willing to spend time helping you. At the same time, people are more willing to be helpful if you ask questions in a smart way. You will also probably find the answer to your question a lot faster if you ask them the right way. Some guidelines to asking smart questions are written by Eric Raymond. There are many ways and places to ask questions, one of them is the Stack Exchange site StackOverFlow.

Before you ask

The most important thing to do before you ask questions on sites like StackOverFlow is do research. People are less willing to help if it does not seem like you have thought about the problem before you ask it or if the same question has been asked many times before. Therefore, start by searching on Google, then on Stack Exchange sites to see if anyone else has had the same question or problem as you. You should also try to inspect your code or experiment before you ask questions, sometimes you can find the problem on your own by taking some time to look it over. If you still do not have the answer to your problem ask a skilled friend. After this, if you still have not gotten a good answer, you can go ahead and ask on a site like StackOverFlow.

A smart question

Smart questions will benefit the StackOverFlow community and might reveal problems that they might not have noticed. A smart question will be precise about the problem and the headline will reflect the problem well. In the question What is the “–>” operator in C/C++? the title reflects the problem well and it is specific and meaningful. The question in itself is precise and shows an example of some code and output. The question is also concise and uses clear and correct language. All of this makes the question easy to read and understand. The question has gotten a lot of upvotes and several answers, which shows that this indeed is a smart question. All answers are nice and helpful, and because of this, they reflect smartness.

Not the smartest question

Some questions posted on sites like StackOverFlow are not asked in a smart way. This will often lead to confusion and misunderstandings between the person asking and the people answering the question. In the example Javascript spacebar for starting code, the headline does not seem to reflect the actual question. The question is not “how to start code using the spacebar in Javascript?” which I would have thought from the headline. Instead, the question asks why his program, which is a flappy-bird game, activates when he hits the spacebar. The question is also written in what looks like one very long sentence with a lot of “,”. This makes the question very difficult to read and would probably lead to more misunderstandings. The question does not contain any code, but instead, it links to the entire github repository. This makes it very difficult for others to help, as they have to go through the entire repository trying to find the right part of the code.

It is clear from the comments on this post that other people did not think this was a smart question. The first comment asks the person to take a look at a link on how to ask good questions. The second comment says that relevant code should be posted and not only the github repository. These comments are gentle and courteous as they both use the word “please”. The person will probably learn from the comments and write a better question next time, the comments are because of this helpful and reflect smartness even if they did not answer the question. The actual answer to the question does also reflect smartness as it can provide help and the person took his time to look at the repository.

Asking the smart questions

After reading through a lot of questions on StackOverFlow I have learned the importance of asking smart questions. As a software engineer, I will meet a lot of problems and will probably need a lot of help. Asking smart questions will often result in finding the answer faster as well as getting a bigger understanding of the problem. It will also benefit the StackOverFlow community. Reading through all the questions also made me realize that there exist stupid questions.