The StackExchange sites are a collection of websites on various topics where people can ask questions and get answers from members of that community. People can also up-vote or down-vote both the questions and the answers, as well as add comments regarding either. People receive ranking points, called "reputation", for asking questions and on how many up-votes/down-votes their questions and answers receive. It's intended to drive an active (and interactive) community of people around each subject area. The first and most popular of the sites is StackOverflow.

The subject of focus for StackOverflow is questions on computer and web programming. Questions range from general, like "How do I show data on a web page?", to very specific questions like "How to trap error type X in a C# 3rd party library using a recursive examination of the IL just prior to JIT compilation?" Yeah, I know, the second question is complete nonsensical bull, but it demonstrates the point pretty accurately.

Over the years I have been pretty active in multiple StackExchange sites, including StackOverflow. Overall, at the time I write this, I have a total reputation over 29,000. By far my greatest activity has come on the Science Fiction & Fantasy site, where the topic is obviously science fiction & fantasy books, movies and such. But I have also been quite active on StackOverflow, Super User (for questions about PC/Mac hardware and software), Role-Playing Games (for asking questions about tabletop pen & paper RPGs) and a few others.

One by one, however, I found the StackExchange sites to become intolerable. First, I stopped moderating questions. Second, I stopped asking questions. Then, I stopped answering questions. Next, I stopped voting on questions and answers. And finally, I stopped even searching StackExchange sites for answers. If I was searching for something, and one of the Google-Bing results was an StackExchange site, I skipped it and went on to the next answer.

There are a number of specific reasons that have contributed to this and some of the reasons vary from site to site. But in general it can be summed up in one phrase:

StackExchange has become a hostile environment

The exact reasons that each site has become hostile varies a bit from site to site, but there are several common themes. I'll go through a few of them that I've seen.

Harassment of Women and Minorities

The developer world in general has a problem with the treatment of women and minorities. Despite the fact that the first computer programmers were mostly women, somewhere along the way it became a profession largely dominated by two groups: white males and Asian males. And in some workplaces this has lead to environments hostile to women and minorities. Attend developer conferences and you will see this reflected again.

