Stack Overflow is probably the most widely used developer resource on the planet at this moment in time (excluding the use of Google to get there). If you’re not already familiar with it, it is a community of developers (of varied skill levels) who ask and answer questions. In short, it’s developers helping developers. The community is great, and operates incredibly smoothly when you consider how much of its operation is simply embedded in the “culture” of Stack Overflow. But what does everyone get out of it? More generally, how does one actually grow an online community? We will look a little closer at Stack Overflow as a small case study.
People find help. For completeness, I won’t skip the most obvious response. It should be quite apparent that people asking questions and searching for solutions gain benefits directly from the shared responses. They both learn and make progress toward their end-goal (in the case of Stack Overflow) of completing their project. Though this is useful, it is rather obvious and a very shallow analysis of the situation.
Popular communities can serve as searchable references. I have done it myself a few times already: you’re at work and, “you know you’ve solved this problem before.” So you hop on Google and– to your delight– you find a solution you posted on Stack Overflow. Using these sites can come in handy for subtle/tricky problems such that you don’t have to continually resolve similar issues. This provides a great benefit when you need a quick refresher on how to proceed with a topic.
Contributors improve skills. As a contributor to Stack overflow you hone your skills. In particular, whether your response requires new research or to revisit topics which you already know, a valued and well thought out response typically requires much critical thinking. Since your goal is to explain a particular concept to others, organizing your thoughts and explicating important details improves your own personal understanding of the problem, its context, and many of the details surrounding it. Consequently, as the contributor, you often end up seeing subtle details which you did not realize the last few (several?) times you visited this problem. Not only may you understand useful nuances about the problem and/or solution, but you may also find different ways to incorporate similar solutions in to your current work. Clearly, everyone wins.
In general, communities only function when there is sufficient participation. For online communities, this is equally true to “real-life” communities. Since people are busy, there must be incentive driving participation to particular communities which is why we took a closer look at Stack Overflow. Understanding the subtle benefits to growing and maintaining an active community is an important aspect to nearly all professional developers. Though this analysis is certainly far from complete of all the subtleties (i.e. ranking systems, human pride, etc.), we do touch upon several important factors when trying to develop an online community. Above all, however, you should remember that people both need and want a reason to keep coming back to your community. If they can find that without searching too hard, you will certainly be able to cultivate an active cohort of interested users.comments powered by Disqus