Stack Overflow has to be the number 1 place to visit when facing programming challenges. I visit it regularly and every other developer I know has been to it at least once during their career.
There are a swath of different network sites each with a focus on a specific set of challenges faced by a particular group. The point of all the sites is to get help, find answers and to get peer review for your ideas, questions or solutions.
The reason that Stack Exchange sites are so prevalent, and so useful, is because they follow some guidelines that ensure only high quality, useful, content.
As a general rule Questions on Stack Overflow should be directly related to programming and Answers should be direct answers to the questions posed. Questions on other SE network sites may not be related to programming – that depends on the site but it should always be directly related to the site topic.
This way other people with the same question can find the solution they need a lot quicker than if questions, or answers, are too broad and do not include good examples.
Questions should follow a format that includes a minimum, complete, and verifiable example of the issue at hand. Ensuring questions have examples, capable of being reproduced, detailing the problem gives a greater chance of that question, and it’s answers, being valuable to people with similar issues.
I often run quickly through the question scenarios to verify issues or to give additional clarity to a question. I comment often but answer infrequently.
That is the essence of the peer review system. You provide whatever input or help you can in a given situation and are rewarded with Rep points for useful insight. You do not need to be providing the answers – all you need to do is provide some helpful input.
You gain Rep points from various positive site actions. Reaching certain milestones unlock some privileges.
The Rep system was not built to be treated as a status symbol. Benefit unlocks are infrequent, and often negligible, but you consistently unlock news ways to be helpful to other users and the site as a whole.
The points you accrue unlock milestones that allow you to be helpful in different ways.
Recently I crossed the 500 Rep mark. It’s not a very high milestone but it’s an important one.
At the 500 point mark you unlock access to some review queues. What I learned from looking through these queues is just how much peer review goes into everything you see on the Stack Exchange network of sites.
All questions from new users are reviewed. First answers are reviewed. New answers added to old questions are reviewed.
Almost every question is checked over to make sure it’s appropriate and that it meets a minimum standard expected for creating good questions.
One of the earliest review queues you can access is the new Documentation review queue. You can access it at 100 Rep. New docs are checked and edits to existing docs are checked to ensure that they add value in some way. This section needs more eyes to build it into a valuable resource but has less activity than some of the other queues.
At 500 points you can access:
People with review privileges are able to look through these posts and do quality checking on them. Several users check each post so a consensus can be met and people are encouraged to edit or comment on posts if they feel they can be improved.
This gives existing users a way to filter out low quality posts while helping improve useful content. It goes beyond simply spotting spam and removing answers that have no value. It’s about improving things as a whole.
Aside from being filled with great answers one of the most instrumental things in making SO so useful is the help that users provide. It’s what keeps SO the dominant source of Questions and Answers to specific programming questions. Users ensure the site contains high quality content – and remove or edit content that is not useful or otherwise considered low quality.
Teach users to ask good questions and they’ll ask them better.
Show users the correct network to ask their question on and they’ll get a better chance at a good answer.
Point out an inefficient method in a question or solution.
Provide links to proper documentation to flesh out a fuller answer.
The point is improve things in a way that makes it more useful for everyone. Users might be asking the question or providing solutions – it doesn’t matter. The end result is a system that enables people to, find, provide or ask the right questions and answers to any given problem.
Peer review is instrumental in making that happen.