On Stack Overflow
On Dec 24, 2013, Michael Richter wrote a post about why he no longer contributes to Stack Overflow. I don’t feel the same way as he does, but it made me do a lot of thinking and, eventually, a lot of writing. I left these thoughts as a comment on his post but I decided to make my own post as well. Here they are, slightly modified from their comment form to make a bit more sense standing on their own.
Background: I’ve got a little over 3k in Stack Overflow points currently and I mostly read, ask, and answer questions in the [ruby] and [ruby-on-rails] topic tags.
The reason I think Michael’s post hit me so hard is that in the community organizing stuff I do, I’ve been trying to be very deliberate about making welcoming environments for everyone. So if there are people who don’t feel that Stack Overflow is a welcoming environment, I’m interested in seeing what we can do to change that, and possibly extrapolating the results to my other communities too.
Michael mentions that answers written hastily after a quick google search often get more points than answers that took a long time to write. He also notes that he’s earned thousands of points while being inactive. I agree that SO doesn’t directly incentivize thoughtful answers to complex questions. To me, though, it’s much more about whether I helped someone or not (as Jay Hanlon mentioned in the comments). I enjoy knowing that some content I put on the internet a few years ago is still helping someone today. I would hate to lose that feedback, but I agree it doesn’t necessarily make sense to tie so much information to the one reputation number. Perhaps privileges should be separated more from votes, but I don’t know what would be a better fuzzy metric for “this person knows about these topics and cares about the quality of the content”.
The other useful thing about votes on answers is to indicate which answers are better than others, both from the point of view of the original asker and from the point of view of future searchers with the same question. I wonder if this could be fixed with, instead of showing the raw count of upvotes per answer, showing a percentage of votes a particular answer got out of all the votes cast on the answers for that question. This would be a pretty radical change for SO though…
Michael also noticed that, after he posted a controversial answer, people were downvoting all of his answers. I’m not sure when this was implemented, but Stack Exchange actually has detection for serial voting (both up and down) in place and I’ve seen the system automatically reverse some serial downvoting of my answers within 24 hours.
Michael has been feeling a creeping authoritarianism in the culture of Stack Overflow lately. I agree that the culture of SO has changed, but I don’t remember exactly when, why, or how it happened (my SO activity has waxed and waned a few times). Today, I would probably vote to close some of the questions I asked a few years ago, but as far as I know they were within the site guidelines for good questions at the time. I’m a little confused when putting this section together with the poor pedagogy section though– many of the situations you cite there of people not attempting to solve their own problems first are handled by moderating them as duplicates, needing more information about what the asker has tried and why that didn’t work, etc. Which would be more authoritarianism, but this section seems like you’d prefer less. I’m just not sure if it’s possible to go back to the way SO used to be now that it’s at this scale.
I definitely think SO could use improvement in the experience of a new user. As pointed out by the commenter Mike and others, not being able to comment unless you’ve gotten 50 points is incredibly frustrating and off-putting, and I’ve seen it cause poor content to be created (answers that start with “I can’t comment on X but…”). Yet another case where reputation is being used for multiple purposes– in this case I think mostly to prevent spam and sock puppets.
It’s also really hard to explain what makes a question high quality for this format and guide a new user towards providing the information that will help them get the information they’re looking for fastest. The current process of closing questions, even with the close reasons given to the asker as feedback, does feel very authoritarian and unwelcoming. This would require much more effort, but perhaps instead of closing, they could be put in a “mentoring” queue that has more affordances for back-and-forth discussion than the main Q&A format. Maybe that’s what chat is for and more questions need to be moved there? I don’t really use chat much.
One final comment I’d like to make is that it’s really tough to paint “the SO community” with one brush, given the number of users and breadth of subtopics. As prolific as he is, I actually rarely see any answers from Jon Skeet because I don’t do any C# and he doesn’t do any Ruby. There are definitely subcultures in SO (although I’d be hard pressed to define them). I suppose my point here is that I’m not convinced that the structure of SO is entirely responsible for the “community” aspect since the same structure has enabled different cultures to exist (although it’s definitely a large factor).
Michael, thank you again for sharing your thoughts– I appreciate by your “poor community counter” that this isn’t easy.