StackOverflow: the fatal flaw in its strategy

StackOverflow, the granddaddy of programming Q&A sites, has begun a long, inexorable decline into irrelevance.

I won’t talk here about how “StackOverflow sucks”; you can google that. Most of those people are complaining about how unfriendly SO is to newcomers. I don’t care about that. I actually think it should be more unfriendly to newcomers, who pollute and dilute the site’s content. I want to talk about the fundamental dysfunction on the site, the poor experience for the experienced users who should matter, and the failure in both developing and implementing the strategy, which over time is slowly and surely going to ensure its demise.

StackOverflow’s major business is selling eyeballs of people who come to it via Google. It cannot be a good sign for this would-be Unicorn, then, that all traffic metrics are flat to declining. Part of the problem is that virtually all programmers in the world already now come to SO to find answers to their questions. Even to continue at current levels assumes that Google will continue to drive traffic to the site. Indeed, at present for many programming questions, a Google query brings up half a dozen answers from Stack Overflow on the first page. This is both a blessing (now) and a curse (in the future); as Google’s algorithms evolve, it could easily start bringing up fewer SO results, and this is especially likely to happen as overall answer/question quality declines, as discussed later.

So the only remaining growth potential is more programmers, new domains, more questions (meaning more views per person), new content models, or new forms of monetization.

When it comes to growth through more programmers, the number of users at SO (25M) is already more than the number of software developers in the world. That’s probably because that 25M includes casual developer and hobbyists. In any case, the underlying annual growth of developers is believed to be in the single digits, severely limiting any upside for SO from more visitors.

New domains is an obvious form of diversification, started long ago in the form of the “StackExchange” family of sites. Unfortunately, none of the several dozen sites now in existence has come near to SO in popularity. For instance, a Japanese Language site started five years ago, which I occasionally contribute to, gets a trifling few thousands visits a day. The reality is that the audience for non-programming domains just is not a good fit for SO’s entire approach of intense gamification, nerdy adherence to strict rules, no discusssion, and “high -rep” contributors playing power games.

But couldn’t more questions and more answers increase visits by existing users? Unlikely. The fact is that the vast majority of useful questions about programming on SO have already been asked and answered. There is some minor potential for new questions about new programming technologies, such as Apple’s new Swift language for iOS, or to a lesser extent questions driven by new versions of software. But this is not the stuff of hockey sticks. The great majority of new questions on SO now are being asked by new programmers who seem to barely know how to turn their computers on. These questions are in turn answered by equally incompetent programmers. Experienced developers who could in theory ask interesting new questions, or provide interesting new answers, are leaving the site in droves, primarily driven by the flood of drivel on the site, or simply exhausted after years of chasing rep points.

This brings us to new content models. SO has kicked off an ill-considered initiative called Documentation, a puzzling attempt to reproduce existing documentation such as MDN, the current gold standard for HTML/CSS/JavaScript documentation by Mozilla. It’s unclear why anyone could imagine this is necessary or useful. The experienced users who might contribute to such a project, as already mentioned, are in the process of leaving the site. The remaining users are capable of creating nothing more than a wasteland of fragmented, buggy content.

So we are left with new forms of monetization. The current major initiative in this area is Stack Overflow Jobs. Developers can put up their CVs and be matched with hiring companies. But this entire business model suffers from debilitating flaws. First, unlike LinkedIn, SO does not naturally capture data about job experience, so all this information must be re-entered. More importantly, recruiters are in general looking for more experienced, more knowledgeable people–in SO terms, people with reputations of 1000 or more–whereas the typical SO member is a newbie whose contributions there hardly make them more attractive to recruiters. Finally, as already mentioned, the more experienced people for whom Stack Overflow Jobs could make sense are leaving the site.

So why are top contributors leaving the site? In a nutshell, it’s because there’s no longer anything useful or interesting to keep them there. Their main motivation has always been contributing solid programming knowledge to share with current and future developers, either for its own sake, for the sake of enhancing their reputation, or both. The problem is that the opportunities for them to do so are dwindling rapidly, primarily because of good questions having become exhausted; in addition, the site is now inundated with vast numbers of trivial questions from new users that they must wade through in order to find interesting questions to answer. They may skip over this drivel or valiantly stop to comment or try to close those questions, but this takes time, and in any case good answers they do give are all too often “downvoted”, pissed on, ignored, or even closed. At some point, even the most devoted, and most addicted, lose both interest and hope, and leave the site, in one famous case taking many of their best answers “with them” by deleting them on their way out the door. It’s not like they need to stay on SO like one would stay on FaceBook in order to keep in touch with grandma.

