Stack Overflow (SO) is a question and answer site for professional and enthusiast programmers. It is part of the Stack Exchange community, which is network of question and answer sites. The site has over 40 million monthly unique users, of which 12 million (27%) are in the U.S. (https://www.quantcast.com/stackoverflow.com#trafficCard). SO has more than 10 million questions, when 73% of the questions are answered.
Main features of Stack Overflow:
- Get answers on very detailed and practical questions. The site focuses on actual problems that programmers face. The question and answer many times include details of code describing exactly what the programmer tried to do. The site recommends too avoid open ended questions such as opinions/polls/recommendations, and encourages programmers to be very specific in what problem they are solving.
- Tags – each question has up to five tags. Click on the tag shows a list of questions that related to the specific tag. This encourages learning about specific topics.
- Rating system – one can build reputation when people vote on his or her posts. With higher user’s reputation, it unlocks privileges such as editing other’s comments, or voting on others posts. Users also earn badges when posting. For example, user can earn a badge when posting a famous question (question that many viewed/liked), giving a good answer or voting for others’ comments.
Why Stack Overflow became so popular?
- In 2008, when the site was launched, the programmers’ community was under-served. Stack Overflow offers a platform that helps programmers with practical questions. In order to maintain quality of questions, Stack Overflow admits questions that are very focused on a specific problem. Questions that have a broader nature, such as: Which language I should learn? What is the best debugging tool? Usually closed by the users. Closing questions is the main differentiator of Stack Overflow from Yahoo!Answers.
- The rating system helps programmers build a reputation. Many programmers add Stack Overflow profile to their CV. This allows employers to learn about candidates expertise, how deep their knowledge within different fields and their areas of interest. If you look at the first five pages of SO users and read their posts, it is obvious that these are top tier programmers.
How Stack Overflow earns money:
- Job listings – http://careers.stackoverflow.com/Jobs – allows companies to post jobs on the website, mainly to reach technical talent. One job post for 30 days costs $495.
- Careers – http://careers.stackoverflow.com/ – gives access to SO’s talent community and invite-only database of SO members that opted in to be contacted by employers. The pricing is $1000 for a 30-day license.
- Advertising – it require relatively least resources and friction to make money
What are the challenges of Stack Overflow:
- The nature of site’s structure is to reward simple answer questions with more points than more niche and complicated questions. This happens because the reward based on the number of people ‘Liking’ the answer, therefore the simpler the question there are more chances that people will read it and like it. Therefore complicated questions get less attention, because users are not incentivized to spend time on questions that probably would take longer to answer and earn fewer points.
- Maintaining high quality community. One of the main goals of Stack Overflow is to learn from each other. But with ‘broken’ score system, programmers that are experts are not incentivized to answer to complicated questions. With this the quality of the answers drops, which affects the quality of the community and the learning.
- There are other ways to maintain a high reputation online, such as participating in open source projects. Today it is not clear how SO can compete with open source projects in attracting good programmers.
My question is, would high quality programmers continue contributing to Stack Overflow, if so then what would be their incentives to do so.