86 comments

[ 1.7 ms ] story [ 145 ms ] thread
> "Newbie Experience" picture

+

> 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.

My bet: they'll keep the mechanisms exactly the same and hide from the newbie user the information that their question has been flagged for closing, marked as a duplicate, etc., and show a 'temporary ghost score' capped at zero.

And I feel that might well be an improvement for all involved.
How is that an improvement to the user? In some ways, it's like a kind of shadowban. The user's question is effectively dead, but they aren't made aware of it.
I think this is an important lesson for an awful lot of online communities -- in a public forum* some mild, warranted criticism is then published to your friends and they are then encouraged by the algorithm to put in their tuppence-worth. Should any of those be inclined to comment -- perhaps less sensitively, slightly more inflammatory -- then the cycle begins anew, with more fuel added to the fire.

* Mostly looking at Twitter and Facebook with their explicit "engagement means my friends will see this" algorithm

Does Stack go the way of Yahoo answers at some point? The former has served me on countless assignments/reports, hope it remains useful.
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". And then it was marked as a duplicate and quickly closed.

I never asked a question on Stack Overflow again.

Did you accidentally post this to the new twitter thread[1] first?

[1]: https://news.ycombinator.com/item?id=20466641

???
Man, what is that guy even on about...

Anyway, yeah. It's thoroughly enraging when you ask for help, and you're quickly told that your needs themselves are simply in the wrong. It's even worse than seeing thousands of similar questions met by crickets and tumbleweeds, which is the original symptom stack overflow set out to cure.

  Q.
  Hello, I wanted to open up
  a DLL file in a HEX editor
  and directly edit some of 
  the bytes of the file, just
  to see what happens. Which 
  HEX editor is the best one 
  for diffing and translating
  some of the string literals
  embedded in a binary?

  A.
  Why would you ever do that?

  A.
  You should never do that.

  A.
  Do not edit binary files.

  A.
  Why don't you have the 
  source? Can't you recompile?

  A.
  That's really dangerous. You
  could go to jail for that.

  A.
  ARE YOU TRYING TO BRICK YOUR SYSTEM?????????????????????

  A.
  You should not try to reverse 
  engineer your software. Check
  the EULA that shipped boxed
  with your set of compact discs.
  It's usually forbidden and 
  will void the warranty on
  your installed partition.
Riiiiigggghhht.
I've soldiered on through several experiences like that, and sort of assumed it was the usual (being non American, I guess I just assumed it was cultural differences with Americans or my English being annoying). I changed my mind after asking some questions on the math stack exchange, and seeing how answers there were night and day compared to what's usual in stackoverflow. People with phds in areas I couldn't even spell treated me with a level of kindness and patience that I really wasn't expecting... So I guess it isn't just the format of SO.
Stack Overflow is basically under siege 24/7 by every yahoo with a keyboard. The smaller, more specialized stack exchange sites have less nonsense (maybe a 2:1 ratio of bad to good questions compared to Stack Overflow 10:1) to deal with so can afford to be generally friendlier and more helpful. Although sometimes they can be persnickety about what is "on topic" for the given site.
Maybe the site needs rebranding?

It sounds like you don't want it to be "the place where everyone can ask questions" so much as "the place where only good questions get civil responses".

If SO/SE were rebranded to be less inviting it wouldn't be "under siege".

Elsewhere on this thread I argue that they are already not a site where everyone can get their questions answered, in practice or by design, and give examples of how the question-asking experience could be improved.
The contributors to the site have been begging for changes like that for more than five years.

The operators of the site refuse because it would limit their advertising reach.

Both sides have become more entrenched over time, and the result is a unhappy disintegrating mess.

