Thinking About Thinking?

25 Jan 2018

As humans, we are imperfect beings with the thirst for knowledge. As we thrive for knowledge, it is only natural that we ask questions to fill that thirst. Asking questions is one of the many ways that people learn and improve. This essay will talk about the two different ways of asking questions: stupid and smart. I will also talk about how smart questions can apply to software engineering as well as give examples of stupid and smart questions and how their structure and meaning affect the answers given. I will end the essay with my own insights on learning about the type of ways to ask questions.

Smart vs. Stupid: How they apply to Software Engineering

Software engineers and engineers in general are constantly following a practice called Lifelong Learning. The concept of Lifelong Learning is the practice of learning throughout your entire life whether you are in school, have a full-time job, or even retired. This is especially true for software engineers and computer engineers. For example, Javascript coding language is constantly over the years. Just recently in the past several years, Javascript came out with its newest edition ES6 which adds new features and abilities that the old version of Javascript didn’t have. As such, software engineers would have to learn all of the updates. IF they feel confused or have questions, they can always ask other people. Smart questions are important in this matter because they lead to more precise and effective answers. This is mostly due to the fact that if you can give as many details as possible about your questions to the people who are trying to help you, the better answer they can give you. If your question falls into the category of stupid question, you may struggle finding people who are willing to help due to the gap of information they have about your query.

The Effect of Smart and Stupid Questions

After browsing through StackOverflow for about an hour, I ran into a stupid question and a smart question that seemed to really fit their respective definition. In the first example, can be found here, the user specifically stated his/her issue along with some source code and their outcomes. They also included some of their own input as to what the issue was. Lastly, they ended their post with 3 main questions that they wanted some insight on. This led to a lot of other users that provided extremely detailed answers that included source code, diagrams, and concrete explanations.

On the other hand, we have an example of a “stupid” question. It is a recent post but it still manages to come off as a “stupid” question in my opinion. In this example, the user states their question in the post title as usual but doesn’t dive into much detail as to what their main issue is. He/she starts their post with a short explanation of what his/her is but doesn’t go past that. Not to mention that they started their post with a short excuse saying that it “takes a lot of time”. As one would expect, they didn’t get any concrete answers. Albeit they did get some answers.

Closing Remarks

Reading through the document by Eric Raymond and comparing the questions found on StackOverflow really opened my eyes as to what attracts people so helping others. Initially, I always thought that there was no such thing as a “stupid” question. However, Eric’s definition of a “stupid” question isn’t directly a “stupid” question but rather an insufficient request. This has shown me that I need to better myself as an engineer and as a lifelong learner. Knowing this will definitely help me in my career into the future.