DEV Community

Cover image for Has Stack Overflow Become An Antipattern?
Jason C. McDonald
Jason C. McDonald

Posted on • Updated on

Has Stack Overflow Become An Antipattern?

We joke about "Copying & Pasting from Stack Overflow". We commiserate with the countless hordes who have been shunned by the high-rep elites for...whatever reason. And yet, I'll guess that most of us visit Stack Overflow on a daily basis. It's become an ubiquitous part of the programmer's workflow.

I've been a member of Stack Overflow for years, once being an active reviewer, and in the top 5% of answerers for some popular tags. But now, Stack Overflow has all but vanished from my workflow. It's become something few anticipated, and fewer want.

It wasn't always like this. What happened?

We've Run Out of "Good" Questions!

I stopped answering questions on Stack Overflow a couple of years ago for two reasons, the most pressing being that there weren't any questions to answer.

That may sound absurd, when thousands of new questions are posted every single day, but most of them fall into one of three categories in the eyes of the core community:

  1. If anything even remotely similar has ever been asked, the question is quickly downvoted and closed as a "duplicate". Unfortunately, quite a number of "dupe-flagged" questions are false positives, but there are seldom second chances at Stack Overflow.

  2. Even if a question manages to escape the dupe hammers, if it deals with anything that isn't puzzling to an expert, it's fairly likely to get dumped on, a la "how dare you ask why you can't cast a string to a double, you snivelling plebeian." Oh sure, the new community rules have reduced this sort of talk in the comments, or at least driven it to be more passive-aggressive in nature, but it hasn't prevented harassment downvoting.

  3. Most of the remainder of the questions tend to be cerebrally domain-specific which, while not bad, are seldom reusable.

EDIT: This doesn't count the "questions" that need to be flagged and closed for being spam, "giv me da codez!!1!", or entirely off-topic. I'm talking about actual questions.

This hasn't always been the case, of course, but that's largely because in Stack Overflow's early days, most questions hadn't been asked yet. Segfaults and syntax errors were still worthy of discussion. Those days are long gone. At least in part, Stack Overflow's ubiquity is its downfall.

"Just buck the system, then," one might think. "Answer everything worthy of an answer, whether the community likes it or not." That would be great if it worked, but unfortunately, one of the greatest crimes in the eyes of the core community is to answer a question they deem unworthy. Not only do they not want to play with the unpopular kids on the playground, but you'd better not either! The popular kids have downvote buttons, and they relish the opportunity to use them.

That's the second reason I stopped answering. I was sick of getting punished for it.

Answers Are Popularity Contests

Even once there's a good question being asked, there isn't much hope for good answers.

The first reason is well-known by the community, who refer to it as the "fastest gun in the west effect": the first answer often becomes the upvoted and accepted favorite, even if it's altogether wrong. The reputation system was supposed to be a check-and-balance on this, but it often only serves to amplify this phenomenon.

There's only one way in which reputation works against the "fastest gun" effect, and it's not a good way. In each major tag, there seems to be an elite crowd of people who have tens of thousands of rep points. Those badges seem to evoke a knee-jerk response by everyone else: "If this high-rep user says it, it must be so!" Yet I've lost count of the number of times the high-rep user gave an answer which was partially, or even entirely, incorrect!

I've had to cease relying on Stack Overflow altogether in researching "Dead Simple Python". It's seldom accurate, an unfortunate fact that has led to most of the #python (Freenode IRC) community dismissing Stack Overflow as dangerously misleading.

The reverse is also true: while the high-rep users get automatic upvotes, the newer or lower-rep users often get ignored, or downvoted outright, because they dared to compete with the high-rep user.

I've unfortunately been on the receiving end of this more than once. Although my answer was technically accurate, and fully fit the question, I was attacked in comments or downvoted, simply because another high-rep user had already answered, or wanted to answer. I don't have enough reputation to gain admission into the elite, and the elite don't seem to like expanding their ranks.

The gamification of Stack Overflow is out of control. Votes are no longer related to accuracy and usefulness. Reputation has become the object in-and-of-itself! And when it comes to rep, the rich get richer, the poor get poorer, and it becomes quickly apparent to newcomers that Stack Overflow is a losing game for them.

Past the Expiration Date

When you combine the discouragement of both new questions and new answers, you wind up with a site that is rapidly becoming out of date. The last several dozen times I tried to use Stack Overflow to find information, I discovered the top answers were often woefully outdated.

