Uncategorized
Has StackOverflow Become An Antipattern? codemouse92 profile image Jason C. McDonald Oct 19 Updated on Oct 20, 2019 ・6 min read

https://dev.to/codemouse92/has-stackoverflow-become-an-antipattern-3icb

Has StackOverflow Become An Antipattern?

codemouse92 profile image Jason C. McDonald    Updated on  ・6 min read 

 

We joke about “Copying & Pasting from StackOverflow”. 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 StackOverflow on a daily basis. It’s become an ubiquitous part of the programmer’s workflow.

I’ve been a member of StackOverflow for years, once being an active reviewer, and in the top 5% of answerers for some popular tags. But now, StackOverflow 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 StackOverflow 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 StackOverflow.
  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 StackOverflow’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, StackOverflow’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 StackOverflow 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 StackOverflow 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 StackOverflow 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 StackOverflow 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 StackOverflow 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 StackOverflow 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.

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

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

heart155unicorn37reading list62twitter logoDISCUSS (81)

dropdown menu icon

markdown guide

upload image
PREVIEW 
 

Regardless that I’ve got down votes on valid questions like thisthis, and this

  • Marking duplicate questions is a good thing (the idea itself).
  • Down voting questions that are literally asking for nothing but “do my work for me” is a good thing too.
  • Commenting on questions to get more info before answering is another good thing.

The problem is not in these features, maybe the problem is merely with people abusing those features.

Favorite heart outline button25

 

I certainly agree with all three of those points, at least for the most part.

  • I don’t think commenting should go away.
  • I think flagging a duplicate needs to NOT close the question. Often, further conversation or additional answers are justified.
  • Downvoting can be useful in theory, but again, there’s no accountability. We should have flags for things that are provably bad, and simply withhold upvotes for the rest.

The problem with downvotes is basically…

  1. They’re anonymous signs of disapproval, which tend to bring out the worst in people. (Mob mentality)
  2. They have no attached explanation, so no one can learn from them. (Accompanying comments are not required, and are even vehemently discouraged by some elite factions on StackOverflow.)
  3. There is no way to implement accountability. They can be habitually misused, and nothing can be done.

A flag, on the other hand, is not anonymous, has full accountability (it can be rejected), and has accompanying helpful explanation.

Favorite heart outline button12

 

Perhaps the concept of up/downvoting needs to be public in addition to a comment being required along with it. That could avoid lazy participants, force people to be responsible for their opinions, and allow for a history for mods to draw any correlations between harassment and up/downvote behavior.

Favorite heart outline button7

 

As for the duplicate question thing. If questions could be merged somehow into some kind of subject umbrella that would help.

I hate having a question marked duplicate and go the the linked question and it doesn’t have the answer needed.

Favorite heart outline button5

So do you follow the advice on SO for that circumstance? Which is to ask a new question, in which you can explain that the duplicate to your previous question didn’t provide an answer because…

Favorite heart outline button6

 

The problem is they block the users who get downvotes and to avoid spam from multiple acclunting, the leave those users allowing them THEM to downvote others. They hit the wall.

Favorite heart outline button1

 

Meanwhile, sockpuppets are a major problem. The determined trolls always come back. So, in effect, only the earnest greenhorns are getting sifted out.

Favorite heart outline button3

Sorry not familiar with the terms))))

Favorite heart outline button1

troll is someone who breaks site rules habitually, often just for the sheer thrill of doing so. A sockpuppet is a fake account created with the express purpose of bypassing a ban or performing malicious actions repeatedly. Serious trolls often create multiple sockpuppet accounts.

Also, a greenhorn is a newbie.

Favorite heart outline button6

 

One thing that SO desperately needs is a way to “update” an answer. The correct (or best-practice) way to center a <div> 10 years ago is not the best way to do it now. An easy way to accomplish this would be to weigh upvotes based on how recent they are. More recent = more weight. An answer that’s been receiving more votes lately should appear nearer the top than an old answer that received more votes a long time ago.

Favorite heart outline button14

 

They already had that feature. Just some questions were only valid at that time, so that the answer doesn’t need to update, just leave them there as a historical reference. Some other questions, if you found an other answer recently, be nice and give your answer. If the question’s author is still active, he will update the answer flag. Otherwise, users will upvote your answer when they find it useful for them and moderator will base on that to update the answer flag.

Favorite heart outline button2

 

That’s why, when searching SO for answers, I always look at the dates, and take that into account. A mechanism automatically downgrading outdated answers will be either very sophisticated, or very inaccurate.

And, regrettably, sometimes we have to keep the code compatible with MSIE…

Favorite heart outline button2

 

Seems like you and me are using different StackOverflows. I don’t see the community “dumping on” questions that “aren’t puzzling to an expert”. Questions where the greatest puzzle is what the author is actually asking, however, or the “do me homework for me” kind, however… well, that’s a different story. Your observation on the comments being “nothing but trash can fire half the time”, can be reconciled with my own experience of SO only by introducing the auxiliary theorem: “the Python community is waaay more vicious than the JS community”.