Stack Overflow has the same problem as Wikipedia: they know the only way to scale up a human knowledge repository is by leveraging volunteer effort (the organization itself could never cost-efficiently supply the necessary manpower), but volunteers like this are strongly self-selected to be a bunch of Poindexters who take perverse joy in finding exactly which minor infraction you're guilty of and using it to shut you down. I only contributed to Wikipedia a few times before my edits were reverted under WP:OMGWTFBBQ one too many times and I stopped bothering, and I've never even bothered with SO because I've heard it's much the same.
Actually, the StackOverflow systems encourage that, in a gentle way, by encouraging you to slot questions into concrete categories. If you've accumulated enough cred to have access to those tools, you'll see that they present you with possibly similar questions that you can browse. Volunteers with little time and a lot of items in their queue are probably likely to notice similarities in the questions and just choose the 'identical question' option, and then move on. More detailed feedback on the question itself is hard to give, and for every one that can genuinely be improved by feedback, there's dozens that are unsalvageable, or truly are duplicates.
My best worst experience was asking how to achieve a particular effect in latex and then having the question locked for not posting a minimal working example of something I didn't know how to do.
The entire fact that a moderator can decide what you really wanted to ask even if you are clear that's not the question you want to ask, is, honestly, ridiculous.
SO says that the question you ask on their site is not yours, so they can do whatever they want with it.

I just stopped asking questions there.

Then you haven't seen how many poorly written questions there are. Would you rather have your question outright deleted?
You're implying that there's no middle ground between "moderators unilaterally edit your question, including substantial semantic changes" and "question deletion".

I find that simultaneously troubling and, given my experiences on SE, unsurprising from someone whom I assume is a SE mod. If that's the position that most moderators take, no wonder it's such a caustic place.

Not an SO moderator. I've answered a few questions over the years, and I've browsed the new queue. I suggest you do the same before forming an opinion.
No thanks. The SO community made it very clear they aren't interested in having me be a part of it.
I don't think it's clear from the parent's post that editor was a moderator.
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 two records together? GUIDs are so much better it's not even a contest.

In development, auto-increment appears to be previous field +1. Developers write code expecting that behavior and relying on continuous IDs without gaps. But, well, for example, Oracle doesn't rollback sequence values. They also pull them in blocks (I think blocks of 20?). So sometimes you can end up with numbering like 1,2,3,20,22 if things were weird at just the right time, and you probably never saw it during development or QA unless you happened to know to try to force it.

Then you get things like SQL Server resets auto increment field values on database export/import, so numbering which used to have gaps in the original will have no gaps in the import, causing the numbers to change. (I have no idea why, just seems like a bug/disaster waiting to happen.) Changing some ID fields tends to cause obvious disasters, as you usually have several tables which store a copy of the old auto ID value to join on.

I've seen several production data loss issues as I learned about the joys of this data type and prefer to avoid them as I learned more.

> 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.

Thanks! I also realize that if you have distributed database nodes, it's becomes a very hard problem to have a monotonically incrementing id. But still, mysql/mariadb does it, and so does Microsoft SQL Server (via IDENTITY)
MySQL sort of cheats (but it's a good cheat!) by auto_increment_increment/offset which is means as long as you have a fixed amount of nodes , you are good, server #1 uses 1,4,7 etc #2 uses 2,5,8 etc and #3 uses 3,6,9 .. adding a node requires reconfiguring (but not restarting) all nodes.
I see what you're saying and it's hard when something you care about gets changed in a way that doesn't align with your original intentions, but this is something professional Software Developers have to deal with on a daily basis when working on teams, and granted, is a very hard mentality to embrace.

WHY questions are not good use cases for what Stack Overflow is trying to accomplish. WHY questions to a community that isn't the original developer of a tool have subjective answers and Stack Overflow is trying to be a place of objective problem solving. Possibly your question was better suited for an app like Quora.

There's no excuse to completely change the meaning of a question. Perhaps a comment that "why" questions don't really fit the format of StackOverflow would have been a better choice.
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.
I had a similar experience, I asked a question. It then immediately got moved to a different stack overflow site where it was promptly closed as not relevant. Which is correct, it wasn't relevant to the site it had been moved to, but was relevant to the one I had posted it to.

I still sometimes post questions in the hopes of an answer, but 99% of the time the question is too subtle for the site and I either get no answer, or answers to a question I didn't ask.

Personally, I don't like SO and I'm not convinced we're better off having it around.

> 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

That sort of curiosity makes for a good Ask HN post. Maybe give that a try next time? https://news.ycombinator.com/ask

(For anyone who doesn't know, those are just text posts. It's conventional to put "Ask HN: " at the head of the title if you're asking a question, "Tell HN: " if you're telling rather than asking.)

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" quality question. If you go to a consultant (or even a helpful fellow employee) with an vague, ill-formed question with a lot of specific detail about your exact context and problem they'll help you through it. Stack Overflow doesn't give a shit. No one is going to waste time giving you a nuanced answer to a complex real-world situation; nor is it with their time to cross-examine you to find out what your real question is. That would be both time consuming and unrewarding - unrewarding because it will help at most one person. No one else will care about your specific situation, so your ceiling is at most one upvote. If you want that kind of help, you have to pay for it, in one form or another. Unfortunately, most new users ask a question about something their genuinely confused about in a topic area they've just started to learn. Big mistake. Such questions were already asked 5 years ago and you'll get closed as a duplicate, or your confusion will be interpreted as cluelessness and closed as unclear. You'll get a ton of downvotes in either case.

I like stack exchange; I have a few thousand points on two different sites. I enjoy answering questions, or even just seeing what kinds of questions are being asked, and of course use it almost hourly when googling for different problems. I rarely ask a question though, and usually regret it when I do. But at this point let's just admit it's basically just a wiki with a psuedo-Q&A gimmick.

[1]: https://lh3.googleusercontent.com/avINNb1_Dg2h6QfDRJOpnWVFWu...

> 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.

I'll add that experienced Stack Overflow users don't care about helping other users. They care about badges and reputation, which is a proxy for helping users but not quite the same.

So to me it's more like a wiki with a pseudo-Q&A gimmick with a LinkedIn-meets-github-repository-activity-bragging aspect to it, which is particularly inviting to people who like taking down others and feeling intellectually superior, 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.

A metric stops being a good metric once it becomes a target, they say.
>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) or a matter of opinion, then there's a legitimate reason to close it as not an appropriate question for Stack Overflow. Most other Q&A settings, such as Quora, are not trying to be pseudo-wikis, so these questions make more sense for those contexts.

