The Best Kind of Help

30 Jan 2020

Questions?

The use of open source has long been widespread. With the popularization of open source, it provided reliable platforms for programmers to communicate with each other. It is completely acceptable and practical to ask other programmers for assistance in today’s world. However, it is important to keep in mind that the programmers that answer questions are doing it out of their own will and on their own free time. As such, questions being ignored is frequently observed. But what is the driving force behind this phenomena? Surely, it is not the ill will of programmers that visit the community. Otherwise, they would not bother to visit in the first place. The core of the problem exists in the fact that these questions are not suitable to be answered appropriately. These questions all share something in common: they are “bad” questions. What exactly does that mean? We will discuss the quality of questions and what makes them “smart and “dumb”.

What you should be doing

https://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-processing-an-unsorted-array

Above is a programmer who was intrigued by the fact that his program ran much quicker when he used a sorted array, as opposed to an unsorted array. In his question, he posts examples of his code that triggered him to ask that question. He states the results that he obtained upon running the code, what he is unsure about, and the different approaches he took to figure out what the problem was. The level of detail in his question is sufficient enough for other programmers to chime in and give their two cents. The quality of the question asked is reflected in the answer given. As expected, the amount of answers and the quality of answers given is abundant, and very thorough. The top answer explains beautifully what the reasoning behind it is (branch prediction), and even includes an analogy that makes it easier for the person asking to understand the concept. In this situation, it is beneficial to both parties that this question was resolved. The asker got the complete answer that he desired, and the answer-er does not have to waste time asking questions for clarifications. From analyzing this question, I learned that although the amount of details you include is important, it is also just as important to be precise when asking questions. By doing this, you can reduce ambiguity and increase the chances of obtaining the answer that you want.

What not to do

https://stackoverflow.com/questions/59997648/rendering-a-view-in-express-router

This question concerns rendering a view in express.Router(). Despite not being too familiar with the subject at hand, it is clear that the asker could’ve included more detail that would have helped lead the answer-er to the right direction. One thing that would help for sure would be to include an example of his code that he is having difficulty with. Another problem is that the programmer does not state what he/she has already tried. Programmers are not babysitters. For people that ask questions that expect answers to be handed to them, this discourages other programmers from wanting to answer their questions. Looking at the answers given, they are rather simple and seem like they could have been found off a Google search. This is not productive for neither the asker or the answer-er. Sometimes, even the answer-er gets to learn something new as they work together with the asker to find solutions to problems. If all that both parties had to do was search things on Google, what good is that for? Analysis of this question shows a prime example of “what goes around, comes around”. When you ask a thoughtful question, you are more than likely to get thoughtful answers. I also learned that it is important to state what you have tried, because this shows the rest of the community that you are not just expecting to be fed answers, and that you are willing to put in the effort needed as well.

Personally, I myself am not quite up to par with asking “smart” questions. I truly believe that to be an effective programmer, having great communication skills is essential. This experience allowed me to gain insight on what good communicators do, and what I can do to help me become a better communicator.