DEV Community

Cover image for Why I don't use Stack Overflow
Facundo Corradini
Facundo Corradini

Posted on

Why I don't use Stack Overflow

Google any question you ever have about programming and the first results will probably be from Stack Overflow, with great answers from outstanding developers inside. Thousands if not millions of devs use it every day to get unstuck and fix that weird bug, which makes it an invaluable resource that most devs wouldn't even imagine how to live without.

But if you ever dare to ask or answer a question, you'll find yourself engaged in an unbelievably toxic environment wondering how such a monster could have ever grown so massive.

Here's my assessment of why this happens, what they could do to fix it, why I believe we shouldn't just go along with it, and what alternatives we could use instead.

It prioritizes search engines over user experience

It's fairly clear that the dominant position in Google's search results is a key to their success, which can be frustrating as you'd usually get old results that perpetuate bad or deprecated practices. But that's just a quality issue, the real problem is the behavioural ones they create in order to get there.

For instance, duplicate content was one of the big no-nos of early search engine optimization. Stack Overflow therefore puts a giant effort on avoiding duplicate questions, with a built-in search that suggest duplicates as soon as you start writing your question (which is great) and incentives their users to mark questions as duplicates (which is not).

At this point, any new user that dares to make a question bellow the level that'd make the language creator go "uh, guess we should spend the entire next month looking at that" will face a wave of duplicate question flags, low-quality marks, and downvotes, which will ironically get the account below the minimal score required for posting questions and result in it getting functionally blocked. Forever.

Let's think about that for a sec. You, as a newbie, ask a question that seems reasonable to you. Instead of getting answers, you get functionally blocked from using the website until you gain score, which you can only do by answering questions, which you don't have the knowledge to.

Doesn't that seem like a vicious circle?

Furthermore, if you are a stablished developer and decide to give back to the community by trying to answer some questions at SO, you won't fare any easier. Dare to answer what other considers a low-quality question and you'll get downvotes. Dare to answer a great-quality question with a great-quality answer and you'll... still get downvotes, because...

Its all about being the dominant elite

People with a bazillion points will gladly get a -1 from downvoting someone else's answer just to improve the chances of their own's from being marked as the accepted one. Really. There are people out there downvoting every other answer they deem as a threat to their dominant position in the ridiculous hierarchy of meaningless score.