As for downvoting – it isn’t free (at least on the answers). When I downvote your answer, we both lose rep points. That mechanism in itself discourages downvoting on a whim. I don’t get downvotes often, but when I do, it’s a rare occurence when I have reasons to think “It’s a perfectly valid solution and someone’s being a jerk”.

Upvoting of the “elite” and downvoting of the “peons” even if their answers are correct? Again, not my observation. I see, however, technically correct answers with negative votes when they’re third or fifth copy of the same exact solution. If you’re about to post an answer to a question that already has one, yours should bring something original – otherwise, what’s the point?

Many a time I saw someone post exactly what I was about to post (and what I’d even started typing) – a little frustrating, yes, but the reasonable thing to do was to click on “Discard”, upvote their answer, and move on.

Favorite heart outline button10

 

As I said to another commenter, I’m glad you’ve had a different experience. This is based on about ten years of being a part of that community, as well as the experiences of many people I’ve mentored and worked with.

Questions where the greatest puzzle is what the author is actually asking, however, or the “do me homework for me” kind, however… well, that’s a different story.

As someone who spent a lot of time in the review queues, I regularly flagged to close those sorts of questions. I’m not even remotely referring to those. I’m talking about good, well-structured questions that some of the “cool kids” decided was just “too obvious” (to them) to be worthy of existing, and so they attacked by all means possible. You’ll notice in the comments on this article, I’m not the only one who has seen that.

…can be reconciled with my own experience of SO only by introducing the auxiliary theorem: “the Python community is waaay more vicious than the JS community”.

As I already mentioned in another comment, JS is indeed different, partially because you haven’t “run out of questions” in that ecosystem yet, and TMTOWTDI is unavoidable. Yet, interestingly, the Python community as a whole all but disavows StackOverflow, both for the rampant inaccuracy and the unhealthy social dynamics.

Meanwhile, I’ve encountered the same first-hand in relation to C++, C, and ActionScript, not counting the typical patterns of behavior I observed in many other tags through my helping to clear the review queues. At one point, I was spending 1-3 hours a day in the queues. I was actually watching these behaviors become a norm.

As for downvoting – it isn’t free (at least on the answers).

When you have tens of thousands of reputation points, -1 means absolutely nothing. So, in effect, it is free if you’re an elite. It only costs something if you have little reputation to spend.

Downvoting questions, of course, is always free, so it provides a convenient, anonymous way to harass newcomers. And yes, it happens regularly. I lost count of the “first post” instances I encountered in the queues which were fully qualified as good questions (well structured, clear, not a duplicate), but it was downvoted heavily anyway.

I see, however, technically correct answers with negative votes when they’re third or fifth copy of the same exact solution. If you’re about to post an answer to a question that already has one, yours should bring something original – otherwise, what’s the point?

Agreed, but again, not what I’m talking about. What’s further, sometimes the non-popular user posts first, but when the elite user comes along and posts the same content, the less-popular user is downvoted. This was something I, again, saw happening more and more via my work in the review queues. That phenomenon was half of the reason I stopped ever trying to answer anything.

So, I’m glad your experience has been better. StackOverflow is a big place, and as I said in my other comment, it’s perfectly possible not to notice the bullies on the jungle gym from the swings.

Favorite heart outline button1

 

As I agree with part of this, I think you are only complaining and alternative is a joke. I cannot find anything literally on dev.to even now. Amount of questions in the stack overflow is so humongous that it is not even possible that such tool like dev.to can be any alternative. For the argument that you cannot just start on StackOverflow because you loose as a new user is also a false statement. I had start to play with it about 3 years ago, and I just pushed hard on the beginning ( like 3k in the first year), now I have 8k+, not a big thing, but for sure it proves that you can start there and literally help a lot of devs. Also never felt that there are votes for users with better reputation.

Next point, no duplicated questions – this is a problem, but I dont see a way to maintain 1000+ questions like – how to convert number to string in JS.

No Down votes – this is a good point, and I agree, I had this situation few times, that for no reason I was knocked out by some minuses.

Stack has many problems, but they are social not technical ones. Yes, people answer mostly because of gamification, because they want to have nice scores. But this is normal, human are like that, they need some reward for the effort. Sorry I don’t believe system without gamification will have any engagement from the community.

Favorite heart outline button10

 

I think you’re exaggerating quite a bit. While all you describe happens to some extent as expected (many people on the internet are impolite d**** and the SO community is big enough to make matters worse), in my perception it’s not as bad, as you describe it to be.

What I personally don’t like is that they don’t allow for opinion based questions about best practises (e.g. what’s the best approach to …) even though many of those still existing are very popular. I think this is an area, despite all the flaws of a voting system used by humans introduces, the system could really shine.

Favorite heart outline button8

 

I’m just describing my own decade of experiences on the platform, combined with the experiences of people I’ve mentored and helped over the years. It hasn’t been pretty, no exaggeration.