Programming is a fast-moving field, so the best answer to a question today may be completely different than best answer to that same question in a year. We need new content, even if it might be "duplicate" content, to keep the conversation alive and recent.

Don't Read The Comments

Do I really need to say much about this? The comments sections on Stack Overflow is nothing short of a trash can fire half the time. Mutual respect, patience, and compassion regularly go out the window.

"But didn't they fix that with their new community policy?" you ask.

If only! A Code of Conduct only works if enforced by fair, polite individuals who care about the entire community. Stack Overflow is effectively run by people who have earned their moderator powers through sufficient reputation points, with the top mods being elected. It's like any other oligarchic democracy: the elite run the show by default.

Unfortunately, the only thing the Code of Conduct seems to have done is to encourage the offenders to get more passive aggressive in their attacks.

Moderator Tool Abuses

As I said, the high-rep users get automatic access to most moderator tools, and they often use them to their advantage. Questions are inappropriately closed as duplicates. Otherwise good content from the unwashed masses is flagged and closed as "low quality". Actual bad behavior from the elites is overlooked, since it's the elites who clear the flag queues.

I wish I were making this stuff up, but I have many of those moderator abilities on Stack Overflow, by sheer merit of the 4K+ rep points I've managed to scrape up over the years. I used to try to push back against these abuses, but majority rules...and the majority of active "trusted users" like it this way.

It's Our Playground, Go Home

I don't like what I've seen Stack Overflow turn into. Downvotes have been weaponized, and all suggestions to implement basic accountability into their usage have been summarily shot down, to the cry of "I can anonymously downvote who I want to! It's my right!" Many good, honest questions are shut down. Bad answers are praised on the sheer merit of the poster's existing reputation, while many good answers get downvoted so as to not outshine the Chosen Ones. Moderator tools have become yet one more means of keeping the "unwashed masses" in their place. Unpopular people are roasted for the slightest perceived offence, while gross misconduct is overlooked, and even rewarded, among the elites.

In short, Stack Overflow has become a temple to ego and elitism.

What Now?

DEV has had a #help tag for a while, and I look forward to seeing that grow. Our site's compassionate moderator team, lack of gamification, and avoidance of a public "downvote", have all contributed to a healthy, supportive community. But we can't rest on our laurels; we must work together to keep it that way!

If I could find where I parked my TARDIS, go back in time, and pre-empt Stack Overflow with a community of my own design, here's what I'd do:

  • No downvotes. In the end, these only serve as a means of anonymized harassment. Upvotes are usually more than sufficient. (Actually, I'd like to see how ranked-choice upvoting would work in a Q&A setting.)

  • No "duplicate question". Every question is different, and even the slightest variation can radically alter the answer. What's further, solutions are continually evolving, so the right answer today may be completely wrong in five years. Instead, allow linking related questions.

  • Avoid gamification. When users "earn" reputation from upvotes on their questions and answers, the focus becomes competition instead of knowledge sharing. This is detrimental to a community.

  • Moderators are selected for their conduct, not their popularity. Put moderator tools in the hands of the people whose behavior proves they can be trusted. If they abuse those powers, especially after initial warnings, remove their moderation abilities.

  • Encourage learning. Don't allow the community to punish people for not knowing basic facts. Help them learn how to learn! That's one of the reasons DEV is so incredible; tags like #explainlikeimfive and #beginners create a safe environment for greenhorns to ask questions that would be deemed "stupid" elsewhere.

Stack Overflow was a nice experiment, but I think the results are clear. We need a new solution.

Latest comments (96)

Collapse
 
jhanleycom profile image
John J. Hanley

This is an interesting article and very interesting comments. Excellent.

I am one of those high rep people who dominate certain tags. I am amazed by what I call "trolls" who berate newbies and also berate people, include myself, for helping newbies. I have had two trolls suspended with loss of all their points for this behavior. The system does work sometimes but you have to invest time, usually too much, to get action.

In my experience there are a few areas needing improvement:

1) Newbies need to be welcomed to Stack Overflow. A few kind suggestions will often help create more educated/useful questions.

2) Newbies need to invest more time writing good questions. Example, posting an error message with no context, code, etc is usually a waste of time. My personal pet peeves is someone who expects others to write their code for them. Stack Overflow is not a code writing service, but I have no problem sharing code when it helps.

3) Issue warnings to what I call "tag bullies". These are people that abuse others for not knowing what they expect everyone to know. They attempt to censor any answer they do not like.

