There are a few different reasons that people perceive Stack Overflow - and, to a lesser extent, the other Stack Exchange sites - as toxic. Let's get into a few of them.
The most major reason, in my opinion, is this one:
- Barrier to participation and learning curve
There is a really steep learning curve for the site. Stack Overflow is, objectively, really different from most sites on the internet. We don't take subjective questions. We don't allow open-ended requests. We don't allow polls. We don't even allow posts about computers that aren't directly programming.
If you arrive from Reddit or Quora, you're going to encounter a massive culture shock. It's just so different in what's acceptable here.
So when someone arrives, and they post something that would be acceptable anywhere else on the internet, and within ten minutes they've been downvoted twelve times, had their question closed so that nobody can answer, and had three comments telling them that their question wasn't acceptable... that's frustrating, to say the least.
It takes a bit to learn how to properly ask a question on SO - and to learn when a question would fit better on SU or SF, for example. In the interim, you get slammed with downvotes and closures and comments. It's easy to feel attacked.
That leads to the next point:
Moderation on SO is often quick. BAM, question closed. BAM, stock comment posted telling you your question is too broad. BAM, twelve downvotes. It can happen in less than ten minutes.
And when that happens, and people get frustrated, sometimes they start responding. They're annoyed, so their responses can get heated. And while, for instance, swearing is acceptable on other sites, here it can earn you a suspension really fast. So not only are you desperate for an answer, your question has just been closed and downvoted, you've been left with a brusque comment, you're now also suspended for expressing your frustration.
We like to pretend that we have a handle on rude comments. Someone posts a rude comment - it's quickly flagged and deleted. But often, that's too late: the person who the comment was directed at has often already read it.
And yes, there are a lot of rude and brusque comments on SO. I've seen it - someone asks a question that needs work, and someone with absolutely zero tact and subtlety leaves a comment essentially yelling at them. It's more common than we like to think about.
- Aggressive duplicate closure
Personal story time! When I first joined the network, my second-ever question on the network, posted November 22, 2014, on Science Fiction & Fantasy, was Why can't Harry see the Thestrals before seeing Cedric die? It was closed 67 minutes after I asked it as a duplicate of a question that wasn't the same question I asked at all.
Now, the answer to the question I had asked was contained in the answers to the other question, but still - I was annoyed. The question was obviously different from the question it was closed as; why was it being marked as a duplicate?!
From keeping an eye on keywords like "Stack Overflow" in different realms of the internet (such as Twitter), I gathered that this is a really common thing to have happen on SO. A question gets closed as a duplicate of a similar, but different question, and very often the OP doesn't understand why. Sometimes the duplicate doesn't even help them. They then get frustrated.
- Misunderstanding the purpose of SO
Stack Overflow has gained the reputation of being the place for answers to programming questions. As a result, people flock to SO in the hopes of getting an answer - expecting an answer, often needing an answer. They think that the purpose of SO is to answer their questions.
But it's not. The real point of SO is the answers to good questions. It's not intended to be the place to get an answer for any question you might have; it's supposed to be an information source like Wikipedia: a repository of high quality answers and questions.
But... that's not the reputation SO earned. Since SO has a reputation of being the "answer your question" place, users are frustrated and annoyed when that's not what they find.
Time to be controversial. The Stack Overflow community suffers from a bit of elitism. The simple questions that seem easy to them but might be making a new programmer cry just don't interest them. They find them boring and easy, and figure that since it's easy to them, obviously the asker simply didn't do her research properly.
This leads to poor reception of questions that don't fit exactly with what the SO regulars are expecting and want - including perceived "easy" questions.
- Ungrateful and entitled askers
New users trying to provide an answer sometimes encounter the very worst examples of askers. You know, the ones who demand an answer, refuse to improve their question, don't cooperate with requests for more information, and then, when they do get an answer, immediately start demanding more and more from that answerer.
I've seen accounts that these are a real deterrent to those just starting out answering. And, let's face it, to those who aren't just starting out.
And then of course, there are the ones that are a bit harder to pinpoint specific examples. A common complaint I've seen is that the place is filled with "tech-bros". Everything is written and considered from a male perspective, including stuff like offensive nicknames for regexes and the like. The constant usage of "dude" and "bro". The ever-present "sir". And there are really weird cases where grateful askers will leave a comment like "I wish you good food and pleasant women" (yes, I have actually seen this) which is just like... what?
So what is the overarching main factor behind people being frustrated with the site and thinking of it as a toxic place?
It boils down to a lack of guidance for new users. There's a lack of educating users how to ask good questions, or write good answers. There's no addressing their misconceptions of what the point of the site is. There's no real guidance for users on how to adjust to SO coming from the very different internet at large. And so they trip and fall and give up, because there were no lessons on how to properly use the site. If we can teach new users what to expect and how to use the site before they post, that would eliminate a lot of the problems.