Jeff Atwood, creator of Stack Overflow and Stack Exchange, has collated some of his best blog posts into an ebook. The "Stack" sites are question-and-answer fora, often with valuable, timely feedback.
In "The Vast and Endless Sea," Atwood describes the motivations for highly skilled programmers and other professionals to donate their time, free of charge, to the community.
Nobody is participating in Stack Overflow to make money. We're participating in Stack Overflow because…
- We love programming
- We want to leave breadcrumb trails for other programmers to follow so they can avoid making the same dumb mistakes we did
- Teaching peers is one of the best ways to develop mastery
- We can follow our own interests wherever they lead
- We want to collectively build something great for the community with our tiny slices of effort
I would add to that list the fact that participation and the contribution of public goods also builds reputation within the community. In fact, the way you gain reputation is codified by Stack Overflow, and there was something of a furor when the reputation scoring method changed.
The availability of this public good also comes with some expectations of the inquirers. Atwood clarifies the normative expectations for questions in "Rubber Duck Problem Solving."
At Stack Exchange, we insist that people who ask questions put some effort into their question, and we're kind of jerks about it. That is, when you set out to ask a question, you should…
- Describe what's happening in sufficient detail that we can follow along. Provide the necessary background for us to understand what's going on, even if we aren't experts in your particular area.
- Tell us why you need to know the answer. What led you here? Is it idle curiosity or somehow blocking you on a project? We don't require your whole life story, just give us some basic context for the problem.
- Share any research you did towards solving your problem, and what you found, if anything. And if you didn't do any research – should you even be asking?
- Ultimately, this is about fairness: if you're going to ask us to spend our valuable time helping you, it's only fair that you put in a reasonable amount of your valuable time into crafting a decent question. Help us help you!
This online community is interesting for a number of reasons, not the least of which is its emphasis on norms. Another micro-institution--they're everywhere!