For example, if you asked, "Should I use MySQL or SQLite", that's not a great question for Stack Overflow. 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.

> 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

I cannot even see it :-/
You can find it in the Wayback machine: http://web.archive.org/web/20140327041948/https://stackoverf...

Note that as time went on, it became one liners and anecdotes... and everyone has their own anecdote of what the differences are and how important those differences are to that person... and that leads to discussions and page finding the answer you're looking for on page 40 of the answers somewhere deep in the comments of an answer.

That wasn't the goal of Stack Overflow.

Every new question is, paradoxically, very low quality, unclear, AND off-topic, yet somehow at the same time an exact duplicate of an on-topic question with 653 upvotes. :)
> For example, if you asked, "Should I use MySQL or SQLite", that's not a great question for Stack Overflow. You might instead ask, "What are the key differences between MySQL and SQLite"

That's just really the same question rephrased. If you think the latter shouldn't be closed, then just edit the former to read like it and leave it open.

I came across an article recently about Joel Spolsky believing there was no gamification in SO and then realizing there 'was a little'.

Which is 100% disingenuous, when Jeff Atwood was first working on SO, gamification was high on his list of things he wanted to do, and it's been a part of SO since day 1.

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 question.

StackOverflow on the other hand will often give you an actual critique of your question. That criticism can be really frustrating, but it's often good for you (it has been for me). Often the problem is a problem only because of how you perceive the problem space, or you're wrong about fundamentals. Other times you're not including important details because you didn't know they were important and just having that pointed out can help, or this problem is of a known form with a known solution - you just didn't know the "magic words."

There's even something to be said for forcing people to learn a bit about the community before jumping into it. As annoying as that is and as much as it is an on boarding obstacle - it helps people work together. The on boarding process for a driver's license sucks and puts up tons of barriers, but with good reason.

I don't disagree with anything you've said, or deny that super rude and unhelpful behavior occurs there, I just want to say that some of the "bugs" of StackOverflow are probably "features."

>StackOverflow is one of the few ways you can learn to do i >StackOverflow on the other hand will often give you an actual critique of your question.

You really are giving too much credit to SO here. It hasn't been my experience with it at all.

Same here, most of the times I get a negative comment (And I mean 90% of the times) there is no critique at all just a "I think you comment with malice so you don't respect strange rule interpretation here so I am gonna close|modify|signal this question."

    > 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.

