In my programming experiences, the internet was my best friend. More specifically, the information that it peddled to me was. Much of the time, the solutions to my problems could be found online, within tutorials or from forum posts by fellow programmers. However, there are times where the solutions to problems could not be found on the web, in which case it becomes necessary to consult someone more knowledgeable in the matter. However, asking people questions is nothing like googling it. The other party needs to be able to understand what the problem is and most importantly, not become repulsed by its presentation and turn away. For that reason, it is vital that the question is smart.
Smart questions are implemented in a way that quickly makes the problem clear to the reader. To demonstrate this, I found a Stack Overflow forum post by the name of “rendering in context of web development, which does this well. While the header does not present the question the author is asking, it is specific in that it presents the topic that is being asked about. Within the body, the problem is presented:
I don't quite understand the meaning of <b> rendering <b> in context of web development. When I read about browsers architecture,rendering is something about displaying fetched content from the internet. On the other hand, there are definitions of client and server rendering (with no browsers mentioned).
Just from that, it can be understood that the author is confused about what rendering means, as he was unable to ascertain the definition from his research. While this is a simple problem, the author makes it clear that he has put effort into solving the problem, so it is being asked for good reason. Within three sentences, the post efficiently presents the problem and its source clearly, resulting in a post that is easy to understand and respond to.
The top response to this problem is equally, if not more, efficient than the problem. The response gives a definition to rendering and explains that the definitions the author found were not very different from each-other. It then breaks down exactly “how” rendering works using relevant terminology, concisely explaining the process and the expected end result.
Imagine if someone shows you their spaghetti and asks you to volunteer your time to make it for them. As soon as you lay eyes upon it, you tell that it is a sprawled-out heap of noodle drowned in tomato paste, clearly a failed attempt at making the process instant by discharging a can of sauce onto a dropped accumulation of noodle. You would likely immediately choose to disregard the request and move on with your life. After all, if they were not willing to put in the time to to clean it up for you, much less try to make it themselves, why should you waste your time to do it for them?

Not-smart questions are like the spaghetti monster, hideous to look at and capable of instantly making the reader lose interest. Also on Stack Overflow is a different post, which was not so positively received by the replying community. In the post “I am trying to figure out why my code is not working” we can see the stark contrast between a smart and a not-so-smart question. The header does not explain what the problem is, only serving to state the obvious. The body contains an image which makes it clear that the problem is in a chunk of Java code, where the toString method cannot be called within a custom class called Arrays. A sentence explains the problem, but is lacking in vital punctuation and is placed right next to the image in a position that makes it difficult to read. I would have lost interest in solving it by then.
The response to this problem was a single sentence.
’’’
The name of your class is conflicting with the library.
’’’
If the post’s author was not aware of what a library even is, which could happen if they were a novice to Java, this response would raise more questions. The author would have to conduct research into libraries, which could lead to more questions. It also did not explain why it was conflicting with the library, once again making the response possibly unhelpful. The post itself was also met with hostility, seeing that it has two downvotes.
This Stack Overflow dive was an insightful experience. Seeing examples of smart and not-smart questions has allowed me to realize just how much of a difference putting time into formulating effective structures for questions affects how understandable the question is. I can also say that I now know how annoying it can be to be asked a question or solve a problem which is unclear. It certainly would be smart of me to put effort into making my questions smart as well.