HELP! How do I Ask the Smart Way? Am I Asking the Stupid Way?

05 Sep 2023

What is StackOverflow?

StackOverflow is a question and answer forum where programmers ranging from inexperienced to experienced ask for help or advice on various programming topics. The goal of StackOverflow is to implement a “library of detailed, high-quality answers to every question about programming.”

My Experience & Trepidation with StackOverflow

Admittedly, StackOverflow is the only open software community that I am familiar with. I am not involved in programming enough to use StackOverflow, meaning I have not participated or worked on programming projects outside of schoolwork. However, whenever I came across a problem in my ICS assignments, I google searched my problem and StackOverflow appeared as one of the top links. In my past two years of coding, I referred to similar questions in StackOverflow but never asked a question directly to the community. Honestly, posting a question on the forum can be intimidating, because the thought of interacting with professional developers across the world generates worry and fear that my question will be labelled as stupid. Putting the trepidation aside, StackOverflow is a useful, necessary tool for programmers. Though programmers like me may appear as humans glued to the screen with no social life, they all need some sort of human assistance.

Two Types of Questions: Smart & Stupid

Before reading Eric Raymond’s article, “How to Ask Questions The Smart Way,” I thought a question was just a question, and some questions received answers and some do not. I never scrolled through the StackOverflow feed to notice that each question is categorized as “smart” and “stupid.”

Stupid Questions Receive Stupid Thoughts

StackOverflow is an open-source community in which responders, known as hackers, volunteer to take the time to assist. The reward for a hacker is answering a smart question, so hackers simply throw stupid questions out of the bus. When hackers review questions, they know when someone does not care about learning and only wants the answer for their project or assignment. A subject header is the first line that signifies whether a question is smart or stupid and possibly whether the question gets answered or not. In this example, the header is not entirely stupid, but the part that throws me off is, “…(broad problem), what should I do?” The person who asked the question seems like they dumped the issue and need an upfront answer. In the description, the asker does not go into detail about their problem but states they are “facing this annoying problem,” which wastes time for the hacker to infer what is going on. This is one of the qualities of a stupid question that Raymond mentioned: “Describe the problem’s symptoms, not your guesses.” Moreover, the asker linked images of their entire code thinking someone will read and debug lines of code. Before posting the question, this person should do some research first to narrow down the problem. Lastly, the asker ends the question with, “I hope to receive help soon to continue learning.” Although the asker is not demanding for an answer, they make their situation passively urgent. As Raymond stated, urgency is counter-productive since hackers delete selfish messages that need special attention.

Smart Questions Receive Smart Answers

On the other hand, this question exemplifies a smart question. A misconception is that smart questions do not necessarily have complex and lengthy headers. This example asks a how-to question just to initialize the subject. In the description, the asker lists what they know how to do, providing the hacker information on what the asker understands so far. Moreover, the asker describes their steps in detail to illustrate where the problem lies. The contrast between the previous, stupid example and this example is that the stupid example provided the code but did not provide their thought process and steps. In addition, this example clearly demonstrates that the asker researched before asking. For instance, they suggest a specific function will “be a good place to start.” Knowing the asker conducted some research or provided an idea, the hacker will be more inclined to help since the asker is driven to learn.

Asking Smart Questions IRL

As I pursue my ICS career further, I will eventually encounter a problem which will lead me to ask a question on StackOverflow. Admittedly, if I were to ask a question before learning about smart and stupid questions, my question would definitely be under the stupid questions. After reading Raymond’s article and reviewing the SlackOverflow questions, I hope to utilize this knowledge in my life – not only asking smart questions on an open software community but also to my professors, teachers, and peers.