Maybe for someone frequenting different tags than I did, it would look different? StackOverflow is certainly big enough that one can’t necessarily see all the bullies on the jungle gym from the swings. 😉

Favorite heart outline button1

 

You make an interesting point. I mostly spend my time with JavaScript/TypeScript. Maybe it’s less bad for those?

Favorite heart outline button4

You know, that would actually make sense! JavaScript is a very wibbly-wobbly language (so many subtleties), and the frameworks are constantly shifting around, so y’all haven’t run out of questions yet. And maybe y’all never will! There’s also likely to be more respect for alternative solutions, since There’s More Than One Way To Do It (because everyone is using a different stack).

I spent a lot of time in C++, C, Python, and ActionScript 3.0, among others. The problem definitely seems more acute over there.

Favorite heart outline button4

 

This is a good article. I have never contributed to StackOverflow because I feel like just about every question has been asked, and any question I could answer has been answered. I personally like don’t want to reinvent the wheel and if I can gain insight on how to tackle a common problem with easy then I’m all for it. Sometimes the solutions are things I would’ve never come up with by myself or any sort of documentation reading or tutorials would have got me to. I personally like that duplicates are marked and just have links to another discussion because there’s a defacto discussion for a problem instead of me trying to find out if all the 10 discussions on the topic say the same thing. To me a downvote signals it’s not a quality answer and I feel like to me it isn’t abused. Ever answer I’ve seen severely downvoted is because the person answering didn’t read the question or isn’t providing any value. I do feel that I’ve seen some of the accepted answers that aren’t the best answer. However, your article sheds a whole new light for me on the politics of the community. Nice read!

Favorite heart outline button6

 

if you never contributed to stackoverflow because you think everything has been already answered, then you probably tried nothing really new or more complicated, how then you think others still get questions and answers, wouldn’t they get duplicated questions? You cannot force it think out of your head, you need to come into a requirement that you have to solve and you found a solution by trial and error yourself, and I tell you a secret, stackoverflow in my opinion contains about 10-20% of programming knowledge the remaining 80% is on github or elsewhere or not replied, so sometimes you just have to only copy and paste from github forums, and I either post a question and a reply where I can’t google it, or I copy it from Github.

Favorite heart outline button2

 

Definitely in the nothing new category. When you work with something established like the Spring framework there are plenty of complicated tasks that someone else has done that’s present on StackOverflow.

Favorite heart outline button1

Trust me, that’s a good thing. I’m working on the current asp.net core and pretty much every complex question I could want to know the answer to … is now obsolete. That makes it difficult to find an answer, as you ask and get results for version 2 when its all about version 3 now and the interfaces changed drastically. Ho hum, I guess it keeps someone at Microsoft constantly paid.

Favorite heart outline button1

 

Stackoverflow is a joke. They already entered a dead loop. (Explanation sometime later)
I don’t know if they’re selling or had a chance to sell, but if they don’t do something, they’ll hit the wall SO freaking hard…
I understand them, I know how it feels. You raise, build up something and then you just want the regular life. But for the big $$ the child needs love and care.

Favorite heart outline button2

 

Joel Spolsky stepped down as CEO shortly after the new Code of Conduct was rolled out. I wonder if he saw how little the CoC changed things, and quit because of it. After all, he did say something to the effect of “I don’t think I’m the right fit anymore” (not his exact words).

Favorite heart outline button3

 

It’s not that hard to fit the CEO shoes of SOF.
You just need to hear people, learn what a human needs. When you start rushing after the code of conduct, start meeting every time and every second on the little things, you get lost of it. Like, grow bigger. Stop complaining, stop downvoting, stop nudging people about every little bit and they’ll ge attracted to your site. Take dev.to for example. You know how many of these things happened for me here at the beginning? They stopped (alas tge things). Everyone forgot about it. Result? They’re getting traffic, people having fun, everyone wants to live.
Stackoverflow? You ask question and just wanna upload a meme, of Usama Bin Laden “That’s why I bomb people.” It creeps me out how they behave. Seriously.

Favorite heart outline button1

As someone whose job description is CEO (as in “responsibilities”, not “paycheck), it’s not as easy as it sounds. People think management is the easiest thing in the world: like you said, “just hear people,” but the difficulty comes when everyone has different views, and they’re all shouting over each other…which is exactly what StackOverflow Meta is most of the time.

Running something as big as StackOverflow takes a solid understanding of programmer culture, human psychology and sociology, and communication. None of those subjects are particularly cut-and-dry. You try things, discover they don’t work, and then adjust your approach. Over and over.

DEV is amazing, and I’ve been incredibly blessed to have been involved pretty deeply as a member somewhat early on. I was invited to be one of the first community moderators (an honor I still haven’t wrapped my head around), so I’ve been a part of a number of discussions about site policies. It isn’t simple. The tremendous amount of discussion, consideration, and experimentation that has gone into getting DEV to this point is mind-boggling. I have massive respect for @ben , @jess , and @michaeltharrington ! Their jobs are not easy.

