Keep It Simple, Stupid

10 Sep 2020

Don’t Be Afraid to Ask Stuff

When I was a young middle school kid, I would tend to be (for the most part) the student who would just listen to the teacher without doubting or thinking twice about what the teacher taught us. Like me, there would also be a good portion of students who didn’t bother asking any questions. Then, there were the rest of the students in my class who had the confidence and curiosity of asking the teacher questions with no holds barred. Admittedly, I used to admire my classmates who didn’t care whether their questions were smart ones or not, because they were the ones who created an environment wherein I myself felt comfortable enough to eventually ask our teacher questions.

If it weren’t for those classmates I had in class, and the patience and respect that most of my teachers had for us, I would still be reluctant to ask my professors today important questions. One common, but perhaps generic saying that I have heard from my teachers in order to encourage students to interact and speak up in class is that “There are no such thing as dumb questions”. To a certain extent, I feel that this statement is true because if a person has a sincere intent to learn something by asking said dumb question, then it is actully a valid question. If a person asks said dumb question without attempting to answer the question themself, then that’s just laziness on their part. However, questions that are asked to incite dumb answers or to waste people’s time are “dumb” from my personal viewpoint.

Some Questionable Questions (and valid ones too)

With that in mind, in this essay I would like to discuss the questions that beginning and expert programmers ask, and compare them in order to determine what questions constitute as smart and not-so-smart. To fulfill this comparison, I extracted some questions from Stack Overflow, which is basically one of the best go-to question and answer sites for programmers. Let’s start with analyzing what I would consider to be a relatively good question that’s been posted. Here, this person has a question regarding the differences between an insertion sort versus a bubble sort algorithm. They start off the post by prefacing and providing what knowledge or understanding they have of each algorithm in a basic summary. Then they actually go through each algorithm, providing a more detailed comparison between the two based on their assumption. Finally, the post author derives their pending conclusion after observing the algorithms and asks the readers if they can reconfirm why they arrived at such a conclusion. This question could be categorized as one that does not necessarily need a new answer, but one that has the reader proofread and check if the author’s knowledge is correct. Overall I found this question to be well constructed from the author and consequently well received by the readers, who have provided lots of constructive feedback of their own, adding their own insight and specific examples to the question as well.

While great questions like these in the majority are often created and asked by people on Stack Overflow, on the other end of the spectrum you will sometimes inevitably have this kind of question. This specific kind of question received downvotes, did not gain much traction, and in the end was eventually closed because it was not focused enough. Before this post was closed, I noticed that there was one person who actually managed to respond to this question. Unsurprisingly though, they essentially replied to the author with a question of their own and had them refer to another Stack Overflow post which detailed why questions like “Can someone help me?” is not an actual question. Personally looking at this author’s “question”, I noticed quite a few issues with it that I would like to go over.

First, the author words their title in a way that is very ambiguous and does not try to specify a topic. Additionally, the title is more of a request rather than a genuine issue that the author may have, which may be the reason why one of the readers replied the way that they did. Another thing to note is that they do not provide much personal background or any relevant context to help the reader understand their case. From what I gathered at least, the author is basically asking someone to help them build an app that would assist people in obtaining government jobs. Some of the many things I have wondered while reading their post however included “Who did you receive this task from?” or “What kind of app functions or features do you have in mind for this app?” If someone like me or any other reader ends up asking more questions in response to the author’s original question, it is usually a bad indicator that the author has not provided enough information for the reader to interpret and solve. Lastly, I want to point out that based on their punctuation and spelling mistakes, that they most likely are not a native English speaker. One thing that I feel is overlooked but important is to state a sort of disclaimer, mentioning that English is not your second language, so that the people reading your post are more understanding and will not berate you for making such literate errors.

Brief Ending Thoughts

In conclusion, I think I learned a great deal from reading the many available questions on Stack Overflow and trying to cherry-pick what I would personally consider smart and not-so-smart questions. From my interpretation, the good, smart questions are ones that are detailed and describe the author’s situation in a step-by-step process. Additionally, they condense whatever predefined knowledge they have in an understandable manner, and attempt to solve their own problem before referring to other people for help and feedback. The unwise or not-so-smart questions are ones that make the reader too confused and unable to help the author because they are not given enough context to work with. Based on this, I hope that I too can eventually gain the confidence and competence to ask smart, efficient questions without the fear of hesitance or doubt.