Live data from Hacker News

What a bad day at work taught me about building Stack Overflow’s community

stackoverflow.blog

41–50 of 87 posts

Re: What a bad day at work taught me about building Stack Overflow’s community

#41
There totally are good examples ui/ux designs that minimize the emotional impact of negative feedback. Stack Overflow might take a page from dating apps. Imagine if Tinder told you all the hot people that rejected you! That's kindof where SO is now. Instead, Tinder takes a terrible experience (rejection), hides it, and only shows you the great experiences (acceptance).

The main constraint to work around is that, currently, question pages are mostly globally public. SO could change that pretty easily. They already have a lot of the mechanisms.

Like, it could be as simple as only showing downvotes and downvoters if you are logged in and have enough user 'points.' Otherwise, just show the newbies the result ('marked as duplicate' etc), and a [-] instead of -7 on the question tally. So it doesn't feel like a crowd of people yelling at you.

And, what could be really super cool, is if the SO team can auto-recommend learning materials specific to the programming language/framework/whatever. Like if I ask a stupid question about Django models, which becomes marked as duplicate, SO NLP's the question then matches it to the Django docs, which they've also indexed via NLP.

If there's some reason why you really need to see specific reasons the elite users decided the question was a duplicate or unclear, SO could use progressive ui design. Instead of blasting newbies in the face with criticism on the question page, make them click to reveal why H4x0r69 said your stupid XSS question confused CSPs and CORS, so the experience is a dialectic rather than public shaming.

Re: What a bad day at work taught me about building Stack Overflow’s community

#42
Stack Overflow is a huge community and they want to keep the quality of both the questions and the answers high. If they wouldn't downvote low quality questions, then the search function would degrade significantly. So newbies will always have a good chance of having a negative experience, even if it's done in the most respectable way with constructive criticism. I'm not sure much can be done against that, except perhaps better preparing first time question askers by having them go through a short tutorial before they can ask a question, or having first-time questions handled differently from regular ones (ie, only visible to moderators, so they don't attract too many negative comments from regular users).

Re: What a bad day at work taught me about building Stack Overflow’s community

#43

There totally are good examples ui/ux designs that minimize the emotional impact of negative feedback. Stack Overflow might take a page from dating apps. Imagine if Tinder told you all the hot people that rejected you! That's kindof where SO is now. Instead, Tinder takes a terrible experience (rejection), hides it, and only shows you the great experiences (acceptance). The main constraint to work around is that, curr…

Then how would you ever learn? I don't know if you've ever spent time looking for questions to answer on SO. Before weighing in on the climate, please do so.

You'll encounter an absolutely shocking amount of utterly stupid questions. Yes, I know, stupid questions supposedly don't exist. Judge for yourself after spending an hour looking at the new queue for PHP and JavasScript questions.

Once you've done this, and still think the experience for new users should be made better, I commend your kindheartedness and patience.

Re: What a bad day at work taught me about building Stack Overflow’s community

#44
post #7

It's hilarious how self aware they are about the newbie experience[1] while at the same time having engineered an system that reinforces and enables all of those behaviors. Stack Overflow doesn't care about helping users get answers to their questions; they care about creating a Google-indexed repository of high-quality questions and answers. These two aren't the same because of the concept of a "high" or "low" quali…

Learning how to ask a good technical question is an extremely valuable skill in and of itself, and StackOverflow is one of the few ways you can learn to do it. Just as you've said - if you ask a coworker (or a real person in general) they'll work with you to dig the question out, but they aren't really teaching you how to ask it more efficiently in the first place. They aren't giving you specific feedback on your que…

    > StackOverflow is one of the few ways you can learn to [ask good technical questions]
I partially agree.

The fear of a withering dismissal does motivate many people to carefully formulate questions. In fact, I've answered my own questions more than a few times by just starting to write out my questions on stackoverflow.

It still pains me, however, to witness the persnickety behavior, close-votes, down-votes, and cold commentary that people get when they ask an earnest question. No one deserves that, not novices, not pros. It's never OK to be mean to someone even if they aren't abiding by the very long list of arbitrary and inconsistently enforced rules for asking a question.

I am not hopeful that stackoverflow will change any time soon. There are factions which actually relish the gamification of the site and their own personal insanely rigid interpretation of the rules. Some even rage-quit a while back when the first steps were announced towards addressing inclusivity and rampant meanness.

Re: What a bad day at work taught me about building Stack Overflow’s community

#45

Here's my Stack Overflow user hostile experience. I asked a question as to _why_ some very well-used and robust database implementations, as a matter of "principle", don't have auto-increment fields. There must be a reason for it, like it violates the purity of a relational database, etc., but I'm not sure how or why. This question was quickly edited/changed by someone else to "How do you do AUTO_INCREMENT in Oracle"…

In case you're still curious, I think the reason it isn't included is because auto-increment is a hard problem to do right, ends up being a leaky abstraction for technical reasons, causes bugs, and is philosophically sub-optimal for basically any use case you can dream up. Want to order? Dates are probably always a better thing to order by, or else some natural property of the data like name or title. Want to link tw…

> GUIDs are so much better it's not even a contest

GUIDs require more storage, and are likely (definitely with v4 GUID) to lead to index fragmentation. Postgres requires an extension to do most useful things with GUIDs whereas SERIAL is ready to go. I'm very pro-GUID yet don't universally prefer them in databases.

Re: What a bad day at work taught me about building Stack Overflow’s community

#46
post #43

There totally are good examples ui/ux designs that minimize the emotional impact of negative feedback. Stack Overflow might take a page from dating apps. Imagine if Tinder told you all the hot people that rejected you! That's kindof where SO is now. Instead, Tinder takes a terrible experience (rejection), hides it, and only shows you the great experiences (acceptance). The main constraint to work around is that, curr…