4) Do not allow downvotes without providing comments. I am amused by downvotes on my answers for technology I am actively developing. Equally bad is downvotes for well written answers because the troll feels the question should not have been asked, therefore you should not answer it.

5) Self proclaimed experts. These trolls are the worst. They actually know little more than the surface area of a technology, but are probably really good with search engines. Post a question or answer that does not fit their narrative, and they go off like nuclear bombs.

We should have upvote/downvotes for people as well as their questions and answers. Those that get X number of downvotes are sent for moderation. Sometimes just a little attitude adjustment is all that is required.

Overall, I feel that Stack Overflow is a good service. The massive amount of shared knowledge is amazing.

Collapse
 
dwhitla profile image
Dave Whitla

StackOverflow has become a festering quagmire of ego-trippers. I have encountered my final straw today and won't be sharing my knowledge there ever again. I am ok with unpaid work, but not when it comes at a personal cost of dealing with such dickheads just for the privilege of helping others.

The self-appointed hall-monitors at SO can enjoy constantly refreshing their reputation summaries without me.

Collapse
 
jabkarlsson profile image
αη∂єяѕ кαяℓѕѕση

I agree with much of what you write, I have around 30k rep and I do sometimes still answer some questions but as of late I am really sick and tired of all the arrogant pricks that like vultures, wait for somebody to ask a question that they deem is stupid. It started out great but it is no longer a site where you can get friendly help. RTFM comments are not very helpful for a person just starting out and even if there are similar questions, it doesn't necessarily mean that the person will understand them, especially if they are a bit older answers.

Collapse
 
patchu profile image
Patrick Chu

It's been like this for a long time. The very first question I answered on StackOverflow, in 2015, the accepted answer, given by someone with a reputation in the thousands, was wrong. I know it was wrong because I was working in the company providing that technology, I was an instructor teaching that technology, and I could talk to the engineers in my company directly (plus, you could just look at the open-source code yourself for the answer). The answer even claimed that the internal developers did not know the answer -- again, completely made up.