I feel like there's an "elite" of old users who are discontent that there are both people asking questions they don't like and people eager to answer those questions. If they could just elevate those old users to a different space where they don't interfere with this asking/answering which is the point of the site to begin with, everyone would probably be much happier.
It must be a little soul-crushing to be one of the old-time users and seeing the same questions over-and-over. I think instead of booting those elite users, SO should have a quarantine (or nursery) where badly-asked/homework/do-my-job questions can be shunted off to the side instead of closed immediately. Probably with do-not-crawl robots.txt.

I use SO multiple times a day and sometimes feel the urge to contribute back. I don't have enough expertise to help with deep problems, but am patient enough to work a newbie through their bash/awk/sql questions and it's enough for me to hopefully make one struggling person's day a little better.

Those aren't the only types of questions being hunted down. It's gotten really bad. Also, it's just natural that most questions are repeated. Every year there's a new generation needing to ask those same questions. Looking back doesn't always work, as technology moves to fast, last years advise can already be obsolete.

I think part of the problem is that those old users think of the place as something for eternity, when in reality it's transient. Repeating questions is desirable. Instead of closing the new questions as duplicates, it should be occasion to retire the old question. Sure, there are some answers that still hold true 10 years later, but how is the one looking for an answer supposed to know that?

One big problem as a Stack Overflow viewer who comes from Google is that many times the top result for a search leads to a question/answer that is a dead end. The question is valid but it is closed because it was asked on the wrong website (Stack Overflow vs. Stack Exchange), it's too subjective, it's a duplicate, etc. Or the question is downvoted and there are no useful answers.

Another issue which comes about from the overzealous duplicate tagging is that not all software engineering questions last forever. If someone is asking how something works in C89 and gets the best answer, and then someone else asks the same question five years later, the answer will be the same. But if it is a question about JavaScript or new C++ or Python, then answers can get stale pretty fast. One workaround the community uses is taking those questions that are top hits or top quality and keeps editing them year after year. But that only works for the high profile questions and answers. The policy hurts the site overall.

My favorite is the recursive "just google this" answer in a thread that's the top search result on Google.
that's not accepted as a good answer on SO. do you have any examples?
I've often thought that SO should archive questions past a certain age. With the archive being a button click away, so those questions can still be browsed, in case of miscategorization. Or if I could choose to archive an answer once I see it's no longer relevant.
Now I want to know what the controversial new policy was.
SO's problem was they wanted to a community that rewrote manuals and documentation, rather than be a community that helped programmers answer problems.

That created a problem that has snowballed and is probably to big to ever really fix now. It is caustic, its not user friendly (even to users with experience).

The best questions on Stack Overflow are, without fail, those marked as "not a good fit for Stack Overflow"
this. I used to write long screeds about my latest experience or why I didn't like how it worked there, but no more. Now I just say, "my most productive experiences at SO were on questions that would never be allowed today."
I have a somewhat different intepretation of the value StackOverflow provides. To me, part of what makes SO useful is the somewhat inconsistent, but still fairly obvious, requirement to do significant personal research, before asking a question. If a Here, let me google that for you link to the top result answers a users question, shouldn't there be some sort of negative feedback to cull those types of questions from the platform?

My point is, by discouraging behavior that the community is "generally" opposed to, SO helps in ways beyond just answer questions. That said, if they can make it a little nicer to ask a question, without losing the core value they provide (IMO - quality questions & quality answers), then by all means lets give it a try.

Sometimes. I once asked how to find the "successor" of a floating point number. I had Googled this, in several different ways in fact, looking for phrases like "smallest floating point number strictly larger than", "next nearest IEEE 754 float" and so on, but I hadn't hit the magic combination of words that would bring up the correct answer. My question was flagged as a duplicate of this one:

> https://stackoverflow.com/questions/10160079/how-to-find-nea...

Which is a terrible way of phrasing that question. "next/previous double value?" "like numeric_limits::epsilon but for given number?" "Quite self explanatory?" I didn't - and couldn't have - found this question via Google because it doesn't actually ask the question it purports to - it makes vague allusions to it and hopes the other party will know what they mean. The page would be much improved from a better question with a precise technical description of the exact problem asked because then the page would actually contain the keywords that people would be looking for. But stack overflow, by design, believes that the One True Way to ask a question is the way it was asked first, and that everything subsequent is a duplicate and should be closed.