The first developer conference I attended was CodeMash, back in 2008 (memory's hazy... might have been +/- a year). Out of the hundreds of attendees, I think I could count on my two hands the number of women attendees. And probably about the same number of minorities. Thankfully, it's gotten way better. The last time I attended in 2016, there were quite a few women and minorities represented (including two who worked for me at the time), but we've still got a long way to go.

Several parts make up the problem with the hostile environment. The first part are those actively harassing women and/or minorities. These are the guys making the crude jokes, inflicting their unwanted touching on others, refusing to respect that "no" means NO. These are a very small group of people and they would be easily dealt with and purged from our workplaces if not for the other parts of the problem.

The next issue, and another small group, are those in power, be it managers in the workplace, or admins on StackOverflow. These are the enablers, the ones who refuse to take action when complaints are made or when they themselves notice issues. Alternatively they are even the harassers themselves or actively enabling the harassers by silencing those who do speak up. Take this tweet for example:

Someone tried to speak up and those in charge, who should have been the ones putting a stop to the discussion, instead silenced the complainer.

In another recent chat session, some rather disturbing comments were made:

This particular case demonstrates the biggest part of the problem: The rest of us., the silent majority. We're the ones who choose not to rock the boat and step in when we see problems. We choose to stay quiet because that's easier than getting involved. And by our silence, we allow the ass-holes and incompetents to drive away scores of talented developers who could make our industry far greater than it is. In this chat session April Wensel tweeted about, no one appears to step in and speak up against those comments. And that is a far too common occurrence.

Do you think that the harassers or management would continue to let things remain as they are if the entire rest of their team or community were taking a stand against them? If it comes down to kicking out a small group of harassers or risk losing dozens, or hundreds or thousands of others, which do you think they will ultimately choose?

We, all of us, are the ones who need to make this change in our culture in ANY group. It doesn't matter whether it's developers on StackOverflow or cashiers at a Walmart. Stand up as a group and put an end to the idiots.

Elitists

This group is a problem across just about every StackExchange site. They're the primary reason I quit answering questions on most StackExchange sites. On just about every StackExchange site, there are a handful of individuals that answer EVERY FREAKING QUESTION. Often it's within a minute or two of the question being asked. I can only assume these people have no jobs or social life because they seem to be there, day or night, no matter the day of week or time of year. These are the people who rush to garner reputation points for the sake of getting points. It's like they think they are in a race where the person with the most points wins.

Now don't get me wrong. When I'm talking about elitists, I'm talking about those who have to answer every question for the purpose of showing off how smart they think they are and you can hear the condescending tone in your mind as you read their answers. There are others who answer many questions whose opinion you value because, while they are brilliant and you know they are brilliant, their goal is to help you understand and grow, not to show off. You know who they are. They're good people.

It's more difficult for them on StackOverflow, simply because of the volume of questions (seems like one every 4 or 5 seconds) and the breadth of topics since no dev has such an expanse of knowledge. But even so, there are those who jump in to every question on a certain topic or topics. It makes it very hard for others to want to try and answer questions. I initially gave up trying to ask questions on the front pages. For a time I tried to find older, unanswered questions and tackle those. But eventually I just quit altogether. It just wasn't worth it to try and compete with them.

Trolls

Trolls are a different problem from Elitists. And it's a huge problem across pretty much ALL the StackExchange sites. Instead of showing off how smart they think they are and rubbing your nose in it, trolls take gleeful pleasure in simply tormenting and harassing users all over StackExchange. Be it in questions, answers, comments, meta or chats, trolls are just plain assholes, pure and simple. They don't uplift and encourage. They do all they can to belittle and demean everyone else around them. And there are far, far too many of them on StackExchange.

But not all troll efforts on StackExchange are overt. There are many ways for trolls to cause problems on StackExchange. They can down-vote questions and answers, mark questions as off topic or duplicate (even when they aren't) or add comments or answers that have nothing to do with the question being asked. As they gain more reputation points, and thus more rights, they can close questions, edit questions to change what's being asked, nitpick on grammar or formatting, and many other things to mess with your questions. And it doesn't take too long to gain enough reputation points to gain these elevated privileges. And once they have them, it's near impossible to remove them from their self-appointed thrones.

Volume

This is an issue that's primary unique to StackOverflow. The sheer volume of questions means many questions never get seen by those who might provide answers. As such, many questions never receive any answer whatsoever. At the time I write this, there are a total of 4,552,856 unanswered questions. That's about 1 in 3 questions that never receive an answer. I myself have 3 questions on StackOverflow that never received an answer and 4 more questions that received answers, but none of them actually addressed the question. It's very dejecting for a user trying to find a real answer to a real question and never receiving it. Especially when the question is asked on a site whose sole purpose is to provide answers to those questions.

I noticed this issue several years ago and asked a question on the StackOverflow Meta site (a place to ask questions about StackOverflow itself). At the time I estimated that it took about 30 minutes for a question to drift off of the first few pages. At that point it may never be seen by someone who might provide an answer. That time is far less today. The answers to my question are helpful and people can mitigate the problem somewhat using those suggestions. But features like this are not really obvious to new users and missed by many.

Can StackOverflow/StackExchange be salvaged?

None of these issues are new. Blog posts across the web talking about the problems with StackExchange in general, and StackOverflow in particular, go back years. But a few days ago there was a blog post from Jay Hanlon, EVP of Culture and Experience for StackOverflow. In it he acknowledges that StackOverflow has a problem and that things need to change. It's the first time I've seen where someone official from StackOverflow acknowledges that there is a problem. In the article he details some of the issues they feel exist and some of the excuses reasons that they haven't addressed them before.

I've re-read the post a couple of times. At best it can be viewed as a good first step in the right direction. They clearly have recognized that there is a need for change. However, I think the post comes up a little short. There is too much emphasis on making excuses for the past. It has a very CYA feel to the first half. The second half details some good ideas on making changes. Unfortunately, there is very little detail on how those changes will be implemented. Some serious issues are not addressed at all. I see nothing that will address the issues around trolls that have gained enough reputation to cause other users serious issues.

The fact that they are at least starting to make an effort leaves me cautiously optimistic on the future of StackOverflow/StackExchange. And I will give them another chance and take a more active role once more. I hope they can pull it off. StackOverflow was once the greatest single resource for developer Q&A on the web. Perhaps it can be once again.