Then how would you ever learn? I don't know if you've ever spent time looking for questions to answer on SO. Before weighing in on the climate, please do so. You'll encounter an absolutely shocking amount of utterly stupid questions. Yes, I know, stupid questions supposedly don't exist. Judge for yourself after spending an hour looking at the new queue for PHP and JavasScript questions. Once you've done this, and sti…

I'm not suggesting encouraging stupid questions. I'm suggesting that you can minimize the emotional impact of public shaming to newbies through progressive ui design, while keeping the same high standards for content. And also auto-suggesting documentation for newbies exactly so they can learn.

Re: What a bad day at work taught me about building Stack Overflow’s community

#47
post #26

Earlier quoted context omitted.

>even if that means telling someone that their question is stupid – which means breaking a rule that is essentially the cornerstone of any other Q&A setting. Although I'm sure that happens, the site is explicitly designed to be a pseudo-wiki (Jeff counted Wikipedia as one of its inspirations), so if you ask a question that's too specific to your use case (i.e. that other users will not be able to put into practice) o…

> You might instead ask, "What are the key differences between MySQL and SQLite" which can then provide the insight to answer your original question as well as help other users. I'm pretty sure if you ask that exact question, an even if nobody has asked it before so it isn't a duplicate, someone will find some reason to shoot it down.

Even worse, it was obliterated: https://stackoverflow.com/questions/3630/sqlite-vs-mysql

And the reason: closed as not constructive by Kev Feb 28 '13 at 13:12

Re: What a bad day at work taught me about building Stack Overflow’s community

#48
Over the years, I have spent a fair bit of time on Stack Overflow and other Stack Exchange sites (at the moment, 816 answers and 70 questions, across the sites), in many of the sites from their early days. What I find happening on multiple sites, repeatedly, is similar to what I've seen on many other online communities like Wikipedia etc:

1. It starts as a community of people eager to share their knowledge, help people, etc.

2. Initially, the small community of users scours every (or a large fraction of) new questions that come in, jumping at opportunities to help (and perhaps also demonstrate their expertise etc: it feels good to answer a question well, like disposing off a level of a video game or whatever).

3. Over time, as many users come in, the community develops its own norms of what's good and bad, its own in-jokes and in-group markers / shibboleths, etc.

4. At some point, the number of new user actions that come into view becomes too much for one user to manage. Somewhat overwhelmed, and given their overdeveloped “connoisseur” tendencies at distinguishing between good and bad questions (https://xkcd.com/915/), they tend to look for shortcuts to dispose of questions (“this question is bad because ____”). Any question that does not match the in-group standards of a good question can easily be disposed off instead of engaging with them. It is easy to forget that these standards are somewhat arbitrary, and often not even encoded well anywhere... and even if they were, new users won't read it anyway. It is also easy to forget one's original motivation and purpose, of helping others.

The end result is that new users asking their questions in what way seems natural to them (remember Sturgeon's law) almost uniformly have a bad experience, though from the perspective of the regular answerers of the site, they are continuing to answer good questions at the same rate.

I have not had a bad experience asking my questions; I'm pretty sure I can still go to one of these sites, ask a question, and have it be well-received, but that's because I know the norms, the superficial things that make a question look like a good question “worthy” of being answered. But whenever I look at say Stack Overflow (the oldest, biggest site, and by far the worst offender in this regard), I see many horrifying instances of a new user's question being “rejected” for trivial reasons, when in the old days we'd have helped the asker improve the question and worked harder to extract the “pearl” inside the question.

(My last phrase reminded me of the title of a post from 2011: https://stackoverflow.blog/2011/06/13/optimizing-for-pearls-... which ends with:

> Therefore, the only logical thing to do is to maximize the happiness and enjoyment of answerers. If this means aggressively downvoting or closing unworthy and uninteresting questions, so be it.

I think this was the right choice to make at the time, and if Stack Exchange Inc in order to make the sites more welcoming ends up making the sites a less fun place for answerers there won't be much of value left, but still there's a lot that can be done to understand why otherwise initially well-intentioned answerers end up behaving this way over the course of years, and finding ways to keep answerers on the site without regularly crushing those seeking answers.)

Re: What a bad day at work taught me about building Stack Overflow’s community

#49
So Jeff Atwood wrote an article about what SO wants to be when it grows up. (https://blog.codinghorror.com/what-does-stack-overflow-want-...)

The answer wasn't a Q&A help site it was a high quality curated wiki of the best answers and questions. It isn't supposed to be a forum where you come to ask your one off questions it supposed to be a place where you encounter a unique technical challenge figure out what the core issue is and then see if anyone else knows how to resolve the core issue and then have that core issue answered forever and always.

The one time I asked a Question on SO it was a very positive experience that went well got answered quickly, but I first had spent thirty minutes documenting everything checking the actual docs and ensuring I had done my due diligence before throwing it out there for someone else to answer.

If you aren't willing to put in work to find the answer to your question why the hell would you expect someone else to.

Re: What a bad day at work taught me about building Stack Overflow’s community

#50

Here's my Stack Overflow user hostile experience. I asked a question as to _why_ some very well-used and robust database implementations, as a matter of "principle", don't have auto-increment fields. There must be a reason for it, like it violates the purity of a relational database, etc., but I'm not sure how or why. This question was quickly edited/changed by someone else to "How do you do AUTO_INCREMENT in Oracle"…

I find that things at risk of being treated that way are well served by Reddit. If you find the right sub you get treated well as a beginner and get good, timely answers to very obscure questions on subjects you understand. That said, hit the wrong sub and it’s like staring into the abyss.
Post reply on HN