HN is far more hostile than stack overflow :)
I think that's hyperbolic. I find HN to be slightly more forgiving. However, it does surprise me how hostile HN can be to a bit of humor.
Yes. Also, you don't always see people asking, "Hey I don't quite understand what you mean with this comment - can you clarify?" Instead there's a tendency to just down vote.
A really good post, and good point, but I also want to add that the first thing I thought when I saw the title was: "I don't think Stack Overflow should think of itself as a community".

In fact, SO is fantastic, the best ever at what it does, by far. It does what it does, really well. When it started, I occasionally asked or answered questions; now I don't, and it has nothing to do with community (good or bad). It's because, you know, all my questions are already asked on there, and answered, often multiple times.

This doesn't mean there won't be more questions that need asking, as of course there will for new technologies especially. It means that the ratio of users to questions has risen exponentially, so that the % who need to do _anything_ on SO has dropped.

You want the typical newbie experience? It's this: 1) types question into Google 2) clicks on link to SO 3) may have to repeat steps 1-2 a couple times 4) finds answer to their question 5) goes away

There is nothing in this that resembles "community". Like wikipedia, there may be a core group of ultra devoted users who keep adding new content. And you know what? That's ok. Perfect, even. The problem with SO's community, is that it's thought of as a community.

The worst thing they could do with SO, is try to make it a community. We already have Facebook and Twitter, and they didn't turn out so well. We don't have another substitute for Stack Overflow, if they try to turn it into a social network.

I'm a top 2% on a stack (gamedev), and find it very frustrating when I try to help the new users with an answer or in comments, and have the other mods come down on me for trying to help. I've had my fellow mods berate me in comments for trying to help. "With your reputation you should know better!" was one comment I got. At least I can still try to be helpful in comments on closed questions. And I can vote up questions that I see are getting pushed down with negativity.

To me, a lot of times naive and new user questions are excellent opportunities for learning, mentoring, and sharing. You have this little moment where you influence someone in a positive way, make them feel welcome, and maybe put them on a path to growth as a developer.

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.

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.

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.
Right. "Closed as Duplicate" could be renamed "Great Question! We have an answer for you over here!" without change in functionality and it would be an improvement. They could take it further and keep the duplicate as a "rephrasing" or "alternative statement" of a question - shouldn't it improve Google search-ability, having several different ways stating a question? And asking a duplicate question in your own words shouldn't be penalized; it is, prima facae, both a good and frequently asked question. It would be so easy to make the question-asking experience better for the vast majority of users... and yet they don't.
Down votes mean nothing - they are simply someone saying, "WRONG!" with no explanation of why. As such there is really not much of an opportunity to learn. Well, beyond not coming back.

Imagine though if they had some kind of coaching system based on down votes. If you get no response or get negative on your early posts, you get a private (automated) message with helpful tips. Better yet, you get a link to a SO question that goes something like, "My question is not getting any answers, what can I do to improve it?" or "My question got down voted a lot, what can I do to improve it?"

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).
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.)

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.

I have never participated in StackOverflow. In the early years, it was because they didn't allow logins except through Google/Facebook. And then it was because as an experienced developer with answers, I can provide value to the site but I don't have enough "reputation" to anything useful. I have to do a bunch of meaningless crap to earn the privilege of doing anything useful.

Most of you probably don't have this problem because you've long contributed to Stackoverflow. But the user experience isn't just hostile to newbies asking questions but also really anyone who hasn't been contributing for a long time.

Exactly this. There have been numerous occasions I could answer a question or at least add some helpful information. But I couldn’t because I didn’t have enough reputation, with no helpful way to get it.

I think they have it backwards. They should prioritize answering questions and adding comments, not asking questions.

Hostility is an issue that has plagued every major discussion board, comment section, and social network. I applaud any network that makes a real effort to manage the hostility. It is a very difficult problem to manage, since people rarely intend to sound hostile, yet most readers assume the worst.

My sister leaves Facebook every few months because she perceives there's too much hostility there, then rejoins again a few months later to see what's going on in the family. I see most of the posts and comments she sees, and I can see why she thinks people might be belittling her, so I don't blame her. I'm glad she doesn't try to get into technical discussions where the appearance of hostility can be far worse.

