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!

Oldest comments (67)

Collapse
 
fkhan698 profile image
Faizan Khan

Discord is what I've used for the last few months. Also the FreeCodeCamp forum is great

Collapse
 
facundocorradini profile image
Facundo Corradini

So true! FreeCodeCamp is a very welcoming community and their forum is awesome :)

Discord is a great tool for the quick questions too, but the quality and behaviour will depend on the particular community behind the given Discord server / channel

Collapse
 
akashkava profile image
Akash Kava

I stopped using StackOverflow just because of -ve votes on absolutely correct accepted answers.

One more point, as versions of the product change, past questions/answers are no longer exact duplicates but some people just close the question just because as per SEO it is exact duplicate of old question.

Collapse
 
facundocorradini profile image
Facundo Corradini

True. Furthermore, and combining both your points, if you have an accepted answer and it becomes outdated overtime, you'll start receiving downvotes from people that want to mark it as outdated...

The system should allow to mark an issue as outdated, reopen the question for new answers, and show a clearly marked section with the archived answers. But no, let's punish the author for not keeping their hundreds of answers up-to-date...

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

This has bee discussed on SO meta and the (I believe official) answer was along the lines of "not happening, because some people use old software and old answers might still be relevant to them".

Personally, I think adding version information to both questions and answers would help here.

Collapse
 
akashkava profile image
Akash Kava

I had once down vote on confirmed bug, Question was regarding unexpected behavior in .Net Framework, I looked at source code, I reported the bug to MS team, they even acknowledge the bug !! And I wrote in answer specifying link of bug report, still down vote !! I lost interest in answering anything on Stack Overflow.

Collapse
 
karoldepka profile image
Karol Depka Pradzinski • Edited

Perhaps a solution would be a parent-child (tree or just 2-levels) relation for questions. E.g. general-case -> special-case refinement.
E.g. for older JS, modern JS, etc.

Collapse
 
karoldepka profile image
Karol Depka Pradzinski

Hi.
Nice analysis :).

I think it's about the use-case. The purpose of SO is probably being "The" question&answer resource, with emphasis on correctness and efficiency. Which is different from being a touchy-feely, feel-good place (for which I imagine there are other places). That said, I also am not fan of a*-holes, d*cks, toxicity and faux elitists who mistake means with ends.

"Removing downvoting for good" - I understand Your concerns about downvoting, but I think there is a big use for it - preventing people from grabbing wrong/dangerous code from SO. I mean downvoting answers. Maybe a comment should be required for downvote.

"Putting a limit on the number of daily answers per user" - I don't see any value in this. Sounds like an unnecessary limit. I hear republicans screaming «Get the "government" out of my daily postings, you commies.»

Other stuff I find suboptimal in SO:

  • comments are not threaded, which leads to hard-to-follow conversations
  • comments are single-line (hard to put/read code)

Elitism (within reason) has its benefits: more good stuff bubbles to the top, preventing us from having to wade through bad answers or risking to use wrong/bad/dangerous code.

WDYT?
Let's chat.
(Angular, JS, TS dev here)

Collapse
 
karoldepka profile image
Karol Depka Pradzinski

Maybe let's make some petitions and/or support/feature requests for each of those items (I suggest separating the concerns).

Collapse
 
codemouse92 profile image
Jason C. McDonald

Most of them have been floated multiple times...some of them by me...and all of them were knocked down.

StackOverflow is toxic, and from meta conversations I've personally been party to, that's the way the elite like it. And the elite call the shots.

Thread Thread
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Would you mind linking to some of those threads? I'd like to hear the other side as well on this.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald • Edited

You, sir, have already demonstrated yourself to not be not worth the effort. If you really cared to understand the problems, you would have applied yourself to understand them instead of microparsing the concerns of people whose experiences don't match your desired outcomes.

So, although it's a foreign tongue to me, I'll explain it to you in StackOverflowese, which you might find easier to understand: LMGTFY.

Thread Thread
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Thanks for trying, but I haven't found anything on google that underlines your point. As I said, my experience with Stack Overflow is overwhelmingly positive, which is why I'm asking for specific examples in the first place. If that's more work than you're willing to invest, that's fine, but please don't expect me to change my opinion based on one persons accusations.

