Please see updates from Stack Overflow at the bottom of the post
Stack Overflow, a source of helpful answers to software development questions for many people, is also a source of considerable suffering.
As the founder of Compassionate Coding, a company whose mission is to heal suffering in and around the tech industry, I can’t remain silent about the suffering on Stack Overflow.
Because Stack Overflow is ubiquitous in software development culture, the site’s problems have far-reaching ripple effects throughout the tech ecosystem, so it’s essential that we address them as a community.
Of all my tweets on this subject, this mini-thread has received the most attention on Twitter. I offer a couple of examples of subtly condescending behavior on Stack Overflow and also present kinder alternatives:
However, it is this other tweet that seems to have had the most impact in the larger community outside of Twitter:
It is compassionate toward the people who have been hurt by Stack Overflow, but since it’s written sarcastically, it’s not very compassionate toward Joel, Jeff, the Stack Overflow team, and the often well-meaning people in the Stack Overflow community.
In my workshops, I advise teams to avoid sarcasm and embrace nonviolent communication, so I won’t make excuses for my decision to use sarcasm, but because I also teach self-compassion, I will explain. I’m a human being with emotions, and I was definitely feeling some difficult emotions when I started composing that tweet.
I was responding to a post written by Joel Spolsky, one of the cofounders of Stack Overflow, about the history of the site. This post came out a few weeks after his company released a survey where over 90% of the respondents were men and over 74% were white.
When I saw that he had written a blog post (I don’t follow his account, but someone I do follow retweeted the post), I was hopeful. In early March, I had mentioned some problems I have with his older blog posts, which people still share widely today, and I suggested that they’ve negatively impacted the culture of the tech industry. A lot of people responded sharing their own frustrations with the attitudes shared on his blog.
In the thread, Joel’s associate Anil Dash responded that Joel had come around on some of these issues. So when I saw Joel had posted a retrospective, I immediately thought, “Excellent! Joel’s going to admit that his elitism has hurt a lot of people and talk about how he’s going to fix the culture on Stack Overflow. All the tech bros who worship him will follow suit. There’s hope yet for the tech industry!”
So…I was pretty disappointed when Joel’s post not only neglected to mention the survey but actually turned out to be mostly self-congratulatory:
“…it turned out a lot bigger than we thought it would. The company today has 250 employees, is profitable, and has made it possible for millions of people to learn how to code…”
As I said, I felt emotions. I felt frustrated that Joel had not mentioned the survey or taken any responsibility for how the culture of his site excludes women and others. I felt sad for all the people I’ve mentored and worked with who have felt excluded by the site and more generally by the tech industry, which influences and is influenced by the site’s culture.
I initially felt like writing something pretty angry, but I took the advice I give in my workshops: I took a breath and calmed myself down. I was calm enough to go through a few iterations of editing the tweet to end up with something only mildly sarcastic.
I used vivid imagery, sure, but you’ll notice that in all my criticism of Stack Overflow, I avoid name-calling, personal attacks, and profanity. For the record, I do not endorse any criticism of Stack Overflow that resorts to these tactics, though I do feel compassion for the pain that leads to this kind of response.
I want to identify problems with behavior and its impact, but I have only love and compassion for all the actual humans involved.
The tweet seems to have been successful in moving the conversation forward and has also inspired others to speak up about their experiences, so I’ve left it up. I do apologize to anyone who feels hurt by my choice of phrasing. If I were to rewrite it, it might read:
“Thank you for sharing your thoughts, Joel. Your site has helped a lot of people. After reading this, though, I felt sad because there was no mention of the recent survey or how the culture of the site excludes people. Do you intend to cover this in future posts?”
However, I do stand by the use of the phrase “toxic, inhumane wasteland.”
I used “toxic” to mean harmful, and I know plenty of people who have been hurt by the site, so that’s accurate.
I used “inhumane” to mean lacking in compassion, and again, given all the people hurt by the site, this seems fitting. I specifically added this word because I know Joel’s other company Fog Creek is claiming to be making tech more humane, so there seems to be some hypocrisy in the fact that he won’t take responsibility for the inhumanity happening on Stack Overflow.
I used “wasteland” to mean a desolate, neglected area, and in terms of empathy, this suits the site pretty well.
As much as I love using Twitter to quickly call attention to injustice, the nuanced problems on Stack Overflow deserve more careful attention than I can give them in 280-character chunks, so I wanted to write this post to go a little deeper.
I’d like to talk about the problems as I perceive them, as well as my hopes for a kinder future for the tech community on Stack Overflow and beyond.
I imagine¹ I’ve been finding Stack Overflow in search results since the site launched in 2008, as that was the year I graduated from my computer science program and started working as a software engineer.
As a resource, it’s been helpful to me throughout my career. At companies, I’d also encounter links to Stack Overflow in our code comments and in internal company wikis.
I’ve also always noticed the condescending and blatantly rude responses on the site. Seeing them was enough to discourage me from ever signing up for an account despite the fact that I actually enjoy helping people troubleshoot tech issues. For example, I frequently volunteer with groups to teach coding to kids and adults, and I mentor developers around the world. Thankfully, these activities don’t involve the intellectual bullying that happens on Stack Overflow.
Through the mentoring I do with women, underrepresented groups, and bootcamp grads, I’ve gained an even greater understanding of what it’s like to participate on Stack Overflow when you feel like an “outsider.”
Stack Overflow has a reputation for making people feel bad about themselves.
Here is an overview of negative feelings people experience while interacting with Stack Overflow.
- Shame after hearing “This is easy, and you’re an idiot for not getting it.”
While I was tweeting about the problems on Stack Overflow, someone shared this reddit² post with me:
After posting a question on Stack Overflow, people often feel shamed by other community members who imply that they’re idiots for not knowing the “easy” answer already.
A woman posted this in a Facebook group I’m in:
“I’ve really been struggling…this week. I’ve been in tears for most of it, and now I just got a snarky response on Stackoverflow telling me how easy the solution is and that I need to learn how to debug my own code. I’m ready to throw the towel in.”
What if a bad experience on Stack Overflow really does cause this woman to “throw the towel in?”
Another woman shared this message she received on Stack Overflow after asking for help on a FlexBox margins issue:
“if you don’t get this…you have no business making a portfolio as a web developer”
What a discouraging thing to hear when you’re building out your portfolio.
2. Confusion after being punished without explanation
Some users get downvotes and rude responses, and yet they’re not sure what they did wrong, so they’re just left feeling confused.
3. Sorrow after seeing others suffer
Even people who are only reading Stack Overflow feel pain from seeing how others are treated. As I’ve opened my heart to develop more empathy over the years, I feel the pain of others pretty deeply.
I’m not the only one:
4. Sadness after being told to act more like a robot
As another sign of its inhumanity, Stack Overflow discourages greetings and thanks.
As another person shared,
“A user with a mere 4,000 reputation edited the tags on my first question and took the opportunity to remove me saying ‘thanks’…That may seem like a tiny thing to some people, but I found it immensely offputting that a stranger was bothered enough by two words of common politeness to silently remove them from my post.”
Robots may not have use for these words, but humans use them to make others feel welcome and appreciated.
5. Rejection from being made to feel unwelcome
All of the above feelings contribute to a sense of rejection and feeling like you don’t belong on the site.
As Jessamyn West shared,
“My students really enjoyed some of the gamification aspects, but all but two of them felt that the people there were rude and they didn’t feel welcome.”
6. Fear after seeing how others are treated
Many people read Stack Overflow but don’t post because they’re afraid of facing any of the above situations.
One woman on Twitter shared,
“when I was just starting out I was too scared to post on stack overflow.”
Other women shared similar experiences:
7. Resignation after realizing that posting on the site is more trouble than it’s worth
Some users know enough about Stack Overflow to know that they won’t be welcome there, so they don’t even bother.
There’s a range of negative emotions people feel on Stack Overflow. The common thread is a lack of empathy from other community members.
In my Compassionate Coding talks, I often mention that I believe ego is the biggest problem in tech. One manifestation of this is the constant need to prove that we’re the smartest and the most “elite.” This is not only exhausting, but it also provides an incentive for us to make others seem less smart.
Toxic elitism is the source of many of the problems we’re seeing on Stack Overflow and in tech in general.
I suspect that the elitism that’s deeply ingrained in the culture of Stack Overflow comes from the influence of its founders, Jeff Atwood and Joel Spolsky. Both men are prolific writers of influential blog posts that often put forth elitist views. I was exposed to their work early in my career, and I still see their older posts being shared frequently today.
Elitism, Condescension, Shaming, and Gatekeeping
There’s an obsession in programming culture with dividing people into the elite and the non-elite, the ninja guru rockstars and the mediocre programmers, the 10x engineers and the 1x engineers, the 20%-ers and the 80%-ers (from Jeff Atwood’s blog), or the “great developers” and the “average developers” (from Joel Spolsky’s blog).
The constant pressure for us to prove that we’re the smartest does not create the healthiest culture, as Angela Duckworth writes in Grit:
“…demanding Enron employees prove that they were smarter than everyone else inadvertently contributed to a narcissistic culture, with an overrepresentation of employees who were both incredibly smug and driven by deep insecurity to keep showing off.”
As human beings with inevitable insecurities, we may signal our superiority to others through condescension. If I can convince myself that enough people are mediocre 80%-ers, then I’ll feel more confident that I’m definitely in that elite top 20%.
Here’s an example of condescension that happens on the site:
Note in this example that the user has 230K reputation points, which means the person has considerable influence in discussions happening on the site.
This kind of condescension promotes shame in others, which will discourage them and hold them back.
If I accept the zero-sum thinking that dominates tech culture, it’s in my best interest to keep people down, so that my position isn’t threatened.
The consequence for the “outsiders” is that they’re kept out by gatekeeping. If I have a scarcity mindset and believe that there’s not enough money or glory for all of us, then I’ll be motivated to keep you out so that there’s enough for me.
Stack Overflow “power users” seem very motivated to keep out people who they believe aren’t “elite.” Their responses suggest that they don’t just want to keep them off the site, but out of tech in general.
This shows up in shaming comments like “If you can’t X, you have no business coding.”
If you’re wondering where this attitude—and even phrasing—may come from, note that Jeff Atwood often talks about people who have “no business writing code” or “no business being a programmer” or “no business being paid to be a programmer.” I’m not claiming that he invented the phrase, but rather supporting the idea that the founders have left an indelible mark on the culture of the site.
Earlier, I discussed the forms of suffering experienced by people who feel like “outsiders” on the site, but what about the insiders, or the “power users?”
They are suffering, too. That’s one reason they behave unkindly. I truly believe that all unkindness comes from suffering.
Power users on the site are frustrated at being asked the same questions over and over again. They’re angry that n00bs aren’t doing research before asking questions. They’re sad that their diligent efforts often go unappreciated.
I feel deep compassion for the people on Stack Overflow posting the harshest responses because they may indeed be suffering the most.
My compassion for them, though, does not excuse rude behavior.
You might be thinking, this is just one website, why does all of this even matter?
As one person wrote on Twitter,
Well, yes, it is just one website, but it figures prominently in tech culture. In all of my software jobs, I have referenced Stack Overflow, and other people have sent me Stack Overflow links. As I mentioned earlier, sometimes these links are even in code comments and internal company documentation. It’s not easy to avoid Stack Overflow completely. It has an undeniable impact on tech culture.
Bullying People Out of Tech
Because of the gatekeeping described earlier, many people feel unwelcome on the site. This is particularly an issue for people from groups that are underrepresented in tech, including women and people of color. Stereotype threat and impostor syndrome come into play here, and they are exacerbated by the fact that, for example,
“…men in STEM subject areas overestimate their own intelligence and credentials, underestimate the abilities of female colleagues, and that as a result, women themselves doubt their abilities — even when evidence says otherwise”
So women and others who are already feeling vulnerable may be easily bullied out of tech by a series of condescending comments on Stack Overflow.
Limiting Access to Jobs
Though I don’t advise it for the reasons expressed in this article, many companies choose to advertise job openings on Stack Overflow. Other companies ask for Stack Overflow usernames in job applications.
So, if people feel unwelcome on Stack Overflow, it may be keeping them from getting certain developer jobs.
Misleading Generalizations About the Tech Industry
I saw a news article claiming that developers don’t care about diversity based on the Stack Overflow survey.
Of course developers on Stack Overflow don’t care about diversity; if they did, they probably wouldn’t want to participate on Stack Overflow.
The problem is that Stack Overflow likes to give the impression that they’re representative of the developer community in general. As long as they refuse to fix their inclusion problems, they are not.
Mental Health Issues
As I mentioned, burnout seems to be a problem on Stack Overflow. A hostile culture causes unneeded stress in everyone participating.
Lower Quality Content on the Site
One thing people seem to miss about inclusion is that it’s not just about “letting” people join your community or company. Including more diverse perspectives makes for better content!
For example, consider this example question on storing gender in a database. Stack Overflow, a community dominated by men has this to offer:
The responses are similarly insensitive.
If you have more diverse perspectives, you’ll get better questions and answers.
If you have mostly men on the site, on the other hand, you’ll get content like this, which will further alienate women:
This response was up for nearly 10 years before it was removed after I tweeted about it.
Self-Reinforcing Toxic Power Structures
People sometimes post to meta.stackoverflow.com to propose changes to make the site more inclusive, but since the people with the most “rep” and power on the site are often the least empathetic, these suggestions get downvoted to oblivion, preventing the site from moving forward in meaningful ways.
Here’s one trying to discourage condescension, another suggesting more mindfulness around diversity in job ads, and another confronting the very problem of high-reputation users exhibiting toxic behavior.
Lower Quality Products
Ultimately, if the resources developers use aren’t welcoming to everyone, we’re not going to have the diverse perspectives we need to build better technology products.
For all these reasons, alienating people on Stack Overflow affects people on the site, people in the developer community, and humanity in general.
Despite all of my grievances, I remain very hopeful about the future of tech help sites! The key to detoxifying the tech industry and building a better future is creating more welcoming environments founded on empathy, compassion, and kindness.
In the face of inclusion issues, founder Jeff Atwood—who is no longer an employee of Stack Overflow, but remains an influential community member—has stated, “I am unclear why everyone has to use Stack Overflow.”
Well, it’s not that everyone has to use it, but while it figures so prominently in the tech culture, I believe that if Stack Overflow is going to continue to market itself as the “most trusted community of software developers,” it has an ethical responsibility to create a more inclusive environment.
A few employees have come out to apologize on Twitter. That’s a great start. I wish the founders would follow suit with the same sincerity (retweets don’t count, Joel, though the second post in the retrospective is somewhat more encouraging), as their voices are very influential in the developer community and people are still sharing their toxic elitist blog posts from the past as if they’re the gospel.
I also wish Stack Overflow would do more than just talk about how they’re going to make changes. They’ve been doing that for years and little has changed.
Also, while they’ve discussed improving the new user experience and mentoring new users, I have not seen any evidence that they intend to discourage the hostility from the “in-group” users, and I truly believe that is the key.
They don’t seem to recognize that this isn’t an “experienced coders” vs. “new coders” issue so much as it is an “elitist in-group” vs. “out-group” problem. Converting the out-group into elitists is not the answer.
Essentially, they need to figure out the various ways that toxic values from Jeff and Joel have influenced the site, and then decide how to rebuild for inclusion. This will require honesty and a willingness to alienate the portion of their user base responsible for the most toxic behaviors.
Until Stack Overflow addresses this problem, we need to keep talking about it because the people hurt by it are thinking it’s their fault (and it’s not):
I agree with Jeff on at least one point, though: there are alternatives to Stack Overflow. If you don’t want to deal with rudeness, please check out AskQuestions.tech, created by Alison Stanton. It’s welcoming to people at all levels of experience, and it’s got inclusivity and kindness baked right into it in the same way that Stack Overflow has toxic elitism and competition.
There are also smaller, private communities out there that provide much safer spaces—Slack groups and Facebook groups, for example.
As individuals, we can all take a little time to feel empathy for the other people participating in our communities.
Askers can think about what the answerers are going through. Answerers can think about what the askers are going through.
I can perhaps think more about what people at Stack Overflow are going through.
Finally, have compassion for yourself! If you’re feeling burnt out on answering tech questions for free, remember that you can stop doing that. You can also take breaks—as many breaks as you need in fact. You can also set clear boundaries. Maybe you only answer questions one day a week, or you don’t answer questions from new users. Setting boundaries is an essential component of self-care.
If you’re feeling bullied on Stack Overflow, try not to take it personally. You are worthy, and you definitely belong here in tech; feel free to reach out to me if you want help or need encouragement!
While suffering is universal, I believe the capacity for compassion is also universal, and that developing compassion for ourselves and others is the key to healing the tech industry.