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.
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
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.
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:
Your submission should be a URL providing a direct link to your essay (not a link to the home page of your portfolio, nor a link to the essays directory page). If the link does not work, you will not get credit for your essay.
An entry for your essay must also appear in the Essays page of your portfolio. Check this before submission. If it is not listed, it’s probably because your YAML front matter is incorrect. See the Essay Content section of the TechFolio documentation for details.
Be sure that your essay is ready for evaluation before submitting it via Laulima. I often click on the link as soon as I receive the submission. If the essay is empty or only partially complete when I click on the link, you might not receive credit.
Your essay must be original content, written during this semester reflecting your current views and writing style. You cannot submit essays that you wrote previously for this assignment. The purpose of this assignment is for you to practice writing right now, this semester.
Do not name your essay “Reflect on…”. Essays with a name like that will get zero credit. Think up a more interesting and appropriate name.
Make sure the file you create to hold your essay does not contain any spaces in the file name. You did it wrong if you see “%20” in the URL to your essay. Essays with spaces in the file names will get zero credit.
For details on essay requirements, see the Technical Essay Style Guide.