Collapse
 
facundocorradini profile image
Facundo Corradini • Edited

You can still select the best answers with upvoting alone, letting the good ones rise to the top. That's the reason Twitter, Facebook, DEV and most other systems rely only in positive reinforcement. Everyone is susceptible to negative emotion in varying degrees (it's one of the big 5 personality traits), so it may not be a big deal for you, but it can be crushing for others. But it's not just about a sense of welcoming and feel good place: the lack of negative reinforcement also encourages to write a reply or an alternate answer if you disagree, which should result in constructive exchange of ideas.

Limiting the number of answers is to prevent addiction. Even casinos will kick you out if you spend the whole day in there (at least, in most countries). SO is not doing that, but the exact opposite. It has a reward system in place that very deliberately encourages addiction.

Without getting into names, I can guarantee that for each tag there are three guys there that will race to answer every single question in the fastest way possible. No matter at what time you post the question, they are literally 24/7 overwatching the tag and running the ridiculous editing cycle I described above, desperately trying to get their +20. That's not sane. And they've been hooked on it for years.
One thing is to spend some of your time helping the community, but when it becomes your full-time occupation with zero compensation and prevents you from getting an actual job, it becomes a dangerous addiction and even a form of modern slavery.

Simply putting a limit of answers per day (in a thankful, considerate message) will provide a safety net for those users, while letting others participate in the game. It will only benefit the quality of answers by broadening the actors.

Collapse
 
lucasscharf profile image
Aleatório

But, if they are addicted, how it will prevent them to make fake accounts to continue in the game?

Thread Thread
 
facundocorradini profile image
Facundo Corradini

Hi! that's a very good point. I'd tend to believe that making a new account won't do it for them as it'd be hard to see that 10 initial reputation, but some may go with it anyway and even find joy in receiving the initial rush of badges too. Guess some effort could be put in preventing that as well.

Honestly I raised that point from my personal experience. I spent about 8 months being an active user on the website, and I was one of those overwatching a tag an racing to get the accepted mark. I got out after I realised it was affecting my personal and professional life. But some of the people I was competing with are still doing it, 2 years later. Their system is very fine tuned to generate addiction.

Collapse
 
ianturton profile image
Ian Turton

You aren't supposed to have conversations in the comments section or post code in them. They are to allow you to ask a quick clarifying question - if you want to chat use the chat rooms.

Collapse
 
rolfstreefkerk profile image
Rolf Streefkerk

Exactly my thought, I don't even bother registering because I see the behavior in the answers. It's still a good resource, but I'll never participate.

Collapse
 
sheriffderek profile image
sheriffderek • Edited

People use StackOverflow the wrong way - and then they don't like the result.

It's not the platform's fault.

Most questions like "Help it doesn't work... " - are better asked to a friend.

Then - once you know how to formulate a question - you can ask in the right place. For example, need help with Cascading Style Sheets? Then ask in the Discord. Need help with an NPM package or git repo? Ask in the github. There are many places to ask questions - but each place has its own style.

StackOverflow's system works perfectly for what it is for. Are there jerks there? Yes. But they are everywhere. I've spent thousands of hours helping people on there - and it made me a much better developer.

If you use the wrong tool - and it doesn't get the job done - it's not the tool's fault. It's not just a free helpline. It's a way to distill commonly asked questions into a set of best answers.

People want to have their problems solved - but often they don't want to actually learn it. I have clearly explained and written out CodePens and basically given hours of tutoring and mentorship out to thousands of people - and maybe 1% of them actually learn from it. Sometimes I'll spend an hour - and then when the person gets the answer they are embarrassed and so they just delete the question - and now no one will benefit.

Trust me - I'm not in it for the points. I answer the bad questions just to help people learn how to break apart problems and ask good questions - but they often get closed - or no one upvotes them - because they aren't really going to be useful to someone else because they are too specific or aren't real questions - and more like "I don't know JavaScript - why doesn't it work" or really 7 questions in one.

You'll have to provide some examples / and I'm pretty sure they'll prove the point.

Collapse
 
sheriffderek profile image
sheriffderek • Edited

and also - don't forget there are many many stack exchanges: codereview.stackexchange.com - and not just for code stuff.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

