I love StackOverflow and it has significantly contributed to my journey as a developer over the years. As the years have gone by, StackOverflow has experienced tremendous growth. More often than not, when you Google a development-related problem, a StackOverflow question (or two) will appear on the first page. However, the quality of the site has slipped a little.
Legendary programmer John Carmack said it best in 2013 about StackOverflow
My use of StackOverflow is mostly limited to the context of web development, Javascript and CSS. However, SO given its age (almost 13 years old) understandably has a stale content issue.
In regards to Javascript especially, it’s not uncommon to come across questions from the early days of the site with answers that reference jQuery (a sign of the time). Given the web was a different place back then, that is to be expected. However, it leaves behind a lot of mess.
Jeff Atwood voiced his concerns back in 2018 about this and pointed out that StackOverflow is less question and answer, and more collaboratively evolving resource (aka a wiki).
One of StackOverflow’s biggest issues is that it makes the contribution process intimidating. While the moderation aspect seems a little less aggressive than it was a few short years ago, people are put off contributing to the site beyond mostly looking for answers to their short-term problems.
There is a disparity between how the community sees StackOverflow and how StackOverflow sees itself. Many developers would class it as a question/answer website, not a Wikipedia for programming. Therefore, a large majority most likely never think of editing an answer, instead, opting to leave a comment.
I am guilty of this despite having been given a few perks for my accumulated karma, passively using Stackoverflow and sometimes upvoting useful answer or comments.
One of SO’s biggest flaws (perhaps now more than ever) is the onus is put back onto the author of the question to choose the most useful answer and give it that big green tick of approval. Which in my opinion is a flaw, the OP is perhaps the last person who should be deciding if an answer is useful or not.
If the intention of StackOverflow is to be an evolving resource, why have the useful answer check at all? Especially considering over time, the answer might become irrelevant and later edits might make it more up-to-date and useful, yet the original author will still be there alongside the editors who come almost secondary.
An easy solution is when you come across a question with an outdated selected answer, add a more up-to-date answer and hope it gets updated. However, considering the OP asked the question years ago and has possibly moved on, the chances of them selecting a new better answer are quite slim.
So, you edit the selected answer and leave the old answer for historical purposes. What happens in instances where several versions have been released and there have been changes to a handful of those? Do you keep on editing an answer and furthermore, how do you ensure the quality of the edits is the same as the original answer? It’s not a secret versioning and stale answers are a huge problem.
As for the green tick, sure it allows the original question author to state the answer was satisfactory to them, but isn’t that at odds with how Jeff and StackOverflow see the site? It means the answer was useful to them, but the site isn’t meant to be about one person, it’s meant to be a wiki.
I have seen many instances where the accepted answer didn’t even answer the question properly, while other answers which are clearly “community accepted” and have more upvotes remain unselected. The confusion stems from many believing the selected answer is in fact the best answer when it only matters to the original author.
I still love SO and I still use it, although, I feel less compelled to contribute these days. There is an influx of low-quality content from beginners and students, and only so many moderators who have the time to manage it all.
If StackOverflow truly sees itself as more of a wiki and less of a Q&A platform, it needs to remove meaningless features like selected answer and leave the community to upvote and downvote the right and wrong answers to the question.