I know we all heard of the common phrase, “there’s no such thing as a stupid question.” However, when asking technical questions on an online forum, like Stack Overflow, it does challenge this common phrase. Communication is an important skill to develop, and therefore as an aspiring software developer, it is essential to understand what is a “smart” and a “not so smart” question. In the article, How To Ask Questions the Smart Way, Eric Raymond provides guidelines on how to effectively interact with the open source community.
One thing to keep in mind before posting your question, is to remember that the majority of people who are answering questions on these online forums are volunteers and are doing it to give back to the community. Because they are taking time out of their day, we should be courteous/respectful and do our research first before asking. As mentioned by Eric Raymond, doing our own research constitutes trying to find an answer by searching the Web, or by reading the source code, manual, etc. By doing this, we are more likely to get a “better” response because it shows that you are not being lazy and not wasting people’s time.
After going through your resources, the next step would be taking the time to prepare your question and choosing your forum carefully. It would be beneficial for you to not post your question to a forum where it is off topic. It is also important to use meaningful, specific subject titles. Titles like PLEASE HELP ME, would most likely get responses that you do not want.
This question posted on Stack Overflow is an example that goes against the guidelines by Eric Raymond. Its title, which is very vague, is, “I am getting an error and I do not know how to solve it.” The post itself also does not contain many details; it just states the user had an error occurred during initialization of boot layer java.lang.module.FindException. The user is asking how to fix this type of error and mentioned that several attempts were made to try changing certain parts of the code. However, no details are given on what these changes were. With this type of question, the response the user received was “poor title, rewrite to summarize your specific technical issue.”
This question posted on Stack Overflow is an example that hits Eric Raymond’s guidelines. The question’s title is “What is the – > operator in C++,” which is very specific and concise. In the post, the user writes after reading the resource, “Hidden Features and Dark Corners of C++/STL,” it was surprising this piece of code compiled and wanted further clarification on the - > operator. This shows that the user has done research prior to posting this question. The user also posted a screenshot of the piece of code that was in question. Unlike the previous example, the response this user received was more effective and helpful.
Computer science is a complex field and it is wonderful that there are communities out there in cyberspace that are willing to help out others. Because of this, it is important to be more mindful before posting a question. I have now gained a deeper understand on what constitutes a smart question and a not so smart one. Remember to always do your own research first before asking, be courteous/respectful, and to remember, do not use a PLZ HELP ME as your title.