Ask HN: Why Is Stack Overflow Fading Away?
Stack Overflow has been a cornerstone of developer communities for years, but recently, it seems to be losing its prominence. I’m curious about your thoughts on why this might be happening and what the future holds for this platform. Is it just AI
or there're specific issues contributing to its decline?
149 comments
[ 1.8 ms ] story [ 233 ms ] threadSpam sites that scraped SO content where a big problem for a while, so that would have certainly pulled traffic from SO.
If I had to guess about other reasons, I'd say we've moved on from giving our knowledge and content away for the benefit of corporations.
What does being an SO contributor actually get you?
Whats the point in monitoring new posts and answering questions?
The economy is hard enough as it is. I dont need to be giving my time away for free to help corporations generate more billions from Ad Revenue.
But whow knows!?
Like I say, is it actually declining by any metrics that are public? (genuine question)
Biggest grievance was an example where a question would ask someone like "how do I safely open a file in Python 3.11?" Obviously the answer is a context manager. But they would say that's not generic enough, the answer shouldn't use language specific features. Even though the question was for a specific language. Meaning I'd be spreading bad practice.
I had a reason to dive into obscure and esoteric corners of some languages/frameworks/toolkits. I practiced helping people with technical problems, which was likely a major contributor to getting my current job where developers also provide technical support to the customers (who are also software developers). Having this out in the open and being able to point at the fact that I was ranked in the top 100 contributors certainly helped.
However, things have changed since the early days, of course. Basic documentation and tutorials for programming languages and toolkits have become better overall, I'd say. We've got good centralized knowledge bases for certain topics, e.g. MDN where you previously would have had to piece together information from SelfHTML, W3Schools and other partially wrong sources, or go straight to the relevant specification (not for everyone, of course). Stack Overflow has become the repository of answered questions that is pretty searchable and there are a lot of questions that simply don't need to be asked again. LLMs have scraped SO, so ChatGPT and others can answer many programming questions fairly well (with the occasional hallucination or error).
By now I only rarely open SO anymore. But I go through different hobbies every few years anyway, and while I was still studying, I had the time, I learned a lot, and to this day I still like explaining things and helping others.
The worse the economy is, the greater the inequality between the masses and the top 0.1% the less we can afford to be idealistic and give away our time.
anyway, that's one issue, among others, that make the site ossified.
Even framing the same question in different ways is useful. If someone posts a Duplicate, adding that to a list of "alternative questions" that is collapsed by default on the original post might have been a better approach.
It also takes away the whole "your question is worthless" dynamic that closing a question raises.
I never asked a question on SO, though I used it as a reference often. I had this idea in my head that to ask a proper question that wouldn’t get moderated away or obliterated by the community, I would have to spend significant time and energy researching how to ask appropriate questions, and provide a bunch of supporting details that proved beyond a shadow of a doubt that I did my due diligence before asking.
I guess at the end of the day this means I didn’t actually _need_ to ask a question, but also means some useful discussions and interesting answers to problems I solved, that I’m sure others have, don’t haven’t answers out in the wild.
Being unable to clearly mark the bounds of relevancy for answers (in a structured way that affects search) is a major weakspot of SO.
One of the ingredients that made GenAI possible was a massive quantity of public, relatively high quality data (the internet).
We crowd sourced that over decades. If we transition to only interacting with AI agents in private as consumers, the corpus will fail to grow and update.
If it wasn’t trained on a specific newer API or Cloudformation/Terraform/CDK construct, with 4/4o, I just give it the link to the relevant documentation and tell it to use the links to help it create the right code.
I purposefully chose something obscure that I knew was a new feature that wouldn’t be in the training data. Even then I had to force it to search the web
https://chatgpt.com/share/67992b79-f047-441a-809c-f151b2e511...
The PDF had multiple columns, and while ChatGPT seemed to figure that part out, it couldn’t do the logic part. Had it been in an easier Format to deal with, I would have just used to spreadsheet.
I had to explicitly tell it to verify its sources on the web and use Python
https://chatgpt.com/share/27ffea74-b3c0-478e-a6f4-3aca9e3e64...
Then I just changed the initial prompt
https://chatgpt.com/share/5f44924f-4b2c-4d26-92e2-cf3b398cf2...
“ Create a list of presidents with the first column being the year they were born and the second their name. Order the list by the first column.
Use Python and verify the ages on the web”
2. Checks Google/SO and no answer
3. Figures it out themselves
4. Blogs about that
5. AIs that search pick it up first but eventually it ends up in training.
As well as AI teams paying for content for training.
Some studies show that the number of sites with AI blockers at their robots.txt has dramatically increased!
Right now, some companies are trying to ignore robots.txt, but after regulations...
Brilliant! And it does demonstrate at least part of the problem with stackoverflow - overzealous mods.
Plus whereas programming language help is at least pretty stable, config details are the least stable anyway
Until those started to get flagged (as duplicate, off-topic, whatnot) and closed. All of them I could make reopen (but it took time to collect the votes), and all of them eventually got a reasonable amount of upvotes and views.
That's where I stopped contributing to StackOverflow: when quality content I contribute gets refused by the moderators, I'm out.
To add an anecdote: The last question I bothered to answer was one where the accepted answer was a very-specific fix, and a more generic fix was in a comment below that which was better and more directly addressed the root problem and would work for any user encountering an exception (accepted answer was workable, but working at the wrong layer of abstraction to actually solve the problem). I pulled that out into its own answer. Looking back now at that question, the poor "accepted answer" which won't work for anyone hitting this error because it references a specific class in the user's question which won't exist for any other users is still accepted with -5 and the better answer is below the fold at +16. This is pretty typical across a lot of questions. The fact that SO doesn't automatically handle this case is basically a failure of the site's abstraction model and algorithms over answers.
For a site where the long-term value is ostensibly curating high-quality answers to the maximal number of questions, the best answers languish, and the questions and answers don't get sufficiently refined/updated over time. Arguably you'd want something closer to a wikipedia article about each problem that gets built out and updated over time if you want to provide canonical information about problems. Similarly I think the idea of closing things that are close, but different as duplicates has failed. These are often sufficiently different that the details are interesting and probably would provide value/activity/detail to the site. There should probably be some way to roll these up into a higher level article/topic to cover variants of problems, related cases, etc. This could start to act as pillars or knowledge-hubs within SO to get to a place of more canonical information or a more "tacit/practical wikipedia". Really not sure why things stopped at Q&A and seemed to stagnate where they did.
Though, they seemingly achieved profitability and sold for $1.8B without doing any of this, so what do I know. :) Probably the right move was focusing on other things like launching new communities, and making money for the company.
Many good responders and some of the better heavy handed mods work around the lack of tools for dealing with time with a constant stream of "Update:" and "Update to the Update:" top-level edits to the "accepted answer", but that isn't universal and requires manual intervention, only encourages heavy-handed moderators that heavy-handedness is the "right" approach versus a light touch, ignores what the over-gamified voting system was supposed to represent as the concept of an "answer", and overall sometimes just makes answers look "sloppy" rather than "idempotent".
I think the "moderator capture" by heavy-handed moderators seems an inevitable consequence of the "game" mechanics, where some of the tools have been lacking, and the sorts of people prone to undervaluing their own labor on behalf of companies incentivizing them with "points" over wages. I think the increasing feel of "StackOverflow is stale" is directly for not having time mechanics and a way to refresh answers from time to time as technology changes or shifts. The parts of "StackOverflow" that are as close to "evergreen" as possible are continually edited mini-wikis in a sloppy 90s top-posting USENET thread style that is messy and requires both heavy-handed moderation and works around the tools and the concept that an answer has a single author rather than is enabled by the tools.
ETA: Time in both directions, too: sometimes you are stuck in a legacy codebase and need to know "what was the accepted answer to this question 5 years ago?" and want easier tools to wade through legacy answers than trying to archeology dive through years of poorly organized Wiki editing history and comment history scattered across a N answers and M comments to each answer and/or hope that someone preserved somewhere in the middle of the top-posting thread in the current wiki state.
>There should probably be some way to roll these up into a higher level article/topic to cover variants of problems, related cases, etc. This could start to act as pillars or knowledge-hubs within SO to get to a place of more canonical information or a more "tacit/practical wikipedia".
There was an attempt to do something like that with the Collectives project but it doesn't seem to have gotten any real momentum going.
https://meta.stackoverflow.com/a/410859/9952196
I guess I learned my lesson to never spend time to make accepted answers better.
And then a year later, someone added a comment to mention that flag that needed to be set.
I find it okay to not update the answers: just like a blog post or a newspaper article, I find value in being able to say "this person had this problem in 2012, and this other person provided a fix also in 2012". But then it should be fine to ask the exact same question a couple years later if one expects a different answer. And it should not be marked as a duplicate. If anything, it could be marked as a duplicate after the answer is accepted, if it turns out to be the same (and if the new question has no value). But in reality, when I am stuck on a problem, I don't mind checking 5 similar answers. It's much better to have to find a solution from 5 similar questions than to not find it at all because it was moderated away.
Also it would keep people engaged: the current policy means that for some topics, it's very hard to contribute questions/answers because there are so many already. But in reality, many of the existing ones are more than 5 years old! If people could repost similar questions and get points for answering them (instead of being flagged as "duplicate"), it would probably keep the community more engaged.
Second: I don't get what's wrong with letting person A to post in the wrong/old place if they want, and person B can link the URL of the post to the right place. Instead you have person A locking person B's post which might actually hurt their feelings, like being arbitrarily moderated on any other site does, so they never come back.
Third: When Stack overflow moderation approves something, it actually means it's the end of discussion. IIRC the famous SO post about parsing HTML with regex ended with moderation endorsing a meme (the wrong answer) and locking it.
But I'm giving too much attention to SO anyways they could fix everything and I still don't see how it would win back talent.
A very large part of SO questions is "how to use this poorly documented library feature?" or "what is the idiomatic way to solve X problem?", and answers to these kinds of questions become stale and useless very fast. Even more frustratingly, if you have a question like this and an old answer does exist, there's a good chance that you wouldn't be able to tell if the old answer is applicable without further assistance.
Additionally, hardcore SO contributors and SO senior management are constantly at each other's throats, very stubborn about their own interests and often out of touch with and callous about the question-asker plebs' experience in different and conflicting ways.
For many, SO karma internet points are a CV item.
EDIT with some other points:
I feel like documention of libraries and such has often gotten a lot better. AI is actually really useful and can help solve a ton of problems in the space of things I don't know how to figure out myself by reading docs, but don't need to have an actual human expert look at my situation, which is most of the stuff that ends up on SO. Support chatrooms for libraries have gotten a lot more polite and accessible, with clearly marked streamlined paths for asking your questions and much less "hop into #foobar-support on irc so you can be told to RTFM".
There's a bunch of misaligned interests on something like SO:
- Upper management is running a business, cares about user metrics and actually making money;
- Actual question-answering follows a power law, with a handful of power users being responsible for most answers. Like I said, these people often consider this internet reputation as something important to their livelihood, plus your usual ego stuff;
- Question askers don't care about SO as a platform. They are working on some kind of project, run into some kind of blocking issue, and want to find a way to get that resolved ASAP so they can continue with what they were doing.
I can't be the only one. Their walled garden kept me out.
I've just checked: you don't even need an account to post an answer.
They issue "state of the developer" reports every year that I think are laughable. The answers on SO are mostly for beginners so they can hardly claim they have deep insights into all developers. There is also a huge void of representation around non open-source and vendor specific languages. It should be called "state of the beginner web/js developer" and it would be more accurate.
I wish that rather than close a question you were only allowed to link an answer from what you thought was the duplicate and that just becomes another voting game vs. moderator opinion.
Also I suspect a little bit: LLMs aren't dicks, and you can ask them follow up iterative questions quicker than SO users respond.
For me, it has always been about searching Google. If it led to SO, I would check the solutions, but most of the time, they didn't work. There would always be a blog somewhere with someone nice enough to put in the effort and explain things in detail. Once I got used to this, LLMs emerged, which are so much better. They provide solutions and combinations that make wild things easy, even those without documentation. And they do so instantly and pleasantly. No LLM bullies you for not having searched the web and then walks away. I'm kind of glad that SO is fading; there's a lot of bullying that is running into oblivion.
If you dare bring this up in the SO forum, perhaps suggesting or asking about a way to mitigate this behavior, pedantic douchebags go apoplectic with "Oh THIS again" as if the problem were solved.
Closed "duplicate", when the old answer is insanely out of date is a big one.
Instead of current practice, they should make a separate "hall of fame" Q&As that meet their standard, and no more "too broad" "duplicated" closed questions.
Only close / deletes questions that aren't relevant, like jokes and out of topics (careers) questions.
It was great, just like how Yahoo Answers was great. It’s now no longer needed as much.
What we actually need:
- the owner of the question must be the only one capable to say if an answer is good or not for his question
- no other user must be able to modify the question of the owner even if they think it is badly explained. They can always suggest modifies but the owner can decide if to accept them or not
- the moderators can try to suggest "hey we think this is a duplicate of that" but the owner must be the one to accept or reject it. Even if he says "I just want a more current answer, the one you linked is 4 yo" the moderators must accept his decision and keep the question open
- moderators must act aggressively against people (and other moderators) saying things like "this sound like some homework" or "you better use technology y instead of x" or similar
- answers older than a few years should have a visible flag on them signaling that probably that answer is not anymore the best possible one and to be careful using it and, if it doesn't work anymore, to open a new question tagging the old one
[1] https://survey.stackoverflow.co/2024/ai/#1-ai-tools-in-the-d...
I would guess probably a mix of both?
1. GitHub. Many times I have found my answer to a problem with a specific library/framework in GitHub issues.
2. Seniority. As I gain more experience, I tend to ask/answer less in SO. From time to time I still read answers.
3. To a lesser extent, chatgpt. I usually have to double check the outputs, but it works fine some times