With all that said, I think the fact StackOverflow got this bad shows that Spolsky and the rest of the leadership missed some major red flags. I don’t know why, nor will I try to guess. But I can understand why Spolsky stepped down. He has no idea how to dig them out of the hole they’re in, and in fact, doing so may be utterly impossible at this point.

Favorite heart outline button8

Jason, thank you so much for your brief reply. It’s nice and pleasent to have a talk with you.

See, the problem in perspective. I respect Ben and Jess and all others. But they’re not wkrking hard, they’re pretty much having fun. You can see it from as what the site act like what it looks like, what and how people behave and work here.
Stackoverflow was a technical challange for them, they didn’t want to lead people.
The nice things did not co-exist from the root. People who disbehave disbehaved there from the very beginning.
Every work is hard, but it’s a mere how you look at it. You might be washing toilet,dishes,windows,cars and you will be enjoying. The day you stop beliving in the good and start complaining to yourself, you kill your inner child and start harming others. It’s not a must way of going through, but as ceo/as dish washer, at both you’ll have to be aware you need to be naive and believing, cause this what life is for.
Look how it all begin in sof, they wanted war. They got it. The day they want to wake up, they can wipe all the dirt out.

Favorite heart outline button1

You forget, Spolsky and Atwood were having fun too. They didn’t want war, they wanted a healthy, fun, vibrant community. But they failed to recognize that if they automatically linked “smart” and “powerful” in this industry, they’d wind up with all the antisocial egotists having the moderator tools. They forgot everything Weinberg ever taught us!

You can have fun, but that doesn’t nullify the fact you’re still doing hard work. It’s not a matter of complaining. Coding is hard, but I love it. Making a decent apple pie is hard, but I love it (just made one this afternoon). To pretend it’s easy doesn’t help anyone. Everything is easy to the person who isn’t doing it.

I think @ben and @jess would say that, yes, running DEV is hard work. Nothing saying it isn’t fun most of the time.

Favorite heart outline button2

Yeah, perhaps easy is not the right word combination. But having fun on a hard work is relieving.
I’ll need to learn what you said in your first part, I’m totally off of that. But thank you for a nice talk. 🙂

Favorite heart outline button2

Thank you too!

Civility. It’s one of the things that makes DEV such a darn nice place!

Favorite heart outline button2

Yeah. Just imagine how the above discussion would end if it were happening on SO. 😀 :-O :-X

Favorite heart outline button3

With a galiotine XD

Favorite heart outline button2

 

You claim to be a CEO, but do you have a board you answer to? Might change your perspective.

Favorite heart outline button1

As I already said elsewhere in this thread…

As someone whose job description is CEO (as in “responsibilities”, not “paycheck), it’s not as easy as it sounds.

…so I’m really not sure what “perspective” you’re implying needs changing.

Favorite heart outline button1

 

Though it’s hard, and sad someone has to end up career like that..

Favorite heart outline button1

 

reputation is a tool trying to address low quality inputs
but most of time it also punishes hard newbies to same levels as grieffers
in the end, creating some kind of closed “circle-jerking” communities

for that aspect, it is not specific to stackoverflow
but that sad because thoses issues are 20 years old… ^

Favorite heart outline button6

 

One might argue that’s a major reason why Reddit is what it is.

That’s why I’d like to see ranked-choice upvoting instead of typical upvote/downvote. You can pick one best answer, one second best, etc, and anything that isn’t correct or useful, you just don’t vote on at all! (And then use flags for objectively bad content.)

Favorite heart outline button2

 

IMHO.

Subreddit about startups, businesses, and entrepreneurs are nice, and they want to collaborate and to help each other.

Subreddit about programming is cancer.

Favorite heart outline button2

 

Another problem with StackOverflow is the power of some people to edit a question and answer. It is RUDE!.

For example, I asked to how to obtain the NORMAL of a vector (quaternion). The question was about an operation. And some guy changed the question and added OpenGL to it. It wasn’t about OpenGL.

In my case, I give up. Stackoverflow is beyond reparation.

Favorite heart outline button2

 

Community editing is an interesting feature, actually. It has tremendous power for good. I’ve been able to shield many non-English speakers by correcting their spelling, grammar, and formatting before they could be assassinated.

The thing is, unless you have the appropriate privileges, your edits are supposed to be put in a review queue for the community moderators. Besides that, you can roll back the changes yourself if they contradict your intention.

So, the problem only comes when the people who either have free-for-all edit powers, or who go through the queue, start abusing the power. And that goes back to my point about selecting moderators carefully.

Favorite heart outline button2

 

If you are editing a document without the consent of the author, then you are taking part of the copyright and authorship of the document, even if it is a phrase or a full document. So, it is extremely rude.

For example, it is rare (if any) to find a book’s editor that edits a book directly from the original script. An editor could suggest changes but he could not edit a document.

