There Are Such Things As Dumb Questions

28 Jan 2021

Don't Waste Time

Asking smart questions is important to one’s journey as a programmer. Many people are willing to help, but even more people are sending them their problems. Because of this, it’s important that questions are written well so as to attract positive attention. In the article by Eric Raymond, he writes from the perspective of the expert helping novices. And although he provides many tips and pointers for the struggling coder, he sticks to a couple main points. That is, don’t waste the hacker’s time. These people are experts in their field, willing to provide free, helpful advice to anybody, so long as their time isn’t wasted. Asking questions in a smart way is important, precisely because of this fact. If a person’s question even hints at wasting time, Raymond writes that it’ll be ignored if not ridiculed. Apart from the concrete tips and pointers that Raymond provides, the main reason why asking smart questions is important, is it gives the questioning programmer a higher chance of getting an expert answer.

Getting an Answer Back

Going back to the concept of wasting the hacker’s time, asking smart questions raises the chance that an expert will think it’s useful to answer. There are a couple ways to do this. One is to be straightforward. Hackers and advanced programmers don’t have time to sift through pages of code for an unknown error. It’s much smarter to provide info on the error itself, the specific cases that it occurs, and more info on the system/program/environment that it occurs in the first place. In the link for the bad question, a person puts their header as “is there a problem with my code?” and proceeds to copy+paste his source code. This is a very dumb way to ask a question and will most likely not attract a detailed and thorough response. The person doesn’t take time to explain the issue, or even where the issue occurs. It leaves it up to the expert, who’s already swamped with other questions, to look through an error that he/she doesn’t even know, and figure out a solution to a program with an unknown purpose. Like mentioned before, this is obviously a waste of time on anyone’s part.

A Good Example

Moving away from bad examples, we have a good example, on the same website. This time, the header is “Mongoose: CastError: Cast to embedded failed for value “{ value: ‘x’ }” at path “items””. This is much better. It’s specific, concise, and allows the hacker to instantly tell the premise of the issue. It’s also obvious that the person made an effort in making the error obvious and easy to understand, as opposed to just pasting faulty code. If one were to click on the link, they’d also see that the way he expands on the issue is smart too. The person provides the error message, along with the piece of code that the error refers to. This way, the hacker can know exactly where the issue occurs. And at each step, he explains the purpose of his code and why he coded the way he did. Both of these forums, bad and good, were posted very recently, but I wouldn’t be surprised if the second one gets more in-depth and thorough explanations than the first one.

Final Thoughts

There’s nothing wrong with having questions. In fact it’s good that programmers make an effort to solve problems in the first place. However, it would be naive to not think about how to word the question and how to go about asking it. It’s important to realize that expert answers are in high demand, and that it’s therefore difficult to get one. And so a programmer, when they get a question, should make it as easiest on the expert as possible. That way, the programmer can walk away with a satisfactory answer and the expert can walk away knowing they didn’t waste time.

Links

Good Example
Bad Example