We <3 and believe in Stack Overflow. But sometimes, loving something means caring enough to admit that it has a problem.
Let’s start with the painful truth:
- Too many people experience Stack Overflow¹ as a hostile or elitist place, especially newer coders, women, people of color, and others in marginalized groups.
- Our employees and community have cared about this for a long time, but we’ve struggled to talk about it publicly or to sufficiently prioritize it in recent years. And results matter more than intentions.
Now, that’s not because most Stack Overflow contributors are hostile jerks. The majority of them are generous and kind. Sure, a few are… just generous, I guess? But our active users regularly express their frustration that we haven’t done more to make outsiders feel more welcome. The real problem isn’t the community — it’s us:
We trained users to tell other users what they’re doing wrong, but we didn’t provide new folks with the necessary guidance to do it right. We failed to give our regular users decent tools to review content and easily find what they’re looking for. We sent mixed messages over the years about whether we’re a site for “experts” or for anyone who codes.
Yes, we really have a problem.
But how do we really know that too many developers experience Stack Overflow as an unwelcoming or hostile place? Well, the nice thing about problems that relate to how people feel is that finding the truth is easy. Feelings have no “technically correct.” They’re just what the feeler is telling you. When someone tells you how they feel, you can pack up your magnifying glass and clue kit, cuz that’s the answer. You’re done. And a lot of devs feel like Stack Overflow is an intimidating, unwelcoming place. We know because they tell us.
Stack Overflow is intended to be an inclusive place where every programmer can participate. It was one of Joel and Jeff’s earliest decisions. But it’s built on mechanics and norms that push people away if they don’t know the ins-and-outs. Too often, someone comes here to ask a question, only to be told that they did it wrong. They get snarky or condescending comments for not explaining what they’ve tried (that didn’t work). They get an answer… but the answerer gets scolded for “encouraging ‘low-quality’ questions.” They get downvoted, but don’t know why, or called lazy for not speaking English fluently. Or sometimes, everything actually goes well, and they get an answer! So they thank the poster… only to be told that on Stack Overflow, “please” and “thank you” are considered noise. All these experiences add up to making Stack Overflow a very unwelcoming place for far too many.
We’ve struggled to put our money where our <3 was.
Caring about this isn’t new to us. Initiatives like the Summer of Love, the closing overhaul, revising the “Be Nice” Policy, and our coaching experiment all came from our desire to build a place where everyone feels welcome. But we never felt comfortable acknowledging that we had a serious problem, and we under-resourced it. Badly. Here’s why we screwed that up:
It was hard to accept some of the (valid) criticism, especially the idea that women and people of color felt particularly unwelcome. There’s a weird paradox with bias. Those of us who have privilege, but care deeply about reducing bias should be uniquely positioned to help, but we struggle the hardest to recognize that we are (unintentionally) biased ourselves.² As it happens, making people feel left out is a deep personal fear of mine. (There is probably a seriously repressed playground kickball thing in my past somewhere.) Ironically, that made it harder for me to accept the possibility that something I work on could make outsiders feel unwanted. So I focused on what we were proud of: We are one of the only large sites where it’s practically impossible to find a single slur – our community takes them down in minutes. We don’t tolerate our female users being called “sweetie” or getting hit on. But we weren’t listening. Many people, especially those in marginalized groups do feel less welcome. We know because they tell us.
We felt protective of our current users, because we know they come here to teach, and most of them are fighters for good most of the time.
Like all companies, we have an infinite list of things to do, but limited resources. In recent years, inclusion efforts (and other public Q&A work) have consistently been “fairly important, like… roughly #3 on our list of priorities?” Which meant they got allocated roughly zero resources.
Getting to the <3 of the problem. (Here’s where we plan to start.)
As of last week, we’re prioritizing this and staffing it with talented employees from our Executive, Community, Data, Design, Research, and Engineering teams. We’re listening to our community and those sharing their experiences. I want to thank those of you who’ve been vocal about the need for improvement. It hurt to hear, but we needed to hear it.
We’ve started with user research, and we’re keeping an open mind to all ideas. There are opportunities to work on things like reviewing site copy for inclusive language. Maybe it’s time we re-visited things like our “no pleases or thank yous’” rule. (It serves a valuable purpose by keeping signal high, but also suggests that we just might be Zuckerbots who aren’t even trying very hard to pass as actual humans). In any case, here are some areas we’re planning to focus on first:
Let’s shift from “don’t be an asshole” to “be welcoming.” Many people don’t realize that we already have a code of conduct (cuz we gave it a funny name). Or that it already includes concepts like “belittling language is not okay” and “Be welcoming, be patient, … and don’t expect new users to know all the rules — they don’t.” But we need to show it to all users, and empower them to help us enforce it. In the longer term, I’d like us to aim for something closer to what Jon Skeet told me about his experience attending a pride parade (as a cis straight dude): “I wasn’t just tolerated; I was made to feel like the community was actually better because I was there.”
Let’s do something about comments. Condescension and sarcasm have been reluctantly tolerated in comments for too long. We’ll research possible feature changes, but let’s start by working with the community and our community managers to start flagging and deleting unkind comments now.
Let’s make it easier for new users to succeed. No, I’m not shifting the blame. We set them up for failure, and our power users have been asking us to help them for ages. We’re planning to test a new “beginner” ask page that breaks the question box into multiple fields – one for each of the key things answerers need to help:
- “What did you want to happen?”
- “What actually happened? (Include any error details)”
- “Paste the shortest block of code that reproduces the problem. (We’ll format it!)”
- “Describe what you’ve tried so far (including searches, etc.)”
Let’s stop judging users for not knowing things. (We’re a Q&A site!) It makes me sad when someone get downvoted for posting a duplicate. We should better surface them in the posting flow, but it’s not reasonable to expect askers to find dupes consistently. Users aren’t “too lazy” to search; searching takes less work than posting.
And little makes me sadder than comments on answers saying, “Don’t answer questions like this – it encourages them.” Now, some questions are off-topic. (I’m genuinely sorry, but we simply can’t explain how a glass pitcher can smash through a brick wall with no apparent injuries; we are a programming site.) But it’s totally cool to answer questions without giving a grilled poop sandwich about exactly what’s allowed. It’s fine to volunteer in one way without being expected to read and enforce every rule and meta discussion since forever.
Let’s reject the false dichotomy between quality and kindness. Quality matters because it means posts can help more people. But a larger, more diverse community produces better artifacts, not worse ones. We need to stop justifying condescension with the pursuit of quality, and we need better tools and queues to help power users trying to keep quality high.
We still <3 and are proud of what we’ve done together.
Every day, tens of thousands of people on SO take a break from their workday to help a stranger on the internet. And millions of times a day, someone clears a hurdle and doesn’t give up on their project thanks to solutions donated here. I’m incredibly proud of the small part I’ve gotten to play in everything this community has achieved. Our users are truly some of the most generous people on the planet. But we can do better. Together, we can make the world’s largest technical helping community one with a culture we can all truly and consistently be proud of. The kind of place that is genuinely better because you are here.
We’re looking for volunteers to share their experiences in chat with us and help us prioritize what to work on first. Whether you’re an active user, or someone who isn’t comfortable participating, if you’d like to help, please fill out this one-minute survey.
¹ This post focuses on Stack Overflow, but most of it applies to the broader Stack Exchange network as well.
² If you’re shaking your head thinking, “not me,” I’d encourage you to take these implicit bias tests, specifically the Race IAT and the Gender-Career IAT. If you’re like me, they’re going to hurt.
Our related podcast with Dries Buytaert