Stack Overflow was created in 2008 by Jeff Atwood and Joel Spolsky, as a more open alternative to earlier Q&A sites such as Experts-Exchange. The name for the website was chosen by voting in April 2008 by readers of Coding Horror, Atwood’s popular programming blog.

For many years, Stack Overflow has been one of the most popular resources for programmers trying to solve a common problem. As questions on Stack Overflow were often among the first search results in any programming related Google search, users joined in large numbers and started asking their own questions.

As of July 2015, Stack Overflow has over 4,000,000 registered users and almost 10,000,000 questions (not counting deleted users and questions). However, a 2013 study has found that 77% of users only ask one question, 65% only answer one question, and only 8% of users answer more than 5 questions. With this article, I’m exploring the likely reasons for that very, very low percentage.

Joel Spolsky and Jeff Atwood at the MIX09 conference in 2009

Stack Overflow hates new users

New users feel especially unwelcome when joining Stack Overflow. To quote Jonah Bishop :

Stack Overflow has always been a better-than-average resource for finding answers to programming questions. In particular, I have found a number of helpful answers to really obscure questions on the site, many of which helped me get past a road block either at work or in my hobby programming. As such, I decided I’d join the site to see if I could help out. Never before has a website given me a worse first impression.

In an effort to keep the community as clean and orderly as possible, new users have very little rights from the get-go. On paper, this is a pretty nice idea. In practice, it makes it difficult for new users to gain any traction. I read through a number of questions today and had several comments for the original poster. Unfortunately, I couldn’t make my comments, since new users cannot post comments on articles they themselves didn’t write (you have to gain “reputation” in order to gain that privilege). Posting my comment as an “answer” to the original question seemed like bad form, so I didn’t do that.

Looking elsewhere around the site, I found a few questions I felt I could answer. As soon as I went to answer said questions, someone else (in some cases, a number of other people) had jumped in and beaten me to the punch. I never had a chance to provide a helpful answer. Not only do you have to be very knowledgeable about a subject, you’ve also got to be very fast in providing said answer. I eventually did provide an answer for a question, then realized that my approach wouldn’t work. Before I could take action and modify the answer, my submission had already been modded down by several people, several of whom left snarky remarks. What a warm welcome for a new user! I subsequently deleted my answer.

source

Asking noob questions is very much frowned upon

Stack Overflow also hates most other users

It’s not just new users who experience a sense of hostility. Someone at Hacker News expressed a common experience for many programmers (experienced or not) when trying to participate on Stack Overflow.

When I first started programming, I could use SO without asking a question because everything I needed to know was fairly basic. It was great because many of the answers I came across helped me to understand more of the “broader universe” of issues I would encounter during development, and so encouraged me to research and learn more about the language.

Once I started asking questions, I was careful to respond to comments and accepted and upvoted the best answers. I wanted to be a good citizen of the community. And reciprocity was a part of that: eventually, I found myself able to respond to questions and I remember how great it felt to see the first +25 on my profile because someone accepted my answer.

These days, if I ask a question it’s because I’ve spent a good amount of time on it and haven’t been able to resolve it myself. Here’s what happens when I ask a question on SO:

1 — I ask the question, post the code, and the error message I’m getting

2 — Question downvoted

3 — Respond to comment that says my question is a duplicate (it’s not, which I clarify to avoid “closed as duplicate”)

4 — Respond to comment about a missing semicolon that got deleted when I was cutting/pasting/formatting my code. (Despite the error msg making it clear that the missing semicolon isn’t the issue)

5 — Question upvoted

6 — An answer! Says that I need to read the docs and provides a link to a non-relevant section (I’ve read the docs)

7 — Finally, a helpful answer! Looks pretty good, so I test it out and it does the job. I accept and upvote the answer.

8 — Notice a duplicate answer posted less than 1 minute after the accepted answer. Duplicate answer person complains that their entry was posted first. I advise them that the timestamp indicates the other poster was first and they reply that it is a time zone bug.

9 — Later I check back and notice this message: “Question closed as vague and cannot be answered”

10 — Check back one more time and see that someone has downvoted my question

11 — Email the mods to get the downvote removed

source

Steven K Hicks gives 8 reasons for why he felt unable to participate in the community anymore, after having been a very active user for quite a while :

— The Eternal September Issue. Many new users of StackOverflow [SO] rarely ever follow the guidelines of the community. I’m not sure how to solve this, but it is annoying to see questions posted as a plea for help. Stackoverflow moderates its self as a very terse question and answer site. It’s not a discussion forum. [This is a crutch and a gift] Another issue with this is that duplicates show up despite the crotchety moderators complaining about it. One example of this is questions asking about where to find free stock quote data.

