Is StackOverflow hitting its limits?
Tuesday, June 29th, 2010An interesting critique of Stack Overflow:
A Community of Specialists
As more developers find themselves unable to contribute to already solved or discussed problems, they must rely on their more specific skills for any opportunity to answer questions. In certain communities, (*ahem* .NET *ahem*) this is totally fine, and there are enough entrenched specialists to create a sort of ‘feedback loop’ — any esoteric questions they may have, someone else may have the answer for, and vice versa.If these niche communities don’t have a critical mass of users asking interesting or useful questions, you get the opposite effect: a sort of ghost town of sparse activity. In these neglected pockets, questions usually can be classified into a few fairly useless categories. You have the “what is this bug idiosyncratic to my machine setup” questions, which don’t really do much for the actual software development side. You have the person asking obvious questions that could be answered by a quick check of an online manual. You also have the person asking you to basically do a specific implementation of something for them. These are time-intensive questions, but they are often the only ones that won’t get poached by someone else while you’re writing your answer, and are the best chance to actually improve your reputation. Or how about the “how do I implement this one jQuery plug-in that maybe 30 developers have ever used on my site” people? And then you have all the people getting their questions closed because they were already addressed. These are often in combination with each other, with optionally indecipherable Babelfish English. The worst, though, is probably the users who have a question about a bug that’s really only a code smell. They’re not willing to accept that they’re approaching the problem the wrong way, and refuse to accept a thoughtful answer and helpful recommendation if it involves too much work or isn’t what they want to hear. This isn’t usually a problem in the higher-traffic communities, because the amount of users reading questions and voting on answers is high enough that the opinion of the question-asker doesn’t really come into play. Less trafficked disciplines become too dependent on answer acceptance.
So that’s too bad. Every month or so I’ll look up questions about natural language processing, the Zend Framework, or other things I’m interested in, only to find myself in a desert of less than useful questions — not useful for me to answer, not useful for me to read. And all the stuff on the front page, of course, is for framework- or implementation-specific Java and .NET, and getting a lot of action. Of course this is to be expected, right? But it didn’t always used to be that way — I swear. So how did it get that way?
The Fatigue
Stack Overflow uses ‘reputation’ points and an achievement system to promote high activity among its users. I think that as the opportunity to increase your reputation and your number of achievements dwindled, so did a lot of user activity. There’s a plateau you hit there where you either have to devote way too much time to help other people do their work, or you just fall out of it. When you do, you don’t have a lot of incentive to get back into the game.Early in Stack Overflow’s history, a need for knowledge engineering and a community with growing rules skewed the amount of reputation points towards early adopters. Games of code golf, “what’s your favorite programming comic strip” threads, and “What language should I start learning now” threads made it way too easy to attain points without actually demonstrating real knowledge or expertise. Obviously, there are users with tens of thousands or hundreds of thousands of reputation points who actually earned most of them by demonstrating expertise. But how do I tell them apart from the people who had the funniest joke about Ruby programmers, posted a few Dilbert comic strips, and then went after a series of low-hanging fruit with well-formatted responses?