It also happens with music. One of the causes of the break-up of the Beatles was because a producer decided to change a song without the advice to Paul (the first cause is Yoko Ohno)

Favorite heart outline button1

Interesting take.

I think the difference with StackOverflow, as mentioned elsewhere in this thread, is that it was intended to be a sort of wiki. When you publish an article on Wikipedia, anyone can edit it. That’s an expected part of the workflow. Your content is never really meant to be “yours” (except it is? They’re weird.)

I think the founders believed that by building StackOverflow on that basis, information would be (and stay) more accurate, much like how Wikipedia is often more accurate than many single-source articles. (There was a study about that, but I can’t recall which university.)

Whether or not that was a good design decision though? Well, as you can see from the other comments, that remains to be seen.

Favorite heart outline button1

In that case, posts should be anonymous, not have your name next to them. It feels like you’re being misrepresented when someone edits your question without your consent, sometimes subtly changing its meaning/intent.

Favorite heart outline button1

Yeah…I’d never really put much thought into it before this conversation. Something about that hybrid didn’t work, did it?

Favorite heart outline button1

 

My main frustrations were that someone had enough knowledge to understand the question, and therefore could edit it, but, yet still chose not to answer it..

Favorite heart outline button2

 

I stopped answering a few years ago too, for the most part. I mean, I never answered a lot of questions anyway. I do still use SO and I do pop in and run a few moderation tickets when I see the little red dot appear.

When going through the review queues, I skip a lot of the “cerebrally domain specific” ones you’re talking about and only chime in on syntax, grammar and similar edits, or on quality or duplication open/close votes.

I don’t know how many other people do this, but I hit “re-open” quite a lot on content I think is relevant. There are obviously people who are trigger-happy with the close button, but at least SO has a way to self-moderate there.

I agree with most of your post, except for the bit about moderator selection:

Moderators are selected for their conduct, not their popularity

That’s theoretically how it is on SO at the moment, and how it’s been for years. Anyone (with a fairly low minimum rep) can apply or vote, and I see people apply with a couple of hundred to tens of thousands of rep. I don’t know about anyone else, but I vote based on their application post and any examples they link, not the number next to their names.

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

That’s us! Or Dev and other sites like it. And code competition sites, and portfolio sites. We shouldn’t hide from question-answer posts like in #help that people have been trying to build up, but neither are we trying to replace SO. We couldn’t. If we tried to scale like that we’d change, and we’d probably change to heavy-handed moderation, I think. Small, friendly threads are where it’s at.