But aren’t there processes in place to identify and fix these kinds of problems? Unfortunately not, and that is one of the key underlying issues. While SO management continues to seem to be interested in nothing other than keeping its pageviews and valuation up, an undercaste of top users confers incestuously with itself on a companion site called Meta Stack Overflow containing Q&A about how the site should work, laboring under the delusion that their discussions and conclusions, such as they are, actually matter and might somehow actually eventually become reality in the form of changes to how the site operates. In actuality, this group never comes to any conclusions. For instance, many ideas have been proposed to counter the flood of garbage on the site, including making it harder for new users to sign up, making it harder for new users to ask questions, making it easier to close bad questions from new users, or discouraging people from answering bad questions. Each and every one of these ideas has invariably been batted down, for reasons ranging from something similar was proposed before and somebody didn’t like it, or I’m in a bad mood, or it won’t solve all our problems so we shouldn’t even think about it any more, or it violates some written or unwritten philosophical precept of SO, or it has the theoretical potential to be abused in some contorted hypothetical scenario. Many of the ideas, which will never be agreed on or implemented anyway, vastly underestimate the importance of the expert contributor, who is mainly expected to just sit there and continue to spend hours sifting through chaff, their rewards coming in the form of some inchoate form of self-satisfaction. The entire governance structure is irretrievably broken and incapable of healing itself.

SO is not your average Q&A site, and has been much more successful and lasted much longer than others, in part due to its innovative sets of rules involving reputation and community voting, and has created an unparalleled body of knowledge that has improved the programming world. No one is interested in seeing it decline or die. But perhaps this is the natural life cycle of any Q&A site, unless the community can bring itself together to make a radical change in governance. The most likely fate of SO is to eventually be acquired by some aggregator of internet properties which will just let it sit there and generate cash.