— Questions that deal with software development that are not inherently technical are frequently down voted/closed. One example of this is that a question asking about a specific data set [for training/development purposes] was closed for the reason that it “didn’t fit with the community.” Until there is a dataset related StackExchange site that the question can be moved to, that was a perfectly acceptable development related question. By a “StackExchange site that the question can be moved to” I mean a fully functioning site, one not currently being “developed”/on Area51. Closing the question as “not relevant” does not help the author, nor does it help people that are looking for a similar dataset.

— Down voting as a means of closing a question. To vote-to-close a question a user must have 250 reputation points. This does not take very long to get, if you participate in the community. Down voting should be a way of saying, this is either wrong information, misleading, or not helpful. If the user believes that the question should be closed, but does not have the reputation needed to close, then make a comment and give evidence on why you believe that this should be the case.

— The down voting of correct, but not exact-answers. This gets to be an issue when there are questions that can have multiple answers. For an example: A question about optimization of a Java application, the common answer will be to use a more efficient algorithm. That answer will probably be the most voted answer. However, another valid answer is that the process could be rewritten in a more low-level language and connected to via a pipe [Socket, inproc, JNI, etc] to the main application. The latter is better suited for rather unique situations, but it is still a valid and workable answer. From my experience, the second answer will be downvoted, despite that it gave correct information. I have had a discussion with a moderator about this [Shog9] and, according to him, that strategy is a perfectly acceptable strategy to down-vote a creditable answer.

— Timing/Duplicate answers. Since I have stopped participating in the community, I have not seen this as often. However, when there is a question posted there is frequently a rush of answers to be posted there. After some time, someone will post a duplicate answer, and get it to be voted on more than the original answer. This is harder to find, but it does happen and it’s very frustrating.

— Misattributing credit on answers: If there are other answers that assist you in answering the question, please cite those other authors. It is polite and it gives their question credibility. [Also those that you cite, you should vote for their answer as well].

— This is another one of the odd cases on StackOverflow. A few of the “Exact Duplicate” questions are not duplicates due to minor, but important, differences. I cannot come up with an example now, but commenters, frequently, are quick to claim that it is an exact duplicate without verifying the claim. Sometimes the accusation isn’t backed up by evidence. Links to the other questions are sufficient evidence.

— The value of reputation: After the global recalculation, the site’s creators made a bold statement that participation is not valued on the site. The recalculation devalued questions, and the new policy was applied retroactively. This caused a loss of reputation. The creators of the site made a claim that “reputation was useless,” which falls contrary to their claim that reputation is a “value of how much the community trusts you.” Operating on the prior claim would make a statement that a user with 500 reputation points is as valued as Jon Skeet. [A well known user in the community, and an author of many technical books]

source

Is it any wonder, then, that many programmers who’ve had an account on Stack Overflow for years are increasingly abandoning the platform?

The reign of privileged trolls

On a blog named Michael’s Techbox, an anonymous commenter made the following remark:

The Stack Exchange websites are billed as a “free and open” exchange of information, but in actuality these sites are overrun with a select few members who are just trying to score points, “badges”, and moderator status in attempt to appear as “experts” and gain freelance work.

For example, check out this member’s activity, which instead of contributing helpful technical answers, consists solely of acting like a judge on other people’s answers:

http://stackexchange.com/users/85265/andrew-barber?tab=activity

source

On a blog named The Programming Works, a similar sentiment was expressed :

I was saying in this post “If you have a programming question, StackOverflow is probably the best place to ask”. It was when SO started some years ago; not now.

Today your chances to get a useful answer to your question on SO are close to zero. Instead you get a lot of comments arguing for example that your question does not fit SO or wrongly worded or else and nothing useful.

SO today is yet another trolls&noobs zoo.

source

Both of these, I believe, illustrate the core problem with Stack Overflow. There are a handful of democratically-elected moderators who are supposed to follow some pretty-clearly worded guidelines about how to be good moderators. The site also has a much wider set of users with privileges:

39,000 users with a reputation of 2000 or more can edit other people’s questions.

26,000 users with a reputation of 3000 or more can vote to close questions. Five close votes puts a question “on hold”.

6,900 users with a reputation of 10000 or more can delete questions.

Of those thousands of privileged users, many rule their virtual fiefdoms like the pettiest of Führers, imposing very arbitrary and poorly documented rules on their unsuspecting serfs, throwing fire and brimstone on whomever acts in a way incompatible with their irrational, ignorant notions of what qualifies as a good question / answer. And this, often without even reading the entire question / answer or having any expertise in a field relating to the question.

LOL WUT?

While I’m writing this article, Jason Sachs (aka Jason S) is #503 in the list of users with the highest all time reputation, having earned himself a total of 70,688 reputation points. He is also one of the more well-respected users on Stack Overflow who decided to stop pouring his energy into the site. Inspired by a 1995 episode of Seinfeld, he calls these little Führers “soup nazis”:

