Inquiry-based learning pushes the learner to new domains of knowledge
Communication is one of the most salient software engineering skills to develop, and inquiring the “right way” is one, if not, the most important communication skill for software engineers.
StackOverflow is a question-and-answer website for professional and enthusiast programmers: questions and answers on a wide range of topics in computer programming. As a software engineer, you will be asking a multitude of questions throughout your programming journey, but learning through asking these questions is one of the best forms of learning. However, asking your questions on sites like StackOverflow for the highest chance of being answered correctly and succinctly require you to ask them the “right way”. Eric Raymond, a famous American programmer, created a list of guidelines to ask questions in the most efficiently. Following these guidelines will help to construct your question and usually promptly receive a satisfying answer. In addition, guidelines aren’t enough sometimes, thus the following text will present two StackOverflow questions asked by users: one question that followed the guidelines and one question that did not follow the guidelines.
In this question asked by the user Pops, he asks “What’s the reason for leaving an extra blank line at the end of a code file?” and provides his personal experience with extra blank lines added in by his IDEs such as Eclipse and MyEclipse as well as the extra blank lines being prevalent in code. In addition, he notes that he was a former human language editor and he includes his analysis that these new lines seem irrelevant, but asks if there are any benefits to having the extra blank line. He was answered roughly three minutes after posting, which was then followed by three other answers that further investigated the blank end line at the end of code files with each answer building off of the previous answer and adding new information on top of the old. However, the first answer is satisfactory and provides a clear and logical reason for the extra blank line at the end of code files. This question follows the precepts in the guidelines by Raymond: easy to reply, clear and correctly-spelled language, precise and informative about the problem, and he was explicit about his question. This question is a prime example of asking a question the “right way”.
In this question asked by the user Abhinava Chandra, he asks “How to end an If-statement?” and simply restates the question following up with if he has to end an if statement with “if-else” or end with another if statement or an else statement in Java. In response, a user answered his question by linking the Java documents page for the user to read through to understand the language and told him to Google search “java tutorial if statement”. Evidently, this manner of inquiry is perplexing and the user who asked the question did not follow the guidelines presented by Raymond. To elucidate, he asked a convoluted question with unclear and filled with grammatical errors, with his biggest problem being that he did not search for others who had similar issues, as his question has been asked more than a hundred times with succinct answers.
Throughout this exercise, I refined my inquiry muscles and absorbed the list of guidelines for asking smart questions by Raymond. These precepts of questioning presented me with a newfound understanding of asking questions and it will surely help in my academic development.