It’s okay to ask for help. This is something that I have always been encouraged to do throughout my academic career. I had no prior coding experience before deciding to join the computer science program in college. So I had a lot of questions. Naturally, whenever I get confused about something, I use Google. This is where I found Stack Overflow. An online community where programmers can ask and answer coding questions. I solved a lot of my problems using this site and it has saved my grades in my intro computer science classes. However, like many other online communities, there is an etiquette to follow when posting to these forums. Eric Raymond’s essay, “How to Ask Questions the Smart Way” discusses how to post to these online forums the correct way, not only to receive the most productive answers but also to have a positive and professional online presence. For Stack Overflow specifically, there are millions of questions that have been asked and answered. Before even posting to the forum, it’s important to do a thorough Google search to see if someone had the same problem. In my first few semesters as a beginning programmer, I rarely ever posted questions to Stack Overflow, because most of the time someone had the same problem as I did. Posting a previously answered question on this forum probably won’t get any answers. It would be a waste of time having to repeatedly answer the same questions. When the right answer can’t be found, before posting a question, it’s imperative to be as specific as possible. This way, it’s quicker and it makes it more likely to receive good answers. No one has time for vague questions. Stack Overflow is not only a place to ask questions, but it is also a place to learn. Smart questions should include detailed steps that were taken to solve the problem without community help. This shows that effort was made. It is not productive to post a question just to receive answers where there was no learning involved. Detailed steps also help filter out any answers that don’t work for that specific question.
Here is an example of a smart question. The user wanted to understand the difference between a for…in loop and a for…of loop. They go on to explain when they already know about the two but are seeking to know why the output is different from what they expected it to be. The subject header gives a clear insight on what the problem is about. The user also clearly states what they know, indicating that previous research was already done before posting the question. It is also clear what the confusion was about.
On the other hand, here is an example of a not so smart question. This user wants to create a flat array with the sub-arrays within an array. This post was already off to a rough start with its subject header. It simply said “make an array given an array”. It didn’t say anything about wanting to create a flat array. Considering that this is an elementary problem, similar questions have already been answered on Stack Overflow. It is clear that the user didn’t do prior research before asking for help from the community. Not only has it been answered on the site, it can be easily Googled. To add on, there were no specific questions asked. The user simply said, “I have this…. I want this”. No details were given about what the person was having a difficult time on, or the steps they took to solve it themselves. There are millions of questions that have already been asked and answered on Stack Overflow. This is what makes it a great resource for beginner and advanced coders. If you have a question, chances are, it’s already on Stack Overflow! However, no one is obligated to answer a coding question. Don’t waste anyone’s time with “not smart” questions!