They'll downvote, flag, name-call, and reply in the most condescending ways. They'll abuse you out in every possible way just to keep being in the top 1% overall, to gain reputation score for the next privilege (yup, that's their term) or to claim their next badge, many of which are awarded from being a toxic %#$&!

There are badges for reaching a number of raised flags (which results in people flagging everything), for reaching a number of edits (which results in people editing everything), for deleting your own post with negative score (and that's literally called peer pressure... seriously, I couldn't make this up) and for visiting the site without skipping a single day. Ever. Which leads me to...

It relies on addictive behaviour

The rewards system is incredibly fine tuned to keep users engaged, and seems designed by an evil psychologist or a master game designer (is there any difference between both? :p)

If you make it past the initial backlash of negativity and toxic behaviour, you'll find yourself bombarded by small dopamine rushes from raising scores and badges acquisition every time you answer a question or reach a milestone.

The issue is that it goes way too far, with each tag having three or four people literally addicted to it. I'm talking about well-intended, incredibly knowledgeable people that spend every waking hour overwatching a tag, racing to be the first to answer every new question and have their dose of +10s to survive the day.

They've developed strategies for it too: normally they'll answer the question in the shortest possible way to be the very first and get their question marked as accepted in case the author was watching, then immediately edit it for clarity in case that they were looking for a better one, and finally another edit formatting it to be the prettier and get attention whether is was the one marked as accepted or not.

These people are pretty much creating 99% of SO's content. They are working their souls off for the company, without receiving any real compensation, and spending so much of their time on the site that they probably can't even hold an actual job, despite being outstanding devs. And don't even get me started on how they treat their (also unpaid) moderators...

How could they fix it

I'm not one to make complaints without pitching a solution, so hear me out... the issues behind SO's toxicity shouldn't be too hard to be worked on.

  • Removing downvoting for good. Really, there's no benefit for it. If you think something shouldn't be on the site, flag it as such. But downvoting is hurtful. Our minds tend to weigh a negative feedback far heavier than a bunch of positive ones. Even if the downvote means -2 score and the upvote +10, most people will perceive an overall negative experience from getting one or two downs in a sea of ups. And that sucks.

  • Putting a limit on the number of daily answers per user. This will prevent addictive behaviour and give upcoming devs a chance to compete with the ones dominating a topic. And I mean compete in the most loose of meanings, as it will also lessen the hierarchical aspect.

  • Reworking the way questions from new users are handled. Seriously, it seems absurd that trying to ask a sincere question unequivocally results in your account being practically banned. Make a sandbox for new users, improve your duplicate question search system, separate the spam from the well intended newbies.

  • Remove policing incentives. Flagging a question should be a last resort, not an encouraged behaviour.

I've seen them speak a lot about trying to fix the toxicity in the recent years, with a new code of conduct every other month and positive articles everywhere, but no changes to the system itself.

Either they're unaware of their system being the issue, or knowingly taking advantage of it while putting down some nice words to wash their guilt away. Considering how masterful their psychological tricks are, I have a hard time believing it's the former. Therefore...

We shouldn't just go along with it

Yup, it's comfortable to pick the first result at Google, and that's usually Stack Overflow. But by doing so, we're enabling and contributing to this behaviour.

That's why I choose not to use Stack Overflow, and why I believe it would be better for everyone, even themselves, if more people did the same.

Not only have I stopped answering questions there, I do my best to avoid getting any trafic into the site. I deliberately avoid clicking in their search results (and I use DuckDuckGo that luckily doesn't seem to be so addicted to SO as Google to begin with), which usually makes for better solutions anyway, cause...

It's probably holding you back as a developer

Sure, there's a place and a time for simple questions / answers. SO-driven development is a term we like to joke about. It's a quick solution that will get you unstuck. But there are better alternatives that will rocket your carrer forward:

  • Ask in a more productive, welcoming online community such as DEV.to. The very nature of DEV's system incentives good behaviour, but they really make an effort to get it to the next level, and it shows. Everywhere I look, there's a little detail helping to build a positive community.
    But there are all sorts of tools for questions out there. GitHub issues themselves can be a great place to learn (sure, some projects are not as welcoming as others, but GitHub at least has a guide to build a good CoC). Even Twitter has less toxicity than SO, and that's saying something.

  • Try browsing through the documentation. It can be more troublesome or even frustrating at times, but it'll help you truly understand the language / tool. It will give you super powers.

  • Reach out to your local communities. They'll be glad to assist and will help you build the connections, which at the end of the day is the best way to get great job opportunities, participate in meetups, even start your path as a speaker or author.

As you can see, going with alternatives will not only help you fix that particular bug or guide you through a how-to process, it will do so in a much more positive vibe and help you boost your career with knowledge and connections you wouldn't get otherwise.

And if you're in a position to share knowledge and answer questions, please don't do it on SO. A personal blog, DEV, twitter, anything else is a better platform. Which reminds me, I regularly blog about web development, mostly CSS stuff, and share the links at my twitter, so you can follow me if those topics are of your interest ;)

Let’s build a better web together!

Latest comments (67)

Collapse
 
generalpy profile image
Prakash Yogi

I agree with you. When I was beginning with Django dev, I used to ask a lot of questions on Stack overflow but I got banned in just 15 days because questions were not according to their guidelines. Then after ban was lifted I tried asking more questions but this time I analysed highly upvoted questions and researched on my topic before asking my question, but again ky questions were downvoted for no reason. Users must provide why they are down voting a question.

Collapse
 
proxcentaur profile image
Proxima

Thanks, I come to this page because I just got a downvote for answering a question on SO :)

Collapse
 
facundocorradini profile image
Facundo Corradini

Welcome to Dev, Septia! I'm sure you'll find a far more positive community here :)

Collapse
 
chancethehacker profile image
Chance The Hacker

I only asked a question on Stack Overflow once and it was not an enjoyable experience. Same thing with answering a question. I don't need all that drama in my life.

Collapse
 
rishitkhandelwal profile image
Rishit Khandelwal

It took me 3 tries to get into rust (I am a big fan of it now). Whatever I tried to do was not exactly abundant on SO, so I have eventually went back to the docs and understood it properly. I never overlook the docs.

Collapse
 
rexthony profile image
Rex Anthony • Edited

Just because one comes across the answer to a question on stackoverflow, does not mean one should use it. It is important to understand how the solution works and whether it addresses your problem.

Collapse
 
190245 profile image
Dave

In response to this article, I logged into SO to check my account:

  • reputation 581, "top 52%" - that probably classifies me an "average user" or as I like to think about it, I'm in the bottom 48%
  • I've asked exactly zero questions
  • I've answered 38, and have the "accepted" answer on 5 of those
  • Checking "all actions" - my last activity was July 2020.