Seinfeld fans will recall the November 1995 episode, The Soup Nazi, in which the cast learns from Kramer about a shop that serves fantastic soups. It’s run by an eccentric guy who has very strict standards about his patrons, and if they don’t go through the proper ritual and supplications, he yells, No soup for you! and the cashier yanks it away before you can object.

The problem with having strict standards of this type isn’t the Soup Nazi himself, it’s when this attitude spreads and it begins to pervade the larger community.

source

Later, in the same article, Sashs provides quotes from several users of the site to further illustrate the problem. Take this question:

…initially most questions you asked got a positive reception: happy comments and answers, people that tried to help you out regardless of the way you worded it. Of late the tendency is to simply close or put on hold most questions, or downvote them, or make fun of the writing or the style.

source

… or this comment :

I find that people usually close or downvote questions right away if it’s in any way subjective, and it only takes 5 people to consider your post subjective, even though the answer could be objective to 20 other people. The hive does not like that, and there will be no comments explaining why unless you ask. Just close, thank you, and come again.

source

… or this comment :

Michael Richter does a good job of defining this attitude and its causes in his post on “Why I no longer contribute to StackOverflow” — he calls the higher rep devs “the high school cool kids table” http://michael.richter.name/blogs/why-i-no-longer-contribute-to-stackoverflow

source

… or this comment :

I think you hit it on the head with This site was meant to provide a canonical resource for programmers to find answers to their questions. Entire (and very good) books are begging to be written based on the content of the very best questions / answers posted here. Unfortunately they are getting drowned in a sea of drivel. The success of the site drives anyone with a programming question to it (so many hits on Google). This strains the system’s capacity to self-moderate. It is almost as though there ought to be an “entrance exam” before anyone can post a question.

source

On his blog, Jeff Atwood, co-founder of Stack Overflow, explains the meaning of the word trolling:

[A] classic troll [can be described as follows:]

1. He came to generate argument.

2. He doesn’t truly care about the topic.

Some trolls can seem to care about a topic, because they hold extreme views on it, and will hold forth at great length on said topic, in excruciating detail, to anyone who will listen. For days. Weeks. Months. But this is an illusion.

The most striking characteristic of the worst trolls is that their position on a given topic is absolutely written in stone, immutable, and they will defend said position to the death in the face of any criticism, evidence, or reason.

source

Based on that definition, I would offer an alternative label for “soup nazis” or “the high school cool kids table”: “overprivileged trolls”. Yes, you read that right. Not only is Stack Overflow plagued by overzealous trolls, but it is a community where the trolls are actually in charge. No wonder hostility and infantile behavior have become the very norm that define one’s experiences at Stack Overflow! Clearly, no one is watching the watchmen.

Meta.StackOverflow is a community dedicated to asking questions about StackOverflow. This is where you’re told to go to with any complaints you may have about Stack Overflow, but the problem is possibly even worse over there.

“Quis custodiet ipsos custodes?” aka “Who watches the Watchmen?” is a common meme in satire and political literature, as least since the Greco-Roman era. It implies that any system easily corrupts when its custodians have unlimited power.

To make things even worse, the Stack Exchange network software automatically deletes questions that meet the following criteria:

Closed more than 9 days ago

Not closed as a duplicate

Score <= 0

Not locked

No answers with a score > 0

No accepted answer

No pending reopen votes

No edits in the past 9 days

The consequence thereof is that a lot of good questions not only get closed before anyone is able to respond, but that many of them end up vanishing into oblivion for eternity after merely 9 days.

I guess any question could be considered off-topic on Stack Overflow if only enough privileged trolls vote to get it closed.

Are there any alternatives?

Quora might seem like an obvious choice, but it shares many of the issues common at Stack Overflow, albeit in a less obvious manner. For example, downvoted answers are cleverly hidden from the eyes of most users and it’s not uncommon for answers to be deleted without any explanation or notification and/or without a visible trace to anyone but the answer’s author. Quora is giving some users completely anonymous powers to edit the site as they see fit, yet almost nobody seems to know about it.

So while Quora may seem more democratic and reasonable, this is really only at the surface. Trolling and plain petty authoritarianism from privileged users is no less common on that site. For many of the same reasons Huxley’s dystopian A Brave New World is more creepy and disturing than Orwell’s dystopian 1984, Quora is more creepy and more disturbing as a Q&A community than Stack Overflow.

At the very least, Stack Overflow doesn’t care to hide its totalitarian nature to those who’re willing to pay more than a few minutes of attention to the inner workings of the site. At the very least, the tyrants at Stack Overflow have a somewhat public face and have to give a public explanation when they decide to close a question. And perhaps even more important, Stack Overflow doesn’t serve us countless idiotic questions like Does Sheryl Sandberg ever procrastinate? In spite of all of their flaws, its poor attempts at making its quality control community managed aren’t nearly as bad as Quora’s quality control.

Do you know of other alternatives? Please provide your suggestions in the comments section.