You’re hitting a wall with your code. It’s getting dark outside, but you have yet to find the solution even after stepping through a debugger for the 400th time. Staring up at your ceiling, you feel like giving up. You open another can of caffeinated beverage, which may as well be poison at this point, but it’ll help you persevere through the night and find a beautiful, original solution.
You copy and paste the error message into the search bar. The top search result, from Stack Overflow, graces you with its presence.
Voilà. The genius of those who came before has once again saved the day.
If you’ve coded anything more complex than “Hello, world,” chances are that you’ve encountered Stack Overflow, a website used by developers to ask questions about programming. The site has expanded to form a network called Stack Exchange, consisting of nearly 170+ other forum-based websites in any category one can think of (e.g., space exploration, retrocomputing, and bioacoustics). Stack Overflow alone has over 24 million questions and 35 million answers, eight times the size of the English Wikipedia.
Stack Overflow was founded in 2008 by Jeff Atwood and Joel Spolsky, two programmer-writers who wanted to create a free version of ExpertsExchange but, in Atwood’s own words, “without all the evil.” ExpertsExchange was known to restrict answers behind a paywall, but Stack Overflow would offer everything free of charge.
Fast forward 15 years. Now, for any common programming error, you’ll likely find a Stack Overflow post that explains how to fix the problem. What may initially appear as a helter-skelter Q&A website has, over the years, transfigured into a de facto programming encyclopedia.
At first glance, Stack Overflow may seem like a utopia, an impossibly altruistic one: Anyone can create an account, ask a question, and read answers for free. But make no mistake. As you begin to learn about the culture of Stack Overflow, you realize that moderation can be tear-jerkingly strict. One dreaded flag is “Marked as duplicate. This question already has an answer here,” which links to another question. However, even if the already-answered question is relevant, it often does not serve as a reliable replacement; the need for a new question is not obviated.
Because of the number of questions in its 15-year history, most common errors and bugs already have plenty of discussion, significantly raising the bar for what kind of questions can enter this selective space, contributing to a culture in which not everyone feels welcome to ask a question. There is an appeal process, but a question marked as duplicate often attracts discouraging comments about its (or the asker’s) worthiness, akin to sharks that have just smelled blood. (“Did you even try to Google this before posting?”) Facing an audience so keen on finding faults makes Stack Overflow a more daunting place than it needs to be. The website’s tagline may as well be: “There is such a thing as a dumb question.”
Stack Overflow is well aware of its reputation. When you sign up, the subject line of the introductory email reads: “Your friendly, fear-free guide to getting started.” In 2019, the website also introduced “Unfriendly Robot (UR-V1),” a machine learning model designed to indicate unfriendly comments. Trained on real flags raised by members of the community, the model showed some potential. However, UR-V1 developers made it clear that it would never replace human moderators (though it’s unclear which specific human trait — meanness, perhaps? — that UR-V1 wouldn’t be able to match.)
However, even if Stack Overflow can feel like an intimidating, strictly-for-professionals space, it has good reasons for pursuing exactly that. Stack Overflow has become a source of truth for the entire software industry. There’s a common sentiment about Stack Overflow that when someone answers a question, they aren’t just answering that single person’s question — they’re answering it for everyone who is going to stumble across the same question in the future, whether that’s tomorrow, or years later.
In fact, Stack Overflow’s characteristically unwelcoming environment was perhaps exactly what propelled its success. In her book Working in Public, Nadia Eghbal, describing the challenges of maintaining the quality of open-source software projects, writes: “If large numbers of low-quality contributions are becoming increasingly common, there may be substantial management challenges in the future.” By ruthlessly filtering out repetitive and unhelpful questions, the website has remained high-quality and useful, allowing it to preserve its encyclopedic nature.
While cultivating a strict environment has allowed Stack Overflow to maintain its caliber, this doesn’t come without a cost — in this case, a deluge of criticism and complaints about its culture. And it’s clear that some policies are gratuitously strict. One policy worth noting is the prohibition of pleasantries. If users added phrases such as “hello” or “thank you” into their submission, the post would often be edited by moderators to have them taken out. In one “meta” post from Stack Exchange, editors argued that such pleasantries were distracting and hindered the goal of sharing information as efficiently as possible (Atwood himself commented in agreement). Still, many questioned if an unassuming “Hi” really constituted “noise.” The pleasantries and salutations, while adding nothing to a post, don’t take away from it either. (An answer isn’t confusing if someone adds “hope this helps!” at the end of it.) If it’s going to be barely noticed, I’m not sure if enforcing such a rule does anything other than reinforce Stack Overflow’s culture as being draconian.
There’s a common sentiment about Stack Overflow that when someone answers a question, they aren’t just answering that single person’s question — they’re answering it for everyone who is going to stumble across the same question in the future, whether that’s tomorrow, or years later
In an essay titled “The other side of Stack Overflow content moderation,” Sotirios Delimanolis, a content moderator on Stack Overflow, offered a typology of questions he deemed unhelpful. This ranges from broad, opinionated questions; posts deemed to reflect insufficient research effort; undescriptive titles; and a host of other reasons. And while Delimanolis claims that the moderators aren’t doing this because they are “out to get you,” the extent of the moderation can lead users to believe that that’s exactly the case.
But the culture that made the Stack Overflow of today is unlikely to make the Stack Overflow of tomorrow. And the fact that the sharpest criticism comes not from outsiders caviling at Stack Overflow but from longtime contributors may be a testament to its need for change. It isn’t uncommon to see top-level contributors mentioning Stack Overflow’s toxicity as one of the reasons that caused them to ultimately stop interacting with the website. See, for example, Michael Richter’s “Why I no longer contribute to Stack Overflow” and Jason Sachs’s “My Love-Hate Relationship with Stack Overflow: Arthur S., Arthur T., and the Soup Nazi.” Both Richter and Sachs have thousands of points in “reputation,” Stack Overflow’s point system, and have reached millions of users with their contributions (on their all-time leaderboard of over 700,000 users, Sachs is #449 and Richter is #5476 — in the top 0.7 percent despite having not posted at all since 2011). This loss of established talent, combined with the scaring away of new users, together result in a “community” that mostly passively clicks on a question to find the answer they need and then closes the tab.
But if other platforms with a different — non-diabolical — culture offer what Stack Overflow does, then why stick to a place that is no longer the rare commodity it used to be?
Unlike 2008, competitors abound. Features like GitHub’s Issues tab, open-source forum systems like Discourse (created by none other than Atwood), Reddit, and, of course, ChatGPT, threaten Stack Overflow’s position as a programming resource par excellence. These other websites fill in the gaps that Stack Overflow leaves open. AI technology doesn’t judge your simplistic questions; GitHub Issues integrate well with a team’s existing GitHub codebase; and Reddit and Discourse, with their large user bases, give rise to a kind of organic — somewhat unstructured but undoubtedly useful — wiki.
Stack Overflow’s commitment to purity has served it well. But if other platforms with a different — non-diabolical — culture offer what Stack Overflow does, then why stick to a place that is no longer the rare commodity it used to be?
Still, Stack Overflow has enduring popularity, at least in software. Why is it that a resource like it — a centralized, global resource to ask questions — is not as common in other industries? Stack Exchange’s other forum-based websites are nowhere near as popular as Stack Overflow. The reasons are many, but here I offer two: replicability and the “Don’t Repeat Yourself” (DRY) principle.
The comparative ease with which developers can replicate each other’s problems, which is rarely the case in other disciplines, is intrinsic to programming. Under the same environment, bugs are easily — and often provably — reproducible. On the other hand, it’s hard to imagine Scalpel Overflow where neurosurgeons dish out surgical tips, given the vastly different number of parameters and levers when it comes to human physiology, not to mention the uniqueness of an individual’s medical history. Additionally, many programming questions have verifiable and correct answers. (For example, the answers to “How to sort a list alphabetically in Python?” can be verified, whereas the answer is less obvious for, say, “How can the principle of transitional justice apply in light of the peace agreement between the FARC-EP and the Colombian government?”)
DRY, meanwhile, demands that you create a function for the routine you’ll be repeating, and, for example, that you use a well-maintained cryptography function instead of rolling out your own implementation of “Math.random.” Having a repository of questions and answers, in which duplication is discouraged, is a natural extension of the DRY principle — someone’s had this exact problem before, and there’s no need to come up with its solution again.
So, despite how unwelcoming a place Stack Overflow can often be, we’d be sorry to see it go away. Atwood wanted to build Stack Overflow “without all the evil,” but little did he know that it’d be beset by another kind of evil. Without a due exorcism, it’s possible that Stack Overflow will become a relic, all the more so as the likes of ChatGPT are ushering in a new paradigm of programming. There is no doubt Stack Overflow will continue to exist, but users may come only to scour for a solution — from a set of increasingly outdated answers as the community shrinks — while never contributing any of their own, just like a visitor to an immaculately preserved ghost town.
Aina Z. is a writer and tech enthusiast based in Ann Arbor, Michigan. She just finished her degree in Computer Science and used a lot of Stack Overflow along the way.
Sheon Han is a writer and programmer based in Palo Alto, California. His work has appeared in The New Yorker, The New York Times Magazine, Wired, The Atlantic, The Verge, and other publications.