You blacklist it, I'll continue using it, despite all the jerks that like to downvote things.

I'll also continue using Google to search for things, and reading things on SO, and making informed choices. But that's just me.

Collapse
 
ianturton profile image
Ian Turton

Not using SO is of course your choice, but I think you are missing out.

I use SO a lot and am a moderator on gis.stackexchange.com and I don't see the toxicity that you talk about but may be that's because I don't look at javascript or .net or other "popular" tags. But I do see a lot of "rude" people who take my help and can't even be bothered to upvote my answer (see unsung hero gold badge Zero score accepted answers: more than 10 and 25% of total. stackoverflow.com/help/badges/226/...) - but it still find it useful to answer the questions. It helps me understand what people are using my library to do and what isn't clear in the documentation.

Collapse
 
codemouse92 profile image
Jason C. McDonald

Well...I have to say, some of the rebuttal comments in this thread did a marvelous job of proving Facundo's points! The problems exist on StackOverflow because the system is inherently prone to abuse, the elite like it that way, and there are plenty of people who will gladly sip coffee in a burning building rather than call out the obvious.

P.S. Just a reminder, Facundo, as the author, you CAN hide comments. And you might want to seriously consider it with some of the vitriol in the comments section.

Collapse
 
gregiven profile image
GregIven

Great write up, and I totally agree, I've been using it less and less over the years. Its a victim of its own success and a monopolization of the community. They dare not tinker with their golden goose formula to make it even better. The SO junkies will create a storm!

Joking aside. They could easily implement a git style merge system for duplicates, whereby people get pts for helping merge topics... because the biggest difference between duplicates usually comes down to wording or similar problems. 99 questions with typeError in title but 50% of them are duplicates.

And then there is the problem where it's hard to discuss the problem to formulate the best title or find the right way to pose the question to get your answer.

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

I agree that properly merging questions would be a cool feature, but the way it currently works is a good enough solution for me. A duplicate question gets closed (usually before it gets many answers) and SO automatically adds a link to where it's already been answered. The duplicate then won't get any more attention (and why should it), and OP can just click the link to see the other question (which presumably already has a bunch of good answers).

The only obvious problem is when questions are closed as duplicates when they really aren't, but that's often based on the question being misunderstood (which can also be due to poor wording) and only rarely because the person flagging just wasn't competent enough to fully understand the nuances of the question.

Collapse
 
seanthegreat profile image
Sean Antony Brunton

I find the platform rather toxic, I will still use it though, won't engage in it. Don't like to be spoon fed. Stackoverflow most definately has some kind of loop hole, where toxicity is exploited to the max. Remind me of "Internet Research Groups" from Russia. It's the same kind of vibe. I did have bad experience with it as a noobie and beginner, that's what is so unappealing about it to me. There are plenty of other forums that have more dignity for a lack of a better word. I'll use the general concensus of Stackoverflow, but I won't rely on it, I have never have. Stackoverflow almost doesn't allow noobies to be stupid and make mistakes, and ultimately learn the right way. Despite what they advocate. I think it may be a bit outdated as a web technonology. Starting to become flawed in its princeples. The days of IRC bullying and stupid trolling is lame. You have better effect on social media. In fact the engine Facebook uses is perfect for noobies to learn coding. It's far more interactive and sccunct in its cause. Also just make a Telegram bot to find you all sorts of content to help you learn to code. The forum environment is for dinosaur programmers. It will soon be redundant when today's noobies are using far more dynamical and more effective educational platforms. So yes I did use it wrong, but I didn't need to feel like a retard because I did. Because in my mind and from my experience Stackoverflow is pretty toxic, it's like being in debating room of theoritical physists. Everyone is right. The chances of your question getting answered (as a beginner) is very slim. So why would a noobie want to use something that makes him or her feel like shit, plus can't give them answers? I personally think the dinosaurs can keep the Stackoverflow just the way they like it. No problem, I use stackoverflow to pick the brains of the wise , and use as more of reference with Google search kinda thing. For me stackoverflow has done nothing.. Maybe the odd snippet of code here and there, otherwise I personally find it too impractical, because it is too broad. Me personally.. If stackoverflow helped you pass your exams, I dont see you as an imaginative programmer. Just a mundane worker. Working smart is always better than working hard. Always. Especially in fields of engineering. HaPPy HaCkiNg kids! 🤘🏻🔥