I'm glad you're in the happy minority of SO users that have had a predominantly positive experience. (Most of that is because you're on the Javascript tags, which has been observed to be considerably less representative of the behavioral toxic waste dump the rest of the site is.) I've been on StackOverflow for years, served as a volunteer reviewer for some time, and have decent reputation...but I quit for all the reasons described in the post, mainly observing those realities in terms of other users.

If a platform encourages particular behavior, and does not properly address it, it is absolutely the platform's fault. DEV isn't toxic because DEV does not allow itself to become toxic. To shrug it off and say, "aw, that's just a few bad actors" is how we've tolerated toxicity for decades in this industry.

Collapse
 
sheriffderek profile image
sheriffderek • Edited

I would argue that while SO and Dev both have the same "generate content + get eyes + sell ads" business plan, but that they have very different goals for what content is created.

I understand how you feel. I just wanted to offer another viewpoint. I would be 1/10th of the developer if people hadn't pushed me really hard on StackOverflow. It was often very upsetting. It's certainly a dance.

I think dev could use a little bit of a "this isn't good enough" mentality. How will anyone become better writers with no critique? I'm wondering if that's what codenewbie seeks to do and split the dev community up into 'beginner' and 'advanced?

I'd still like to see an example question where people were treating you badly. That would help people understand and hopefully learn from it.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald • Edited

I'd still like to see an example question where people were treating you badly. That would help people understand and hopefully learn from it.

(1) I don't make a habit of storing up toxic content, (2) most of the toxic behavior was aimed at others, not me, as I already said, and (3) the burden of proof of toxic behavior is not on the victim when it is this widespread.

I would be 1/10th of the developer if people hadn't pushed me really hard on StackOverflow. It was often very upsetting. It's certainly a dance.

And by the way, I understand all about being pushed to be a better developer. The #python Freenode IRC channel did that for me. But they were polite and constructive except for the odd incident (which was always resolved appropriately), whereas StackOverflow tends not to be, especially when revenge-fueled downvotes are preserved.

Speaking as a mentor and community manager, good constructive "pushing" should not be upsetting as a rule, and it should never make you feel stupid for showing up. Getting downvoted into oblivion does tear people down.

What's further, the community has always roundly rejected all proposals to require some (anonymous, even) feedback option to be select to accompany the downvote. The justification? "I should be allowed to vote however I want, whyever I want, without accountability." I dare you to look up the conversations on Meta about downvoting. It's a cesspool of toxic attitudes.

A downvote is never constructive. A comment can be. It's the difference between saying "you should do X differently" (what I always got in #python) and saying "you/your content sucks" (what a downvote says).

I think dev could use a little bit of a "this isn't good enough" mentality. How will anyone become better writers with no critique?

Perhaps. As a published author with over two decades professional experience in the writing field, I know the value of critique. But one also has to be careful. In professional writing circles, helpful critique always occurs in a context of trust. The anonymity of the internet makes it unsafe by default, and ripe ground for toxicity.

Thread Thread
 
sheriffderek profile image
sheriffderek

I think you've nailed it. StackOverflow isn't a good place for you.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald

I wouldn't call it a healthy place for anyone overall. Tolerating toxicity gets under one's skin after a while.

Thread Thread
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

I wouldn't call it a healthy place for anyone overall.

Disproven. There exists at least one user for whom SO is a healthy place.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald

Well, toxic behavior is usually considered safe by people who commit it, so, yeah, fair point.

Thread Thread
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

So I'm saying I don't experience almost any toxicity on stack-overflow, and your answer is that I just don't know toxicity when I see it?

Collapse
 
sheriffderek profile image
sheriffderek

Just for fun, I was keeping some SO examples for the section of my class where we talk about navigating toxic areas. But there are many kinds of toxic too. Like this question: Make div go under in flex container. That's not going to help anyone... and as you can see, the OP - who was begging for attention to it, hasn't even checked the answers. All those people spent time to try and help - and that probably makes them feel bad. I'm used to it.

Here's a question that I think shows the positive side or SO: How to create a JavaScript array containing 1-n. To me, this shows many many different takes. It's debatable what is best - but the debate is what you can learn from.

I just wish there was better education to start with. They don't tell doctors:

"If you can learn it by yourself... then maybe we'll hire you - but don't let anyone know you're new - or we'll know your weak... so - just prove you're the best somehow / by reading books / and only "free" materials - and we'll let you operate on people..."

Reddit seems about 20x worse to me.

Just had to add a few more thoughts before I scamper off.

Collapse
 
whippingdot profile image
Sanjaay R.

I personally use Repl.it's talk part of their website to ask questions. The community is very helpful. You will get an answer pretty quickly, like in an hour, or in a few minutes. There is also no downvoting, and no-one really flags questions there. Flagging is mostly for shared projects when they are a low effort project, or something else. One thing to note is that the community now days only listen to the people with a lot of cycles, which is not a good thing. Some people even left the website because of that, but I think it isn't such a big problem, and if people are notified that cycles aren't the only thing in life, they will stop upvoting every post by a famous person. I also think DEV.to would be a good place to ask questions, but I personally do not really use it for that.

Collapse
 
sebbdk profile image
Sebastian Vargr • Edited

I agree toxic behavior does go on on stack overflow.

But...

It's not your questions on Stack, or your answer, it's our answer & our question.

It also belongs to the people making sure we do not have to peer over 20 similar questions to find our answer, like it used to be a decade ago.

And it belongs to the people that update the answers to make sense in todays context for that question that was asked 5 years ago where the answer changed.

That unfortunately means it belongs to the toxic people out there too.

I think the best recourse here is to help those suckers acting toxic, they clearly forgot about the fact that they are supposed to be there to help people at some point.

Update, what I mean to say, let's embrace toxic behavior with empathy to fix it rather than ignore/disable it.

Collapse
 
facundocorradini profile image
Facundo Corradini

Hi Sebastian,

Believe me, I've tried. But at this point I think it would be like shouting "be nice" right in the middle of The Hunger Games. It's the system what creates the bad behaviour, and no amount of well-intended words will change that.

Collapse
 
sebbdk profile image
Sebastian Vargr • Edited

In my experience toxic behavior most often rears it head unintentionally, bad language, and thoughtless argumentation feeds confrontation, the cure is knowledge, empathy, and patience.

If we prevent' toxic behavior it will find it's way back eventually.
If we call it out, they will become defensive and try to retaliate.

If we teach one toxic person to be a better person, he might rub off on another and so on tho.
That takes a lot of time & empathy tho.

I think if we judge toxic behavior, we also need to judge our selves.
We might unintentially' be feeding the toxic behavior, by trying to "be nice".

Collapse
 
lathifahdhiya profile image
Lathifahdhiya

I usually only use Stackoverflow just for quick answers so I never really care about votes. Even if the answer downvoted a lot, as long as it's a good answer I'll use their solution.

Collapse
 
bytemaestro profile image
Reid

Have an issue for long enough that your not solving, usually from proprietary software/services which you do not have the code, and will cost you big bucks, or a wait, and you will take a peek.. until something better than CRACK-Overflow... I mean STACK-Overflow , comes along! :)

Collapse
 
bytemaestro profile image
Reid

Get stuck on an issue long enough when using some proprietary software/service that you do not have the code to, or cost big bucks, and you will take a peek at CRACK-Overflow.. Meant STACK-Overflow... Really the best thing out there so far? Plans? Plans?
:)

Collapse
 
realtoughcandy profile image
RealToughCandy.io

Interesting perspective. I enjoyed reading others' opinions as well.

Collapse
 
yellow1912 profile image
yellow1912 • Edited

I use stack overflow alot, it's very useful for any developer. Tons of very helpful people on it. That said, everytime I wants to ask something there I always have to be extra careful to avoid triggering someone. On one hand, u think it's good because it encourages users to do more proper research before asking. On another hand though, it's like your parent or teachers yell at you because you ask "stupid" questions. It discourages people in their search for knowledge.

I don't really know how to fix it, but I think with the advance of AI it should be possible for some kind of pre filter, pre tag questions? Humans are emotional and judgmental. We should not trust ourselves to judge people. Let the machines do that.

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.

Collapse
 
codemouse92 profile image
Jason C. McDonald

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

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