Your post boils down to a few points as far as I can see (in terms of relevance to us here on DEV.

First, all the good questions have been asked.
We see the beginnings of that here already. Not so much in the way of questions but of content in general – how many “10 tips for people new to the command line” get posted every day? It’s harder and harder for people to find something they can talk about that hasn’t already been done to death.

asked about duplicate content here before. I think there’s an opportunity to add a feature such as related posts where we have the “another post you might like” block, but matched by keywords in your article. Encouraging people to search for content before posting, that sort of thing. I see people make posts which would work well as comments to earlier posts, and I also see the popularity contest you’re talking about:

Second, popularity contests.
Dev does this pretty well, I think, by hiding people’s “follower” counts. Sure, people make humblebrag posts from time to time congratulating themselves on being popular, but it’s not common. We also have a problem with Ben’s “big thread club” posts I think. There’s a positive feedback to online attention that’s not healthy, and highlighting people for having attention gives them more.

I wrote a post about that over on Quora (which is about the worst popularity contest there can be). At what number of followers are you considered popular.

I’m not saying people don’t deserve attention for what they write, but I am saying that surfacing content that way isn’t good.

If you browse the site by “latest” you get to see a lot of “hidden gems” that never make it, many of which have near-duplicates that do make it, because the writers have that elusive popularity factor. It’s not fair to newcomers, and they try to break the pattern by scraping the barrel with “5 ways I made money with CSS” type clickbait.

Lastly, a ray of hope shines through the window of opportunity at the end of the tunnel: development and developers are still changing. We haven’t run out of questions because every week there’s a new piece of technology. It doesn’t have to be cerebrally unreadable for someone to say they can’t figure out how to do something in new tech X that everyone here knows how to do in old tech Y.

That happens to us every day, right? We pick something new, because maybe FOMO, and sit and stare at it for an hour or a week, thinking “how can I get this piece of shirt to print hello world and why can’t I stick with Modula-2 and good old WriteLn?”

Maybe that’s just me.

But it’s a simple example of something specific that SO might divide into “how do I print text?” and “how does new tech X’s internal frobulator frobulate nouns?” Dev lets us have digressing threads where we talk about all the pieces together.

We’re not off-topic.

Favorite heart outline button5

 

This article would be 100% better if you linked to or screenshotted actual examples of the problems you’re talking about.

It’s easy to claim that people respond with ‘how dare you ask why you can’t cast a string to a double, you snivelling plebeian.’ but … do they really?

It’s easy to claim that you’ve lost count of the examples where a python answer is completely wrong, but … if there are so many, surely you could give just one or two examples?

I’m sure your general point is valid, but to be honest, the specific claims you’re making seem highly exaggerated.

Favorite heart outline button2

 

The trouble is, one doesn’t usually keep a log of something that vast and depressing, and it would be an enormous task to compile enough evidence. I know I’m presenting this without citation, but as you can see from the comments on this thread, I’m not alone in these observations.

As I’ve said to two other comments questioning exaggeration: this is my experience, and those of people I’ve mentored and worked with. I’m glad yours has been different.

Favorite heart outline button1

 

P.S. The “sniveling plebeian” line was an expression of attitude, not a direct quote. Actually, I wouldn’t quote some of the stuff that I’ve seen. A lot of it would violate our CoC.

Favorite heart outline button1

You can blank out any swear word. Or you can link to the offensive post with a warning and not quote it directly.

Favorite heart outline button1

I already have enough work, I don’t need to be pouring hours into finding sufficient examples to satisfy you. I’m sorry. You’re welcome to look yourself, as it is a public website. Otherwise, you can believe me as is, or you can disbelieve me. I really don’t care whether you believe me or not. This is not to say there is no evidence, just that I value my time too highly to spend it digging up toxic waste.

I wrote this article mainly for the people who have had these experiences themselves, and to start a discussion about what went wrong, and how to prevent those mistakes from being replicated elsewhere.

Favorite heart outline button1

 

I didn’t say my experience was different.

Also there’s nothing to stop you searching Stack Overflow right now and adding a few examples, either in a comment or in an update to your article.

Favorite heart outline button1

 

Interesting. I’ve tried using SO as a resource for answering questions while learning Python and found it less than helpful the majority of the time. Often the questions were too complicated and specific for a noob like me to extrapolate to my situation and the answers provided too complex for the simple question I was trying to answer. Sometimes, I’d find the more simple answer I needed for my 101 class buried towards the bottom heaped with scorn (not encouraging for a noob) a la “Ugh that’s such a hackish way to do X. Learn how to code.” I’ll try the #help tag sometime.

Favorite heart outline button4

 

In my career as a developer, each time I land in SO looking for an answer, I find more often then not that the accepted answer and/or most upvoted is not the correct one, it’s the just the one that first worked, and yes its driven by the reputation of the one answering.

I had felt that some of my answers have not been marked as accepted, just because someone with more points have posted a less accurate answer.

And yes down voting without accountability is very bad in SO. Receiving down votes in an answer you know is correct or just because it have a small mistake/inaccuracy or is just not explained with the best words, is just so infuriating. We should be given a chance to fix it, or the author of the down vote could just contribute with an edit to it.

But what really pissed me off with SO, was that when I first registered I got negative points, just 5 minutes after… WTF!!! This was enough to kept me away for years.

So my advice is don’t trust blindly in SO answers, do your homework, and don’t copy paste without understand what is really doing, and without searching for alternative approaches.

Favorite heart outline button3

 

It’s long been my view that asking for an answer on StackOverflow is like asking your bank for a loan. To get it accepted you first have to prove you don’t need it.

Favorite heart outline button5

 

Why are we so afraid of duplicate questions or “do my work for me” questions? Wouldn’t the community see this and won’t answer. “Let the markets do its job”?

Love the idea of “related” .

I completely agree that with rapid change in technology, duplicate questions should be allowed to get “newer” answers.

Excellent post by the way.

Favorite heart outline button4

 

Why are we so afraid of duplicate questions or “do my work for me” questions? Wouldn’t the community see this and won’t answer.

This is how I’ve always felt about it. Instead of marking as dupe and being a jerk about it to a new user, just move on. Then the more friendly people can answer the question and get more rep and the high rep people won’t have to waste time “educating” new users and can go back to trying to snipe easy questions off of New.

Favorite heart outline button1

 

The dupe-flagging triage is a joke. Probably most of the questions I see are explicitly not dupes, but whoever flagged them simply hasn’t read the question properly. Yes, it’s tempting to scan a question and say “I know what they mean…dupe” but unless they are actually using a bot to do the triage, they really need to pull back on the knee-jerk.

Favorite heart outline button1

 

Are you sure they’re using a bot? I did dupe-flag triage for quite a long time, and there are carefully crafted false positive tests in place to trick bots and ensure reviewers are paying attention. If anything, those false positive tests are a little too overzealous, as every week, at least one reviewer would post on Meta about being incorrectly locked out.

Favorite heart outline button1

 

No, I said “unless they are actually using a bot” — I have no idea if they are or not. But almost every day I would see a question marked DUP and when I followed the link, it wasn’t a duplicate at all, but a question about a different aspect of the same problem that would not be answered by the linked question.

Favorite heart outline button1

 

Couldn’t agree more. The elites at SO are trying to turn a forum into a wiki, which is why they are so quick with the dupe flags.

It drives me nuts to see so many people posting questions that are downvoted because they aren’t perfect or unique enough, and there is often no explanation for the downvote. All the veterans just say, “Don’t take it personal – a downvote isn’t an attack,” but then it’s used like one, so these new people who just want some questions answered feel anonymously attacked. Every time I go back and try to help out, I end up feeling angry at the way everyone is treated.

I personally love helping newer developers and I have been attacked multiple times on SO for trying to do that. It’s why I usually do that kind of thing on Experts Exchange. It isn’t perfect, either (lower volume of questions and some confusing UI), but I feel like it’s usually supportive of that kind of situation. I’ve answered many thousands of questions over the years and many have been similar but they’re all different in some way and deserve a human touch in the response.

Favorite heart outline button1

 
 

Okay but it’s still not a wiki, no matter how much anyone wants it to be. SO and all the other StackEXCHANGE sites are presented as forums. Even the terminology (question and answers) reflects a Q&A forum, not a wiki. If you think about it, ALL of the knowledge that has been gathered so far is an answer in response to a question.

So saying, “I want this to be a wiki,” while retaining all of the indications that it isn’t… is it any wonder why people get frustrated?

To top it all off, the voting mechanism is blindly seen by a small handful as some quality control device but it’s implemented in a way that encourages inertial voting rather than quality control.

If an answer is downvoted once, it has a very good chance of getting more downvotes. Similarly, answers with several upvotes will get a lot more of them just by virtue of being the top answer, even if it’s a bad answer. One downvote by someone knowledgeable will quickly be overshadowed by four upvotes from people who just copy-and-pasted the top answer blindly and thought it worked.

So even though some people have big dreams about how they want the site to work, it’s ignorant of how it truly IS working.

Favorite heart outline button3

If an answer is downvoted once, it has a very good chance of getting more downvotes. Similarly, answers with several upvotes will get a lot more of them just by virtue of being the top answer, even if it’s a bad answer.

Indeed, I too have seen this. Mob mentality at its worst.

Favorite heart outline button1

 

We’ve rolled out recently private SO in my company and it’s been generally very well accepted. It proved itself useful in answering company specific questions. I think it is also perhaps down to that inside the company we have better control on overal culture of people?
But certainly there was similar patterns emerging – higher ranked colleagues tend to answer more questions, leaving less room for other colleagues to get points on answering. But then the question is, does it matter? In company the goal is to share knowledge, it doesn’t matter who has points or not. If the knowledge is shared that’s success.

Favorite heart outline button2

 

I just came across something, although I don’t know if it’s related to the issues this article discusses, or not. In any case, there’s a major cultural problem at StackOverflow.

SO Meta: I’m resigning as a Stack Overflow community elected moderator

SO Meta: Yet another “step down as moderator” post

SO Meta: What could Stack Exchange do to make moderaters who’ve recently resigned want to stay?

The moderators who have stepped down appear to have been part of the group pushing to solve some of the endemic issues I described.

Favorite heart outline button1

 

Jason, I particularly agree with your observation that the answers are getting less good. I’m not as embedded in the community as you, so I can’t speak to the reasons, but I now often have to scroll down to the third or fourth-ranked answer to find the “best” answer. I most often use StackOverflow to look up syntax… My workload has me coding less than 50% of my week in a wide array of languages and while I could write pseudocode to do everything I want, we know that doesn’t fly in the real world. So, I often know exactly what I’m looking for, I just need a syntax refresher and now, that answer is often buried under answers for previous versions of the language (Python 2.x vs 3.x), answers that answer the wrong question, overly simplified answers and worst, answers that don’t answer any question but instead ridicule the OP for not knowing the answer in the first place. I still use it, but it’s not the resource it used to be!

Favorite heart outline button1

 

An interesting reflexion.

The SO content becoming outdated is also a question wich hits me recently as I was landing in a row on several answers where the accepted solutions were provided with jQuery which in the meantime could actually be solved in “native” JS as the platforms evolved.

I don’t know how they are going to manage, this UX wise and generally speaking, but sounds like to me something Stackoverflow should be concerned of.

Favorite heart outline button1

 

You make a good point about the comments, I have been ROASTED by someone I am trying to help, only for me to find an answer after asking a couple of more questions.

Favorite heart outline button3

 

Thanks for sharing your opinion. I agree with most of the your points. about others, I don’t really know how it works.

Following the discussion in the comments, one thing that is clear is that SO must reinvent itself. The concept at the beginning was good, but the times have changed and some ideas are a bit old style, I guess.

I don’t like either the downvoting system, it’s just negative, it should be managed internally by moderators just in case the post is completely wrong, and warn the user who wrote it about the problem of the question/answer.

Also, the duplication is negative, as you or others have said, it’d be better to add a link or relationship with another question, and that’s all.

I also feel a bit frustrated when I’m going to answer something, I’m just sure someone’s going to do it faster than me because I’m the kind of person that thinks several times while writing, and tries to correct the post properly before clicking on the submit button :-). Anyway, in the end, personally I don’t mind too much, I sometimes let my answer there, or just discard and move on.