Collapse
 
christiankozalla profile image
Christian Kozalla

Occasionally, doing proper research on a topic I need help with, just to create a detailed question on SO has solved my problem before receiving any answers. So I think it's good, that you can't just write I don't understand xy but do some research and try to describe the code / problem / goals in detail.

But I also like people to post questions here on DEV to be in a caring, supportive community! 👍

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

SO and DEV seem to have different goals and communities, so that makes perfect sense. Personally, I prefer stack-overflow for specific questions, which is what I tend to deal with, but it's also nice to see that there's DEV as a place to post more open-ended questions that can lead to discussions. SO pretty clearly doesn't want to become that kind of platform and I think the important thing is to just accept that. It's not for everyone, but if it was just like DEV, we'd just end up with two platforms filling the same niche and splitting the community.

Collapse
 
mrnaif2018 profile image
MrNaif2018

I use stackoverflow regularly, but I don't see any problems in it as I am not registered there. Any question or bug I am googling, I check all possible answers finding the best one, and sometimes it's not stackoverflow. I see no point in asking questions as, either the question has already been answered (99.99% of the time) or the question is around some new technology, so I either search through it's docs, it's source code, it's related communities or just try to figure it out myself.
So I like stackoverflow a lot as the biggest ever knowledgebase, but not as a community to ask a question.

 
codemouse92 profile image
Jason C. McDonald • Edited

Well, you're entitled to your opinion. Just don't put more weight into it than that. I've too put in that work — and actually, I have the badges and reputation to prove I know "how to use StackOverflow". That doesn't make me a better person. I've just played the stupid game long enough to be good at it, and then learned it was a total waste of effort to stay in that club.

I also don't believe in blaming the victim in matters of online toxicity, which is what your statements (unintentionally, I believe) do.

For every happy person I've spoken to, I've encountered dozens who have given up on StackOverflow, and have ultimately found better community elsewhere. And they found it. I don't have statistics...I just have years and years of using the platform, including as a flag reviewer for an hour+ a day for over a year, and working as a community manager and mentor around the tech world.

If you want a number, look at the number of "top posters" on StackOverflow compared with the number of people who tried joining the community. It's disgustingly low. It was significant enough for StackOverflow's governance to revise the code of conduct TWICE! And no, you cannot just blame the users as being lazy, as is StackOverflow's favorite shutdown — a la "duplicate question, not enough effort, not interesting, not useful" — since many are successful joining less toxic communities like DEV, and even IRC. Yes, there are some lazy users, but many many more just don't know the secret handshakes.

What you have with StackOverflow is an exclusive club of people who have figured out the secret password past the armed gatekeepers. It's not a badge of honor.

P.S. StackOverflow isn't even that good for information. In writing my Python book, I lost count of the number of times that StackOverflow's highest voted and accepted answers were actually wrong. Not even just out of date. Actually wrong.

Thread Thread
 
facundocorradini profile image
Facundo Corradini • Edited

Hi grunk and derek,

There's certainly people raising bad questions without doing their research first. I realise my wording may make it seem that I'm complaining about how they treat people that ask objectively bad quality questions. That's an issue, but what I want to address is a way deeper, systemic abuse

This is not an angry reaction to a downvote from my first question. I participated in their game for about eight months, did everything I could to lead by example, answered 200 questions, asked 1 question that received good feedback, got into "the top 0.01%" and collected all those pretty badges and points. I understand how it works.

In all honesty, I got out when I realised it was affecting my professioanl and personal life . I thought I was being an icon of helpfulness. In reality, I was participating in the sick game of edits I described above.

The very first person to reply to my tweet was one of the devs I was competing with all the time. #1 contributor in the [css] tag, former moderator, and a great guy that always tried to lead by example. He stayed in the site for far longer, but ultimately reached the same conclusion: it's the system what generates the bad habits.

Collapse
 
codemouse92 profile image
Jason C. McDonald

I quit StackOverflow a couple of years ago for these reasons exactly.

Collapse
 
corentinbettiol profile image
Corentin Bettiol

I don't found all you said on my personal stackoverflow workflow.

Maybe because I use Django instead of javascript, and therefore that less people = less angry & bad people = less angry & bad people on stackoverflow ?

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Considering how the one answer where I got a negative rating was on a question involving the python tag, my image of the python community is that they're quick to become toxic when confronted with something that just isn't python. This is also the impression I tend to get overall on the internet. I'd say one of the most pleasant communities is Ruby, at least from what I've seen.

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