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.
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.