Why I still contribute to StackOverflow

Reputation is the hook, not the verse.


Michael Richter recently published Why I no longer contribute to StackOverflow — a piece describing various flaws he perceives in the model used by the most popular programming Q&A site on the web. As another fairly high-rep user of the site, I’d like to offer my perspective. At the time of this writing I have somewhere between 139-140k rep. I’ve been a member of StackOverflow for approximately 4.5 years, and I’m in the top 0.05% of contributors by reputation. I have a total of 3242 answers (and 2 questions) spread across a number of tags.

Michael’s complaints seem to center on the reputation system and how it plays into the rest of the site. He cites a few examples of how the reputation system is supposedly broken:

  1. Gaining reputation for trivial answers
  2. Gaining most of his reputation from tags for languages he doesn’t like/use
  3. Continual reputation gain for older answers
  4. People down-voting large numbers of a user’s answers as petty revenge

As it turns out, none of these are actually problems.

I’ll get to the first three in a moment, but we can quickly note that #4 is a non-issue because StackOverflow has a sweeper job that reverses the effects of down-voting sprees. The reversal is not instantaneous and often goes unnoticed, but overall mass down-voting does nothing in the long term. (#1 is also somewhat mitigated by reputation reversal from questions that are closed as being duplicates.)

When it comes to gaining reputation, I would argue that all of the things Michael cites as problems are actually working as intended and are useful for the overall health of StackOverflow. The reason I would say this is because reputation functions primarily as the hook for StackOverflow, the thing that catches attention and draws people in. Reputation’s main purpose is to bring contributors to the site and keep them around long enough that they become part of the community.

StackOverflow’s verse, on the other hand, is answering questions. In the long run, if someone comes to the site with a question and leaves with an answer, all is well with the world. The best way to accomplish this is to have a large base of users who are willing to answer a wide variety of questions. The reason why StackOverflow has become such a go-to source for programmers is twofold: a large number of questions have already been answered, and the ones that haven’t will likely be answered quickly.

Java answers tend to get lots of votes because lots of people care about answers to Java questions. It makes sense to encourage people to provide answers for Java questions because that’s what has the most impact in making sure that people who come to the site get answers. If someone answers a question about an esoteric language, they’re providing benefit only to the small subset of visitors that care about that language. (If an individual has a strong desire for an answer in an esoteric space, they can artificially inflate the reward via the bounty system.) That said, Java is hardly alone when it comes to popular languages with many voters—my top tags are Python and Git, each with an order of magnitude more total votes than my Java answers.

Similarly, if an answer continues to receive up-votes (and thus generates reputation) long after it was given, that means that it’s being viewed. Answers which continue to draw visitors and thus continue to provide benefit also continue to provide reputation. It encourages providing answers to questions that many people have and will continue to have in the future.

As such, I think that Michael’s perspective arises mainly from his priorities. He‘s looking at answers as a way to gain reputation, rather than reputation as a way to gain answers. The reputation system is not designed for Michael; the reputation system is designed for StackOverflow. If Michael doesn’t like answering a question, then he should just not answer that question.

Long-term contributors to StackOverflow aren’t there for the reputation— they’ve long since found other reasons to stick around. Some are invested in a particular language and thus like answering questions about it; others use StackOverflow as a way to stay sharp on skills they don’t exercise at their day job. Reputation is there to create the larger community, the casual players who make it something other than just another corner niche of the web.

I find it amusing that Michael suggests “learning” as an alternative to StackOverflow. I personally use StackOverflow as a guide for exploration; many of my answers lead to me learning nearly as much as the person who asked the question in the first place. Explaining concepts to others can be a powerful tool for learning them yourself, given that it forces you to think through things that you might otherwise have just glanced over.

Finally, a note on community. The thing that stuck out to me in Michael’s post was that he appeared to conflate “reputation” and “merit” when describing the community moderation system. I think this is a mistake. If you view reputation and merit as the same thing, you’re going to have issues. Reputation is not merit. Reputation is something built over time; those who can invest time and make themselves visible will tend to gain reputation. This is true for almost anything, not just some website called StackOverflow.

Merit is trickier. If there are two answers to a question, one of them well-reasoned and the other ill-reasoned but posted by a high rep user, the former certainly has more merit than the latter. Similarly, if there are two answers and one of them is short but concise, the other extensive but rambling, the first probably also has more merit. Merit is about actions, not identity, and the failure to make this distinction is broader than just Michael’s post or StackOverflow.

Oh, and that “what the fuck” moment of yours, Michael? The XHTML regex answer has editing locked to preserve the content. The “disputes” message is a generic one for every locked post. Chill out.

Email me when Amber Yust publishes or recommends stories