2 Responses to “StackOverflow: the fatal flaw in its strategy”

  1. Naomi Kyoto Says:

    Bob, I have to say I’m with you on this 100%. I find it’s harder and harder to put in the necessary effort to provide quality answers to increasingly bad questions. I know there’s a point in my very near future where I will have to rationally squash any empathy I have for the struggling newcomers. For now it’s still difficult, but deep within my heart I know I’m not actually making a difference. I keep reminding myself: if users are too lazy to ask well-researched questions, I have no chance to persuade them to take interest in a well-researched answer. Anyway, I love interacting with you on the site so maybe we’ll find other ways for our paths to cross. Best wishes.

  2. anon Says:

    Recently posted a suggested improvement on StackOverflow and it was deleted in half an hour. Not closed, actually deleted and unreadable to other users. Here it is.

    This question already has an answer here:

    Thought experiment: What would happen if we didn’t have close votes? 18 answers
    Why can’t I ask broad, opinion-based questions? [duplicate] 1 answer

    Stack Overflow is a great resource precisely because of the contributions of community members. Often, however, moderators are very over-aggressive in censoring and shutting down useful questions because they don’t fit the narrow mould of what a moderator thinks should be asked.

    For example, Best way to parse command line arguments in C#? asks a very useful question. Yet it was closed by a moderator who stated,

    As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion

    Before this question was closed, there were answers that got 300, 200 up votes for being useful to the community. This clearly and unequivocally demonstrates that the original question and the answers are very useful to the community. Yet, since the question is closed, it is now impossible for any person to add an even better, or more modern, answer that would be even more useful to the community.

    Of course, it is not just this one question that was cut short for reasons that are, quite frankly, not very good. It is common that one or several moderators will close a question that they personally do not see value in when the community sees great value in that question. Ultimately, the community’s voice as expressed in up votes is a far better indication of the usefulness of a question than any one person, no matter how much of an expert that person might be.

    We developers come to Stack Overflow to save ourselves time by not reinventing the wheel and to ensure that we build the best wheels. The very discussions and honest, intellectual debates listing the pros and cons of alternatives is exactly what is necessary for determining which wheels are the best.

    I am not saying that Stack Overflow needs to become a forum, but moderators should rarely close out questions simply because they do not immediately see the usefulness of those questions. Most of the time when moderators close out questions, the resulting up votes indicate great usefulness of the question and the answers.

    Furthermore, moderators should not be so adverse to constructive debate. Facts, references, and expertise all involve listing advantages and disadvantages of competing approaches. It is impossible for any useful answer to technical questions to be completely debate free simply because the justification for an answer is, by definition, an argument debating in favor of that answer over others.

    Most thoughtful developers would rather see answers they don’t like with good justifications, even if the developer disagrees with the justification’s importance, than answers they like that have no justification. Good developers do not need to be isolated from opinions, value judgements, and ideas that challenge their own world view.

    edited Dec 20 ’16 at 20:12

    asked Dec 20 ’16 at 19:59

    deleted by jonrsharpe, Sotirios Delimanolis, πάντα ῥεῖ Dec 20 ’16 at 21:36

    migration rejected from Dec 20 ’16 at 21:36

    This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.
    marked as duplicate by Stijn, Tiny Giant, gnat, πάντα ῥεῖ, C8H10N4O2 Dec 20 ’16 at 20:30

    This question has been asked before and already has an answer. If those answers do not fully address your question, please edit this question to explain how it is different or ask a new question.


    No it doesn’t prove your point. It will be closed as per community rules because that has proved to serve a lot of developers effectively. – sasquatch Dec 20 ’16 at 20:06

    “simply because they do not immediately see the usefulness of those questions” … that is not why it got closed. – Bart Dec 20 ’16 at 20:09

    “discussions and honest, intellectual debates listing the pros and cons of alternatives” are great, but they don’t fit the SO Q&A model. There are plenty of other places to have them, though. – jonrsharpe Dec 20 ’16 at 20:09

    it… was closed 4 years ago? 3 years after it was asked? If the same question was asked today it would be closed as primarily opinion based or too broad. – Kevin B Dec 20 ’16 at 20:10

    Just because it helps people, doesn’t mean it’s on topic. I’m sure it would help to post tips on how to clean your Computer, but it has nothing to do with SO. – Dani Springer Dec 20 ’16 at 20:23

    Chill? I am chill. Maybe you should be the one to chill, bro. Or at least learn how things work around here, Mr. Asking Meta Questions on the Main Site. – Will Dec 20 ’16 at 20:56

    @Will You’re beyond chill, but spreading cracked ice to whoever needs a drink (with cracked ice). Just an acknowledgement 😉 – πάντα ῥεῖ Dec 20 ’16 at 21:35
    comments disabled on deleted / locked posts / reviews
    1 Answer
    up vote
    down vote

    I’m a moderator. You’re a moderator. Everyone who answered that question or commented there or here or voted on it is a moderator. We all (well, those of us with more than 3k rep, which is quite a lot) have the power to close and/or reopen questions.

    There is a difference between a question being “useful” and a question being “on topic”. It’s certainly possible, proven by your example question, for a question to be “useful” but not “on topic”.

    The example question you linked to is not on topic on this site because it is asking for an endless supply of opinions and links to other libraries. This is un-maintainable, and as such is not considered to be on topic. Is it useful? Absolutely, to anyone who wants someone else’s opinion. But, it is still off-topic, and therefore should be (and remain) closed. I can’t say whether or not it is still a useful resource with it being 7 years old, but unless it is causing harm or spreading mis-information I don’t see a reason to delete it.

    Just for reference, this is the meta post that likely resulted in the historical lock.
    deleted Dec 20 ’16 at 21:36

    edited Dec 20 ’16 at 20:44

    answered Dec 20 ’16 at 20:30
    Kevin B

    we are all equal but some are more equal than others – Dagon Dec 20 ’16 at 20:56

    Certainly not all equal, some mean people can dupe close with a single vote on some tags. – Kevin B Dec 20 ’16 at 20:57

    I’m certainly the most equalest. – Will Dec 20 ’16 at 20:57

Leave a Reply