Hi, my name is Sara Chipps, first time Stack blogger, long time Stacker (I’ve always wanted to say that!). I’m the new Director of Public Q&A at Stack Overflow. I’ve been at Stack for a year now, and I’d like to share with you one of my worst days at work, and what it taught me about the Stack Overflow community.
A little about me: I’m Stack Overflow user #4140. I was in the beta and one of the first people to ask a question on the platform. Stack Overflow has been a big part of what I do for a long time. I’ve been an active member of Q&A, a participant on Area 51, and a lurker on Worldbuilding, Cooking, and Code Golf. I’ve looked for new opportunities on our Jobs board and placed job ads when hiring great talent at companies I helped run, like Jewelbots or GDI.
The thing that really connected me to Stack Overflow and its community, however, is the simple fact that I’ve been a software developer for 18 years. I cut my teeth on MS SQL and Data Warehousing. I moved on to C# and .NET in 2006. I was a .NET MVP for 2009 and 2010 before switching to JavaScript, Node.js, and building Nodebots in 2011. I love JavaScript with all my heart, warts and all. Since joining Stack Overflow’s engineering management team in 2018, I’m back in the world of .NET and on the board of the .NET foundation helping the framework build the future of the internet.
I care a lot about representation in technology, and a future where people from underrepresented groups in technology are hired and succeed at the same rates as their peers. Being a part of the team helping to guide the direction and growth of community is an incredible honor.
We’ve been working on exciting things the past few months to make the site more welcome, diverse, and inclusive. To kick off these changes, we started with the tools that our moderators and power users rely on to make Stack Overflow the best site for developers online. The thing I’ve seen our Community Managers push for the most is updating these dated tools, some of which haven’t been touched since we first launched! The team formerly known as DAG (Developer Advocacy and Growth), now part of the Community team, started by rolling out the Tag Synonyms Refresh and the improved Moderator Dashboard. Paying down this debt will continue to be a priority as we work to get our mods best-in-class tools to manage their communities.
The second thing we are prioritizing requires a bit of a story. When I joined Stack Overflow almost a year ago, I was blown away by how kind and generous all my coworkers were, and the engineering team is no exception. As engineering manager for the team charged with working on our Talent product, I got to work closely with brilliant people I really respected. It was a treat to be collaborating with lifetime learners and natural teachers, the kind of engineers that you would want on any team.
About three months in, on a Friday afternoon, we introduced a new company-wide policy that I felt was relatively benign. What happened next was that, from my point of view, the engineering team completely lost it. No one agreed with this policy, and they made it known over seemingly hundreds of Slack pings. After an afternoon of going back and forth, I walked away feeling emotionally drained. What had happened to my amazing coworkers that were so kind and wonderful? I felt attacked and diminished. It seemed people weren’t valuing my work or my judgment.
I went home for the weekend and stewed in my frustration. I replayed everything that happened in my head and each time got more frustrated with the way people reacted. When Sunday rolled around, I decided I wanted to look back at our Slack conversations and see which one of my coworkers was being the rudest and the most unreasonable. I wanted to give them direct feedback that they had hurt my feelings.
As I went back through that Friday afternoon chat log, I was shocked to see that no one had been hurling insults. There was no one saying mean things about me or attacking my efficacy directly. In fact, what I found was that people had some well put together arguments about why they felt this policy was a bad idea. The entire engineering department definitely made their criticisms known, but I didn’t find people questioning my ability as a manager, throwing around insults, or saying anything that that illustrated why I was feeling so targeted.
That was when something became crystal clear: my coworkers hadn’t become monsters, they were still the kind and caring people I thought they were. The monster in this case is not one person, it was created when lots of people, even with great intentions, publicly disagreed with you at the same time. Even kind feedback can come off as caustic and mean when there is a mob of people behind it. No matter how nicely they say it, when a large group of people you really respect publicly challenge something you’ve done it can feel like a personal attack.
When I realized this, some of the confusion I had seen about unwelcomeness on Stack Overflow started to make sense. In our developer survey results we read things like this:
- “ Caustic community for new users. There is no excuse for not being kind!” – 6 years coding
- “ It feels too scary and unaccessible for new developers” – 3 years coding
- “ People could be less brutal” – 6 years coding
- “ The attitude is not beginner friendly. Askers are expected to have done a lot of research before asking a question (re: both question format and content), even if they are completely new to the community or topic. Not everyone can understand or even know to look for documentation when they’re completely new to programming.” – 12 years coding experience
However, when our more experienced users hear this feedback they ask us to provide them with definitive examples of WHERE EXACTLY people are being unfriendly? There isn’t a lot of name calling or anger, why are they being accused of being unfriendly?
People tell us they are afraid to participate because of how mean their peers can be. The way the system is currently built, when you ask a question that could use some editing or is a duplicate, a bunch of people come out of the woodwork to tell you you’ve done something wrong.
They could say it in the most neutral possible way, but no matter how you approach it, a dozen people pointing out your errors feels terrible. Not only does it feel terrible, but it can also be not beneficial for overall content quality, not to mention an ineffective way to get someone to improve their question. There is also a big yellow box that gives you the names of engineers that voted your question closed or deleted. That in itself can feel really bad especially as our high rep users skew toward more experienced and respected engineers.
On one hand, our more experienced power users tell us they feel called out for being unfriendly even when they are just trying to be helpful; on the other, our newer users and people that don’t participate tell us they think Stack Overflow is scary and they are afraid of judgement. In the past, we’ve prioritized getting rid of unfriendly comments. We’ve seen improvementsthere, but we still hear people feel targeted even when there aren’t unfriendly comments. This problem is on us and it’s because of how we designed the question asking and closing process. People are using the product as it was designed and as a result people feel called out or, even worse, discouraged from ever asking a question again.
Over the next few quarters, we’re going to be taking a step back and re-evaluating how we deliver feedback to users about their questions. We want to make sure people are getting necessary feedback without feeling called out or publicly embarrassed. We will be working on new paths to improve content quality and reduce friction between people. Our goal is to have the question asking process be painless and beneficial for new users and Stack Overflow veterans alike.
By improving the way people give each other feedback, we can improve question quality without putting the burden on our users to police the website. We will empower our long time users to become mentors and teachers in order to bring the spirit of Stack Overflow back to what it was in the beginning, a place where people come to share and learn. By thinking hard about how we give feedback, we’ll help people learn instead of driving them away. We’ll get more people involved and improve question quality.
Myself and the community team are really excited to improve the experience that all levels of coders have on Stack Overflow, from new users that are learning front-end for the first time to our respected moderators who have been coding for 20+ years. We all have ideas on how to make the system better. The great news is we have experienced researchers, data scientists, and an amazing product manager that will be gathering feedback from us, the community, and many other places and partners to make educated decisions about solutions.
We think the world of our community, and are excited to hear what you think of improvements as we make them. We’ll make sure, as always, to keep you posted.
The post What a very bad day at work taught me about building Stack Overflow’s community appeared first on Stack Overflow Blog.
Top comments (25)
What I personally found annoying as a beginner was that everyone always pointed at my questions as being incomplete or lack of research, but themselves never put much effort to at least point me in the right direction.
In reality I did not have enough knowledge to know what research or even what terms to use in order to start this research, what I had was an idea and a whole bunch of questions.
Absolutely this - if a question can be marked as not providing enough info, then surely comments should too?
And too many comments are "why are you doing x? you should be doing y" as if they have intimate knowledge of the context the user is coming from.
// , My brother and I have run into this problem, before. StackOverflow, because of its format, is often not the place for these types of questions, what I call "Bibliographical" or "Curriculum" building questions.
These require a personal, tailored discussion, not a cut-and-dried answer suitable for future use by others.
I've seen (and written) questions that were the software equivalent of "What is the muzzle velocity of a bullet when it's fired from a bow?" or "How do I install a rudder on a Ford Ranger, so that I can steer it?"
The best way to respond, here, in place of a "right answer," will be follow-up questions and an explanation that I'm asking the question in the wrong terms, about the wrong technology, and a discussion of where to do further research, e.g. "Have you tried reading the car manual, or the appropriately named 'steering wheel'? Are you working on a boat or on a car?".
Questions like these need conversation, which is valuable, in its own way. But conversation is a better fit for general technical forums, not a Q & A site like StackOverflow or Quora.
Questions and Answers =/= Conversation
I'm curious about how this will affect the UX; I feel it should affect it in some way.
I don't really participate in the site to answer questions because it's too hard to earn rep as a new user. I feel like it's designed to only allow people that have been coding for 10+ years to be able to answer, even if you have a good answer.
This, right here, is the main problem with SO right now. The site is still a good resource for common bug fixes, but useless as a community because of the gamification and gate-keeping that prevents newer users from participating.
If you really want to answer questions only to get points, yes. But ask yourself whether that's really the case.
So it's too difficult to accrue the points required to post an answer because I only want to answer the questions to earn points?
Red pill or blue pill?
I'm sorry, I obviously misread your comment. I really didn't know you need to have points in order to answer questions on SO. I'm pretty sure that wasn't the case when I started there. And it doesn't make much sense to me... how are you supposed to get the points? By writing insightful comments? :-/
Ask sensible questions. The goal of the site isn't for the askers.
It's not for the answerers.
It's for someone else.
Hi William, I want to make sure I understand your feedback. Are you saying you are unable to answer because you don't have enough points, or something else? Thanks for reading, the new UX is something we're thinking about a lot.
// , As part of a new UX, perhaps consider a set of good, worthwhile inquiries that in the StackOverflow site's format would die stillborn.
For instance, if I were to design an entirely new site and UX, to optimize for responses that are more useful to the asker, rather than to the general public, I wonder what that site would look like.
I haven't thought about it too much, but I guess it might cater more toward discussion, clarification, and Socratic dialogue than a Q&A site geared toward the value of future reference.
Thanks for posting this. This feels like exactly the right line of thinking.
I'll add another factor to the list -- I hate it when other people edit my answer. I've had to revert edits a couple of times because the edit changed the meaning of my answer. It feels like incentivizing edits with rep leads to over-editing. And having your own words/code changed also feels like a knock. Perhaps answer editing should be opt-in/out? "Yes, let someone edit my answer for clarity."?
I wanted to specifically mention the Software Engineering site as one that I have found especially brutal. General engineering questions are frequently not about "the right answer" (because there isn't one right answer), but instead about weighing options and their trade-offs. Because of the QA format inherited from SO, asking about options and their trade-offs is usually considered "too broad". I have seen a lot of good, answerable questions get closed. And I've gotten scolded in the past for answering anyway. It seems like it needs to be a different format from the other sites.
I have a couple of answers that I’ve had to revert multiple times because they’re about a nuanced, no longer well documented topic. Every time it gets edited it gets “fixed” by well meaning users reading documents for a different version, and they make my answers downright wrong. I don’t mind people improving my answers, but screwing them up without notifying me wears on me.
It would probably help if there weren't so many variations of the stack overflow site now. It used to be you could ask a development/DevOps question and get help, now those that have a high rep but no knowledge of the subject matter in question just close your conversation as 'should be on stack X' rather than suggesting you ask the stack X community who may have better knowledge. I don't know what all 20+ variations of stack overflow are ... They used to be stack overflow!
Thanks for sharing this. I think you painted a good picture about how it feels when being barraged by people asking for seemingly small requests or providing general criticism.
Interested to see what's to come!
How great are these news?! I always feel kinda sorry for new stack overflow users that ask a question and get down votes. Definitely a step in the right direction and makes stack overflow even nicer :!)
Like William Antonelli, I decided after few days to stop trying to earn enough point to ask my first questions.
So when I search something Dev related, I try the most of the time to avoid result from SO and if I don't find the answer, I try to change my code and ask to peer review to improve it.
SO is not the only one website to be unfriendly with beginners but it's not a reason to keep it like that.
When I read your post, I was happily surprised I was not alone and changes will came from the inside, that's make me change my mind an see what the future will be.
I hope you will keep us updated.
This comment really got me... It also motivated me to write a little post of my own. Stack Overflow can be helpful sometimes, I'm sorry you had a bad experience.
I'm not associated with SO at all, just bummed out that you had a bad experience... reading the rest of the comments here it seems like quite a few people had less-than-stellar experiences.
Another issue I have had as a new user on SO is on the matter of reputation and fairness.
Whether it was intended so or not, reputation points are a currency most users strive to earn. Partly, this is to unlock more features, but it's also a social contest.
If you look at a lot of older posts, asked when SO was still in its infancy, you'll find that many violate one rule or another. Usually they're very, very basic questions that can be answered with a quick Google search, and almost as often they're "too broad" or cannot be answered concretely. Yet, not only do they still exist ("for history's sake" or something), they are massively upvoted.
These posts give an enormous boost to one's profile. Yet it is these same people who rag on newbies for asking "incorrectly". How come it's OK for these people to have made mistakes when they were learning and get away with them — even be rewarded — but withhold the same from newer users?
If it were up to me, I'd leave these questions be — they've helped me lots of times before — but remove any rep they give to their posters.
It's not a perfect solution, because having higher rep means you're more likely to be viewed in a better light and thus upvoted in the future (also there's the bandwagon effect), so these users have coasted on their early gains to earn still more potentially undeserved rep, but I'd take some justice over none.
Great job finding out what this pain in the stack overflow community is causing!
Very excited to see what's comming!!
As a beginner downvotes can feel unfriendly, in the end it is still necessary.