E11: Reflect on smart questions

In How to ask questions the smart way, Eric Raymond provides guidelines for effective interaction with the open source community. If you haven’t yet read this essay, please do so before proceeding.

Communication is one of the most important software engineering skills to develop, and asking questions the “smart way” is one of the most important communication skills of all for a software engineer.

For this experience, you will use StackOverflow to provide examples of the positive outcomes that can potentially occur when software engineers follow the guidelines, and the negative outcomes that can potentially occur when software engineers don’t.

First, search StackOverflow for a question submitted by a developer that demonstrates the “smart way”. Such a question should follow the precepts established by Raymond. In addition, the answers provided by the community should demonstrate that asking a question the smart way leads to both efficient and effective help. Note: You should have no trouble finding an example as the StackOverflow community is rigorous in enforcing high-quality questions and answers.

Next, you will search for a question submitted by a different developer that demonstrates the “not smart way”. In other words, this question violates the principles established by Raymond. In addition, the answers provided by the community should demonstrate that asking a question in a “not smart” way does not lead to both effective and efficient help. Tip: You may have trouble finding a not so smart question on Stack Overflow. If you do, you can make one up perhaps with the help of ChatGPT. Try prompting “Give and example of asking a question on Stack Overflow that violates the principles discussed in http://www.catb.org/esr/faqs/smart-questions.html”. You can subsequently follow up with a prompt “give examples responses to the question that does not lead to both effective and efficient help”

The goal of this exercise is not to “prove” that asking questions the smart way is always better (although it would be quite interesting to design an empirical study using StackOverflow to actually gather data on whether “smart” questions do indeed, on average, lead to more effective and efficient answers). Instead, the goal of this exercise is to help you form a deeper understanding of what constitutes “smart” and “not smart” questions so that you are more likely to ask smart ones in the future.

Write a technical essay that discusses why smart questions are important for smart software engineers, how the chosen questions fulfill (or not) the precepts for smart questions, how the responses reflect the smartness (or lack thereof), and the insights you gained as a result of this experience.

Be sure that your essay includes a textual summary of both the “smart” and “not so smart” questions, as well as a link to the StackOverFlow pages where they are located. Don’t just put the URL to the questions and force the reader to visit StackOverFlow to read the question there, then switch back to your essay to continue. Your essay should contain enough detail about the two questions so that the reader doesn’t need to visit StackOverFlow to make sense of your essay.

Be sure all URLs in your essay are clickable. This requires learning Markdown in TechFolios.

If you have previously taken this class, you must find new questions and answers to analyze.

Submission instructions

By the time and date indicated on the Schedule page, write a technical essay regarding this module. You can use the issues above as a starting point, but write a stand-alone essay: don’t just answer them like it’s a homework assignment! Once you’ve finished the essay submit it using Laulima.

Please note the following:

[ ] Name the essay file according to its subject.

[ ] Create an interesting title that draws in the reader.

[ ] Use appropriate spelling and grammar.

[ ] Write for the world, not the professor.

[ ] Format code appropriately.

[ ] Use internal headings to structure your essay.

[ ] Format and attribute quotations.

[ ] Include pictures or other media.

[ ] Don’t be boring, don’t be inappropriate.

[ ] Review your post’s content and appearance.

[ ] One paragraph is not enough.

[ ] Indicate that you used AI or discuss use of AI in essay.