What I find deeply frustrating and unhelpful on Stack Overflow are answers that don't offer a solution but instead give reasons why the OP shouldn't be doing what they're doing in the first place. Q: How can I do this in jQuery? A: You don't need jQuery. You should be using vanilla JS for that. Q: How can I hide scrollbars using CSS? A: That's bad UX and you shouldn't be doing that in the first place.

The lack of regard for the context of the problem the OP is trying to solve/trust that they have their reasons and project constraints for doing so is annoying and disrespectful.

this reads a bit like a parody of the all-inclusive movement. the first half of the article chronicles how she took offence where none was offered, and instead of "my bad", there's a whole 'nother half of it talking about "improving the way people give each other feedback".

as others have suggested, (part of) the issue is with the nature of the site itself. we can talk about elitism, seniors shitting on "noobs", whatever. the truth is, there's all walks of people on SO. there's a continuous barrage of bare-naked prompts for "do my homework for me", there's a continuous barrage of "(i don't even know which side is up, but) what's wrong with this gymnastics equipment i'm using?" questions. if you're any kind of regular in that kind of environment, you'll eventuaatlly get exhausted. the only way they can improve the site for "beginners", however ill-defined that term is, covering both the blatant homework cheaters and honest learners, is to limit engagement by force. "you seem burnt out, you can't post comments or answers for a week. come back when you're in a better mood." that seems like a sure-fire way to drive away their knowledge pool and ultimately their revenue stream. another way is to rate-limit the crappy input, but that doesn't seem to be what the article is hinting at at all.

for all the bitching about how toxic SO is, this is not my personal experience. however, that doesn't mean i think the format of the site has merit. IMO, if you want to fix the experience for honest neophytes, you need to enable dialogue. a newbie asks a ill-posed question, a senior points out the misconceptions, asks for clarifications. the newbie comes back with more information, improved followup. senior is finally in position to provide a red-meat answer.

i just described a mailing list, and that's a format you cannot sell with the kind of margin SO has been raking in. they could ditch their programmers and employ a bunch of writers to collate the wisdom of various product-specific mailing lists into an encyclopedia, but they're not interested. i understand that, it'd be a hell of a pivot. but if they push on catering to the lowest common denominator, they're doomed.

One issue is moderation vs answering. Users interested in moderating questions are more prominent than users looking to actually answer questions.

1) Grace period. For new questions (and especially for new users) - add a grace period where the downvoting, closing questions, and voting to close are all prohibited. Could be 4 to 24 hours - some optimal window where questioners can read comments, clarify their question, add/revise code examples, etc. Getting downvoted or closed is an extremely toxic experience and tends to position the well for all questioners, be they newbies or veterans.

2) As an answerer I also need a way to watch a question and see if it improves over time. So when I provide feedback in a comment, or flag/watch a question, I need a historical view of all my threads.

Right now the experience is upvote or downvote right away, proffer an answer right away, vote to close or otherwise flag right away; there's too much immediacy in the interface. It feels like a churn. And churn is a game that appeals to rule enforcers (moderators).

3) Chat. A bad question may be intrinsically bad - incoherent and confused and unanswerable by anyone. Or a question may be bad in context.

SO is like email. It's asynchronous and creates a conversation history. In this context a good question is direct, concise, and descriptive.

Many questioners approach SO like it was a chat. They need to ask several small questions before they can formulate a real question. They need an informal conversation (chat) to set up a well structured, intelligible question (email). Many users are looking for help through the whole process: exploration > formulation > resolution. SO is optimized for the last step and ruthlessly moderates out the antecedent steps.

SO already has a chat at https://chat.stackoverflow.com/ - but usage seems sparse. Instead of "vote to close" being the only option for bad questions, maybe recategorize them instead. "Send to chat" or "Request for comments" to flag a question that needs help getting to an answerable state.

For me SO has been useful when I search on google and the 1st result is a similar question on the platform. Almost never get the answers on stack overflow, but I find alternate ways to search on google for the answers that I need, which is often found on other sites. With the focus on questions and phrasing , the site has become an useful resource to find ways to rephrase your questions, but very rarely find the required answers on the site.