(I just looked at the question again, and surprisingly, my answer now has twice as many upvotes as the "accepted" answer. So maybe there's still hope!)

I find that there's a crowd of what I call "professional StackOverflowers" who just flood the site with half-baked answers hoping for reputation points, and those answers, which get the most points simply by getting there "first", also tend not to be the best answers.

Nevertheless, just like doing a Google search, you've got to know how to use SO effectively. For questions with multiple answers (say, a dozen), the "better" answer is often buried far below the popular, accepted answer, in almost every case where there are multiple answers. So you need to scroll down and read those answers. And often you'll see useful updates to the original answer (I know, since I provide many of those updated answers myself).

The reputation system is definitely broken, but I find that StackOverflow is still useful.

As to the "no more good questions" assertion, I don't agree with that. The area where I'm currently working -- AWS cloud technologies -- there are lots of new questions to be asked, and those technologies continue to change and evolve.

I've also not seen the toxic behavior that you refer to in your article, but I think that's because I'm operating either in the backwoods or the bleeding edge of technology where the toxic people don't hang out. Maybe it's because if you're just starting out in tech and going to a coding camp (and you're of a certain immature age), you're not going to be writing Terraform or AWS Cloudformation templates, which tend to be utilized more by the corporate crowd.

Collapse
 
kevinmmansour profile image
Kevin M. Mansour

Really! Great Article .. You are really Accurate .. But Stack Overflow is really getting worse as follow :

High Rep People are who dominating the Site .. They Manage All the Site .. Even sometimes High Rep people answer Wrong Question but they getting upvotes (Really Getting Amazed) But people like me getting no attention Beacause you do not have Rep (As I have 561 Repution)

Closing Question .. People are going crazy while closing questions (As people say Duplicate Duplicate Duplicate Duplicate Duplicate Duplicate) Give me a second (Say Dupliacte Duplicate Duplicate Duplicate Duplicate) as it getting worse (I also feel High Rep people are do not sleep as All the Day they mark question as Duplicate Also Big Repution Answer are really Old (As Frameworks changes everyday) So they must approve new Questions

That is All .. But really Big Thanks for the Great Article :)

Collapse
 
codemouse92 profile image
Jason C. McDonald
Collapse
 
mrdulin profile image
official_dulin • Edited
  • No downvotes => Sometimes problems do get downvoted by mistake. Although there is a review queue, there is no way to ensure that all problems have correct feedback. This mechanism can be indifferent to people who don’t care about reputation.

  • No "duplicate question" => Whether a question is closed has a voting process, and the question will be closed only when the close vote accumulates to 3. In addition, closed questions will be placed in the close review queue and re-open review queue, which means that others will participate in the review. When OP corrects its problem according to the rules, it can be re-opened

  • Avoid gamification => Depending on the person, the reputation mechanism does encourage users to post high-quality questions and answers to some extent. It is a positive feedback mechanism for some people, but it is impossible for everyone to like this mechanism.

  • Encourage learning => No one punishes people who don’t know the basic concepts and knowledge, but they need to abide by the rules of the StackOverflow community. Any forum and community have rules, otherwise, they will become trash

Nothing is perfect, it depends on personal choice

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Sometimes problems do get downvoted by mistake.

And often on purpose, even by the voter's own admission. Remember, the community has explicitly blocked all suggestions of attaching an (anonymous, even) reason to a downvote. "Downvoting for whatever reason I feel like is my right!" That assertion is conclusive proof of guilt that it's being used for harassment and bullying. No one who truly desires to use it only constructively would object to attaching a reason.

Whether a question is closed has a voting process, and the question will be closed only when the close vote accumulates to 3.

Unfortunately, there are a lot of people who participate in the systemic bullying who have close-vote privileges. This system does nothing to stop the elite from ganging up on others. (Observed personally as a close-vote reviewer.) In contrast, it tends to encourage it.

When OP corrects its problem according to the rules, it can be re-opened.

Can, but seldom is, even with corrections. What's further, often the problem wasn't broken in the first place, so there is nothing to "fix". Ill-aimed dupe-hammer closures are a constant problem, and are seldom re-opened.

Depending on the person, the reputation mechanism does encourage users to post high-quality questions and answers to some extent.

"High-quality" is an odd term, that generally doesn't relate to actual measures of quality, but rather the arbitrary whims of the elites. I've encountered many who consider "high-quality" to be merely "something I personally find interesting" or "something I didn't already know". I have personally observed people being downvoted because of their inexperience, their country of origin, and even their income level. DEAD SERIOUS. But because downvoting has no accountability framework, there's no way to correct the problem. I've watched hateful explainations of the downvote be removed, but the downvotes remain nonetheless. One person had a good, well-written question heavily downvoted because he was a black student who couldn't afford a $300 book someone in comments recommended. The comments were removed, but the downvotes were never cancelled out.

Many good questions and answers get downvoted needlessly. It's not a matter of "doesn't work for some people," it's a matter of "inherently broken for the majority."

Anonymous, unmoderated downvoting and community diversity are inherently incompatible concepts.

No one punishes people who don’t know the basic concepts and knowledge...

I was a reviewer for some time on StackOverflow. There was not a single day that went by in which I did not encounter at least one (usually more than one) instance of a high-rep user literally punishing people for not having basic concepts and knowledge. I'm glad that hasn't been your experience, but believe me when I tell you that you're uncommonly sheltered in that regard. Be grateful for it.

Nothing is perfect...

Ahh, yes, the classic excuse we've been bandying about for 30+ years in the face of literally all anti-social behavior in the industry. It needs to stop somewhere.


If you're wondering why you haven't observed much of this, just look at your profile. You have nearly 30K reputation points with 28 gold badges.

What's further, you're mainly active in the JS tags, which we concluded elsewhere in comments here is not as prone to the problems I described because the space is constantly evolving and changing, preventing anyone from really becoming a long-term expert in the JS ecosystem. The JS tags don't "run out" of questions like most other technology tags do.

Collapse
 
mrdulin profile image
official_dulin • Edited

In fact, I have also encountered a downvote under the go tag or even on Reddit. Even for people like me who are familiar with SO community rules. Some people seem to be very demanding on the problem of golang. Golang is great, but people in the SO community not. You can see that many problems are downvoted and closed under the Go tag. This is not common under JS tag and Python tag.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald

My point exactly, and if one is a relatively new coder or has few reputation points, that negative experience is amplified by an order of magnitude.

(My experiences on the Python tag have not been stellar, for the record. I have better outcomes with the Freenode IRC room.)

Collapse
 
chrcoluk profile image
Chris Collins • Edited

This is a brilliant article, I signed up to stackoverflow, and instantly noticed problems, not able to comment (because need points to do so), incredibly difficult to get points, even though I am fairly knowledgeable, this is because I either found I had no likes or dislikes, or people kept editing my answers to what they think is right, but often changes to something completely different to what I wrote, I had one question completely rewritten in the sense it became a different question and because I rejected the edit, it then got deleted.

I have concluded community based moderation is a bad thing, its something that requires maturity and the ability to stand back and treat it as a responsibility, not a toy for a kid to play with, and I 100% agree with removing down votes, I have never ever seen something like this work in a community, its a toxic feature and the problem with dislike systems they are a popularity contest, people supporting each other within their circle. I have seen forums over the years gradually remove dislike features.

Collapse
 
soumen1102 profile image
Soumen Mukherjee

Hey.. i am reading this almost a year since written and it is even more relevant today . I even found the moderators really bullying people out and randomly deleting post citing plagiarism even when due reference to the site was mentioned in the post... not sure what triggered such behavior but now after reading your post definitely looks like a perfect case of "It's our playground , you go home"

Collapse
 
kar358 profile image
kar358 • Edited

From a newbie developer's perspective, your description of the question categories hit the nail on the head. 80% of the time when I have a tough problem, the question will likely fall into #2. Since any downvoting at all could remove my site privileges, I usually hold off until it's narrowed enough for category #3. And by that point, my esoteric question isn't really that useful to me anymore.

 
codemouse92 profile image
Jason C. McDonald • Edited

That's what I've always believed, but that exact proposal was shot down multiple times by the Meta community, to the tune of "We have the RIGHT [waving angry fist] to downvote whomever we want, whenever we want, without having to give an accounting for it." Someone said almost exactly that to me in one such conversation on Meta, minus the angry fist. He got a lot of upvotes on that response, too. That's when I concluded the core SO community actually values downvoting as a harassment tool, and doesn't want to lose that power. Any other use of DVs would fit in nicely with some simple accountability.

Collapse
 
rozeboosje profile image
Pino Carafa

I'm glad to see that I'm not imagining things. "Mr Burns" released the hounds on me on StackOverflow last week. I asked a question that was deemed to be a "duplicate" by some zealot. Without going into details, I found a question similar to mine with an Answer that can best be described as a "shorthand" answer, where I would prefer an answer in a more explicitly written "longhand" format. So I asked a question asking for help "translating" the "shorthand" to an equivalent "longhand". If I had had the option to add #explainlikeimfive I would have gladly used it as I was completely new to the topic.

So our zealous friend who shall remain anonymous chose to flag my question as a duplicate, and I posted some comments asking for clarification but no help was forthcoming and his or her responses got increasingly curt and arrogant.

BUT I took their comments to heart; while this "back and forth" was going on I spent some time figuring it out for myself, and I eventually worked it out. But this is where it got petty.

I accepted that my original question was poorly worded and not entirely clear. So I had no problem with them flagging it for deletion. But now I had gotten my head around it, I decided to re-post the question as a much clearer request explaining the difference between the "shorthand" and the "longhand", AND I stated that I was posting the question because I wanted to present my own solution to the problem for the benefit of other users trying to do a similar thing.

The question got immediately closed and flagged for deletion by the same zealous user.

I made the mistake of then going to their "meta" site to ask why this was happening. This is when they all ganged up on me, and they all descended on my questions, downvoting them and flagging them for deletion. Quite hilarious, actually.

Finally I decided this wasn't worth the fight. So I flagged my own questions for deletion. But I still thought my "longhand" solution to the problem was worth knowing about. So I went to the question in which I found the "shorthand" solution, and posted my "longhand" solution as an alternative answer.

Today I find this answer "downvoted" and marked for deletion, and my account banned from "asking more questions".

It's pathetic, really :-)

Collapse
 
imcanada profile image
imcanada

i agree stafkoverflow is cancer.
whenever i'd ask anything they'd send me that stupid "idownvotedbecau.se" link just cause i didnt know the topic fully

Collapse
 
petermortensen profile image
Peter Mortensen

"Stack Overflow", not "StackOverflow". See stackoverflow DOT com/legal/trademark-guidance (the last section)

Collapse
 
codemouse92 profile image
Jason C. McDonald

Fixed, thanks.

Collapse
 
afmhorizon profile image
Alex F. Musumeci

Well said my friend. As a new user on stack exchange I have come accross alot of questions that have outdated answers (especially related to .net core) and have noticed that alot of the attempts to ask new questions and respond with up to date answers have been duped. It sucks because many times I've come accross a question exactly like the problem i'm dealing with that has been duped and then a link to a different question that isnt quite the same has been provided. It's a shame as I liked the idea of it, but in reality its just an elitist, competitive environment where new users have no chance of getting involved.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.