Of course a good advice to newcomers is to read all the answers to a question, and may be similar questions. Never do copy & paste, but try to understand what the code is doing.

Favorite heart outline button1

 

Aside from the moderation experience (I don’t have a sufficient score to moderate), this is entirely my SO experience too. The problem of questions going out of date is getting worse. I don’t think SO is going anywhere though, the reality for me is that one of the reasons I’ve asked so few questions is because you can usually find the answer. The problem, is that the answer is found within a wall of noise and aggression.

The scoring system is fundamentally flawed because someone who is a very experienced programmer, but has not answered many questions, and has a score of 1, 10, 15, might appear to be another newbie, while someone with a score of 12k might have just got in first answering one of the git commands question and now has an enormous reputation from pasting from the manual. Not to criticse the person answering, but it just means your score is completely meaningless.

Favorite heart outline button1

 

I’ve felt similarly for a few years now, but I also feel that there are a number of questions that are answered on StackOverflow. All in all I think they try to do good, but I think you are right a better thing needs to come around. I’ve often thought about how nice it would be to scrape the questions and answers from StackOverflow into a database that takes away all negativity and references just questions and answers.

The worst part has to be when you’re genuinely trying to help someone and a person with a little more “reputation” comes along and is incredibly negative even though the solution you provided is correct and in the right context. Often saying in some extent that while this answer is correct it is “not a one-liner” or uses an if-else instead of the ternary operator and the answer then gets pounded by reflection and the solution rewritten almost verbatim as a “refactored” statement that has a logical complexity that I’m not sure the beginner will always find helpful.

I also think that many (not all) in the community are not friendly, the shroud of slight anonymity giving them the power and courage to be a keyboard gangster and extra insults instead of quick educated responses. In one section of you are not a gadget Jaron revisits the early social media sites as places dominated by rage, aggression, and bullying because of the ability to not have ramifications or stigmas for anything said or done on the internet and I still think StackOverflow has some of that old internet culture.

Side note you can tell a lot by a developer based on how they use stack overflow. If you see a developer using stack overflow ask them to explain the code and what it is doing line by line. I’ve found many cases where I hear “I’m not sure” or “I would have to look it up”, while that is fine if it is the first time seeing the code, it is not fine that many of these end up in production environments.

Lanier, Jaron. You Are Not a Gadget : A Manifesto. 1st ed., Alfred A. Knopf, 2010.

Favorite heart outline button1

 

It seems like, it’s you who wanted to type a hyped out article and get popularity, you owe me 20 minutes of life, your article is funny as exaggerated grotesque, nothing else.

You got 4k points it’s pretty much if you want to be the first, you should have luck if you one to be as “bill gates” you have to be first everywhere, first man on the moon is only one, but it’s not about having most points, but knowledge sharing, you seem to push too hard to get reputation. Otherwise why to even care that a few people have a lot of artificial points? Those are not money, they don’t exploit people, few have gigantic points but millions of users harvest knowledge advantage, you might envy about life is not fair thinking of Taylor Swift earning much more than any scientist will ever see, just swallow it.

I don’t agree, you would be harshly surprised, how many questions are not replied there, I have about dozens in my todo list. If you think of popular questions, then you are right, probably many are already replied like popular domain names or emails, what did you expect really? How to perform echo replied in the year 2180?

My questions are never duplicated, answers are many but comments are rarely a different solution to an incomplete one, one has to check the other answers.

There are too many questions in computer science properly done or clearly discussed.

Maybe it’s even partially like that, but if you plan to do it like that, you are partially or completely wrong. Many times it’s not that their answer is wrong, but from a different angle or different context, or the most frequently used.

Favorite heart outline button

 

You’re absolutely right with what has happened with the Stackoverflow community. I still use it as a last, desperate last resort instead of relying on it as a reliable resource for information. Google does a pretty good job of indexing Stackoverflow, but I have to pay special attention to the date of the responses.

Favorite heart outline button

 

Ciro Santilli wrote something similar 2 years ago.

github.com/cirosantilli/write-free…

Favorite heart outline button2

 

Finally someone with guts to talk about this.
One day I asked a technical JS question, and it got a lot of downvotes because of the website UX! Not one response about the JS code.

Favorite heart outline button2

 

Great, great, great article. Thanks. Great suggestions as well.

I expressed some similar sentiments here:

codingindelphi.com/blog/in-which-i…

Favorite heart outline button1

Classic DEV Post from Jan 8

Jenn’s Guide to Thriving in Tech

General tips for those in tech careers.

Jenn profile image

+ FOLLOW

Jason C. McDonald profile image

Author | Hacker | Speaker | Time Lord
+ FOLLOW

Don’t ghost on us ❤️

Sign Up

Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: