Stack Overflow Culture
codeblog.jonskeet.uk
codeblog.jonskeet.uk
Asking a question on SO is a last resort to me, and I get a horrid sinking feeling in my gut when I feel forced to do so. The people[1] who are still active on it seem to be people who thrive on pedantry and whose goal is to find any potential flaw in your question and feel smart for pointing it out.
You begin to realise no one is actually reading your question in good faith, so you start getting defensive: filling your questions with disclaimers about how your example code is just an example[2], how you know there are other ways you could do it but you're constrained toward this direction for various reasons[3], and so on and so forth, until you feel like you spend more time defensively shoring up your question from attacks than actually constructing the question in the first place[4]
I still read SO, but as someone who was around before it existed I don't really feel like the quality of answers is any higher than the random forum posts of yore, it's just that they're all under the same URL now, and the same user interface.
Which I suppose is something.
[1] Not all people™, but definitely the general feeling tends this direction
[2] classic situation: you simplify your code to Foo and Bar levels to show the problem cleanly, so people chastise you for having a complex data structure / worrying about performance / whatever for such simple code
[3] e.g., "How do I achieve X" gets turned into people saying "Why would you want to achieve X, that's stupid"
[4] This is not the same as researching the issue and trying as many things as you can think of, which is definitely helpful in any context of question asking
Especially in the JS space[1], there are lots of historic answers upvoted on SO that are now wrong and you have to scroll around (or find a slightly rephrasing of the same question that occurred more recently) to find a good answer. Unfortunately the longer a question is around both the more answers it has and the more likely the answers are to be wrong. On forums / mailing lists the question would just be reasked. On SO it is supposedly a wiki so new versions of the same question gets closed.
[1] Because it has evolved a lot, Rust has similar issues, as I'm sure lots of languages do
I really do try my hardest to keep old questions and answers relevant. Stack Overflow allows editing Q&A for a reason, and any time I stumble on an older post, I at least think about updating it.
One thing that I've occasionally found frustrating is that someone sees a question was asked 2 years ago and thus assumes that it must be invalid / out-of-date. They simply don't look at the edit dates.
Remember that Rust has a pretty strong backwards compatibility guarantee. Any answer using only the standard library in the last 3 years should still be valid (crates are a different concern). If you find a question you think has become stale, add a bounty to it to raise attention — that's the SO recommended path of action.
We also have a Rust chatroom on SO where a bunch of regulars hang out and people are welcome to pop in and ask if a Q&A is still valid.
I have nearly given up looking for JS answers in SO because they are such garbage these days. I am learning Rust right now and still find answers on there useful.
We actually have a specific tag for those cases (`rust-obsolete`), so if the question / answer cannot be rehabilitated for Rust 1.0, that's a useful thing (I also try to add an in-question disclaimer to make it easier to spot)
A lot of the editing I do is to improve the grammar, reduce fluff, use Rust-standard indentation, improve the formatting, include complete error messages, update links, etc. None of that should affect users of older versions other than to make it easier to get to the core content of the Q/A.
When a new Rust feature comes out, usually the original part of the answer gets a header denoting the compatibility. https://stackoverflow.com/a/28953618/155423 is such an example.
Note that SO does keep a revision log of edits (e.g. https://stackoverflow.com/posts/28953618/revisions) to a post. You can browse that if you think there might be something hidden that's worth exploring. This doesn't necessarily help with search engines, of course.
And how many of those slight rephrasings never got a chance to get a more relevant, correct, modern answer because they were marked as a duplicate?
- they get marked as duplicates, so that all future people coming in via Google get funnelled to one place
- that place gets new modern, more relevant answers
- they get voted up because they're useful
- people add comments about answer compatibility
- they either overtake the other answers and the other answers stay around as history, or if they don't there is a single place where relevant answers can be found.
1 question with 10 answers is a lot more discoverable than 10 questions with 10 answers.
One leads to 9 answers to skim-read and ignore and 1 answer to use.
The other leads to you finding 6 questions and 6 answers you don't like and 0 answers to use and missing 4 you didn't know existed.
About that, there seems to be a recent trend that answer quality is so low that the only actual useful information is on the comments.
Sometimes you have to work out the underlying Q is and answer that even if the OP doesn't want to hear it.
And often times you have people trying to "work out the underlying Q" leaving your question still open but with useless answers.
How dare they feel smart huff puff
Because it really sucks to spend half an hour on an answer and then op goes "actually I'm doing this" and the spec shifts completely rendering your effort wasted.
A few times of that, and "clarify your question so it's very clear what you're asking" is a lot cheaper.
This is exactly how I feel about asking a question! Except "Actually I'm doing this" is "why don't you do that" or "why are you doing this" etc.
> Because it really sucks to spend half an hour on an answer
My feeling is that they aren't answering the question though, not the core one, there finding a thing that you're wrong about and talking about that instead.
It's like taking the above paragraph and refuting it by saying "*they're". Yes there is an (intentional) spelling mistake in there, but is that really the point of that it's trying to say?
"How do I parse x from some text my code is (pile of code)"
"you could do y approach (code with example test) but it might break in z condition will you have z condition?"
"I'm trying to get a result from this"
"Well if you'd said so there's a built in way to do that directly exasperated"
Is that "not answering the core question"?
That, I feel, leads to "why are you doing this?" style comments.
Are you really talking about spelling nitpicks? Because anyone can edit questions to correct that kind of "clarification" and I do see people quietly doing that to help questioners with mangled markdown formatting and similar
Totally.
> Are you really talking about spelling nitpicks?
Sometimes. I'm trying to be vague because I don't want to pick on specific examples, but what I really mean is nitpicks that are irrelevant to the core question.
For me the core pain felt like:
- Askers working out how much context to bring to a question
- Answerers not presuming there is more context to the question
- The ensuing fight spread over answers, re-edits and comments, leaving a gross complicated passive aggressive mess at the end of it
So you don't want to explain your entire life story, and when you encounter problems you usually aren't working on something that easily compresses into 20 lines of code. So there is expected and undestandable challenge in compressing your example. Not bringing too much context is also important, because you're trying to ask one specific question, not the hundreds of potential questions in your codebase.
But often times I feel answerers will take your example, presume it's literally that, even with `foo` and `bar` as classnames or whatever, and take it completely as face value and then point out why it's obviously stupid, even when those stupid things are ancillary to the main point, and there only because it's compressed example code.
Extra context to my opinions here: I haven't seriously contributed to SO in at least 5 years. I probably ask 1-2 questions a year now, and do so with great trepidation. Grain of salt and all that,
To quote myself in a comment on a now-closed question just yesterday:
> Your desired output would be invalid json anyway, what are you actually trying to do?
You really can't answer something reliably when the asker is posting things that don't make sense.
Hmm, we really remember things differently. I remember:
- Answers locked behind paywalls (ExpertsExchange)
- Searching pages of forum threads.
- Answers spread across multiple posts
- "Nvm, I solved it" https://xkcd.com/979/
In my experience, finding answers to programming questions is in a much, much better state of affairs now than it was in 2007.
I routinely cringe at reading some of the comments on SO, the general smugness on there. However there's no comparison to the past options. It's better in every way. Forums of old were overflowing with plenty of smug behavior as well, SO didn't spawn that.
It would help showing that in your question. Often questions lack the necessary information to discern whether the asker has actually covered the basics
> [...] how you know there are other ways you could do it but you're constrained toward this direction for various reasons
Answerers are also programmers that like to apply best practices whenever possible. If you want to do something unusual which might smell a little without explanation your colleagues, code reviewers or similar would probably also ask "is this really necessary?". So you either have to write defensively from the start or deal with the patronizing-but-wellmeaning-comment-downvote-edit-reopen ordeal.
It's unfortunate, but there is an information asymmetry. The answerers can only see what you write, while you have all the background information specific to your case.
It's weird that both sites' communities have made it difficult for old users to take part, but in completely different ways.
[1] https://www.quora.com/Which-is-the-best-WordPress-plugin-to-...
I mean, I get that SO wants to be a programming resource (as in "archive") where people with a problem should find a solution - not by asking but through googling. And so they want question/answer pairs that have a sort of general value, not an individual answer to just one person.
But then again: why? What's the big deal? Someone has a very specific question, and maybe nobody in the universe will ever have the same question again, but I'm willing to help that person out -- why shouldn't I be allowed to do it? Are they really worried about too much noise on the site? Please, come on.
In the situation I sketched above, I will still walk away having learned something new, but the person who posed the original question is left with a very negative user experience AND is none the wiser regarding their specific problem. At the same time, I was never allowed to help that person which I wanted to do not for the potential credit points but rather for altruistic reasons. Way to go.
Is this really so hard to believe? I have been a member of the community for ten years now (https://goo.gl/JZkqSP) and have seen the number of low-quality questions rise to the point where I honestly don’t enjoy answering any more. People don’t care to ask well, they just want to get over their personal issue as quickly as possible and be done with it.
It may well be true that the number of low-quality questions is increasing (I believe it, some really are just garbage), but the number of low-quality reviewers has unfortunately also increased.
When nearly every question I end up on has been closed it seems they don't really care, if they did closed questions would disappear.
The product itself has also become 1000x worse to use and I think it's one of the biggest examples of a Silicon Valley company that remains successful despite the constantly bad product management.
Anything that is spam worthy, like marketing or self help, is pretty much junk.
But other topics on there are fascinating. I read a few weeks ago an account of someone's grandpa who was an SS officer in Nazi Germany.
If you have an interest in a topic that isn't typically spammed by 'gurus', check it out on Quora.
I swear these people must sit F5-spamming their review queue, just itching to flag every question possible. They really make it an unpleasant place nowadays.
Hey, you have to earn those sweet internet points somehow... Gamification has its downsides like this.
This is how the system is designed, IMO. It's the encouraged behaviour.
This does not help when offering basic advice on employment out side the USA you will see I highly rated posts go on about "right to work" - this has Zero if not negative value and could actively cause harm.
And you don't feel the same thing when you comment on HN?
I honestly think every point you made about SO can also be said of HN, reddit and almost any other place where people congregate online.
StackOverflow has saved the shit out of so many developers. What would a junior engineer do without an SO thread?
Also, in case the blog author's name (Jon Skeet) didn't ring a bell, he's Stack Overflow's #1 contributor. If you've ever searched for anything related to C#, you've probably seen his answers, which have racked up over a million reputation points: https://stackoverflow.com/users/22656/jon-skeet
Once most of the pioneering work is done, and the low hanging articles are written, a community needs to decide how to proceed. Who are you going to maximize value for? In the early days it makes sense to focus on what is the rarest resource (in SO's case, probably the answerers) but as a community matures, the focus can shift. Now it is frankly the anonymous viewer that it makes sense to optimize for, both from a monetary standpoint (jobs display being a primary monetization strategy) and a social good standpoint (far more anonymous viewers than either askers or answerers).
http://blog.gardeviance.org/2015/03/on-pioneers-settlers-tow...
The guy is a legend. If there was ever an MVP in the C#/.NET space, it's this guy. His books are great too.
he has (had?) some competition from eric lippert. i used to love reading his blog when i did c# work.
Political wonks are fascinated by process. They love the game. They get as much satisfaction from observing as changing. They want to be players above all else. Ideals bore them. History is mere data. Intellectuals seem irrelevant. What matters to the wonk are the hard realities of the ongoing political struggle. They defer to title and rank. They thrive on meetings, small victories, administrative details, and gossip about these matters. Knowing who is who and what is what is the very pith of life.
Geeks, on the other hand:
They are no less fascinated by detail but are drawn to ideals. Observation alone bores them. They are drawn to the prospect of change. They don't want to be players as such; they question the very rules of the game and want to change them. They are happy to make a difference in the ideological infrastructure, whether big or small. They tend to work alone and totally disregard caste distinctions.
As to your frustration with Wikipedia’s political elite
The wonks are the ones who consolidate, stabilize, and entrench the status quo; the geeks are the ones who prepare revolutionary change. The wonks freeze it into place and make it work more efficiently; the geeks imagine and work toward a future that no one thought was possible. The wonks rule out drastic and extreme measures as imprudent and reckless; they geeks think these paths are the only ones worth pursing, and have confidence that the unknown future will somehow work itself out. The wonks try to bring the king around to their point of view; the geeks kill the king.
Tucker describes the conflict between the two camps.
The geeks and wonks can work together but there will always be a natural tensions between the two. The wonks think the geeks are hopeless, powerless, reckless outsiders whose heads are full of useless and unrealistic fantasies. The geeks think that the wonks are part of the system and, therefore, more than likely corrupted by it, and increasingly so.
Broadening the view, the struggle to control history is a battle between the wonks and the geeks …
According to his view, Julius Caesar represented the wonks and Brutus the geeks in Ancient Rome. In the America’s revolutionary generation, they were Alexander Hamilton and Thomas Jefferson.
(1) the terminology adopted is hostile to the pre-established usage—in politics, the term “wonk” is almost exactly equivalent to the general use term “geek” and occurs most frequently in the phrase “policy wonk”, which it is taken to refer to when used alone. It almost means the opposite of a person obsessed with process but unconcerned with ideals and output. (“Almost” because policy wonks often extend their concern with policy to the mechanisms by which policy proposals are implemented, so they aren't necessarily unconcerned with process.) It's publicly visible uses have been about politicians who are perceived get into the tiny details of policy rather than confining themselves to the process lane the way people expect politicians to (Bill Clinton was a notable example.) And while “geeks” is rarely used about any obsession with a political subject matter, where I have seen it used, it's been consistently about people who are obsessed with polling and process dynamics, very commonly media analysts or hired-gun political consultants, whose only concern with policy is can it pass and what votes will it win or cost for the people visibly supporting or opposing it.
(2) The specific examples are not so good; most notably, the idea that Hamilton was concerned only with process and not ideals (or that Jefferson was focussed on ideals and not process) is ludicrous.
The battle to control history isn't between people focussed on process and those focussed on ideals, its between different ideals. The people focussed only on process are observers or mercenaries, not a side of the battle of their own.
And make it dysfunctional, because it's too busy serving itself.
I agree with your observation but Jon Skeet's essay seemed to be focusing on something else... the culture of hostility (or perceived hostility). The key words I noticed he used (multiple times) were "hostility", "jerks", "feelings".
On the other hand, the keywords I would associate with your observation would be... "boredom", "novelty of a new website", "low hanging fruit to quickly build easy karma", etc.
To discuss Jon's specific angle, let's use an example of a [tag] that's fairly new technology such as "[vue.js]". Since Vue is 2014, it doesn't have the "completeness of answers" of a very old tag like C# from 2008.
Here's a Vue question sitting downvoted to negative 4: https://stackoverflow.com/questions/49345098/how-to-get-prop...
Maybe his question deserved all those downvotes. I don't know enough about Vue to guess if the downvotes were all caused by a pasted screenshot instead of pure text.
To Jon's "culture" essay, is the minus-4 the optimal way to communicate it's a "bad" question? Is it a bad question because of its format (the screenshot) or was it bad because "props" is a trivial LMGTFY (Let Me Google That For You Question)?
Here's another Vue question at negative 1: https://stackoverflow.com/questions/49321665/how-to-add-a-ge...
To generalize, if there's "[new technology]" that opens a vast untaken area for new contributions of answers, is the culture created by Stackoverflow's mechanisms (the downvotes, the karma system, the moderators' powers, the "closings" vs "moving", etc) ... the best incentive system to minimize hostility?
Are Jon's well-intentioned "covenants" realistic? Or are they naive to human tendencies when any website is open to mass participation?
Personally I try to use my downvotes only as a last resort, for factually wrong answers or questions where clarification attempts went nowhere.
I have several well recived answers there but I have never downvoted anyone because leaving it as is feels right than downvoting for the reasons you mentioned. I never asked a question there and tried figuring out the answers based on existing resources and on my own and it helped me learning a lot. This might not be the right way but being hostile and downvoting feels more than disagreement to me. This is the reason why I avoid being there.
You need 125 rep to be able to cast a down vote (votes for people and anonymous users with less than 125 are recorded in an anonymous votes table ( for example, http://data.stackexchange.com/stackoverflow/query/209365/ano... ).
Hacker News has down votes too... and you can't down vote until you get a certain amount of karma.
The rep lost from down votes are an investment in site quality that you get back if the post is deleted.
Maybe that's not how most people do it?
[edit] I should have done my research before asking the question :P Apparently downvoting on S.O. does cost reputation/points. I guess the actual cost is so small it seems to be in the doesn't-matter category, at least for me as I didn't even notice. Perhaps if the cost was higher...
[edit2] I looked it up, and the cost is indeed trivial - one point. An upvote on your answer provides 10 points, and you can of course receive many upvotes for a good answer. The cost of downvoting is really only significant for a new/low reputation user. High reputation users can still be poor-downvoters. Seems to me there's a lot of opportunity to tweak the costs of downvoting to reduce the negative aspects of it.
The downvote button is marked "shows no research effort".
Where's the "I looked at this manual and that tutorial and this debugger and tried these things"? Nowhere, which makes it feel like "I put no effort in stackoverflow do it for me".
The downvote button is an awful way to do what it purports to do. In practise it's percieved as more of an "oh fuck off" button.
It's a single mouse click by a single person (or maybe a bot), but it carries so much weight.
Yeah, one of SO's problems is people using its question system to cache-hit other people's brains instead of having to spend 2 seconds on google.
I can't really agree with any posts here that think the solution is to tolerate it with poor question quality and duplicates. But good luck doing that in a way that doesn't grate on anyone.
To address this issue, I put together a "deep-cuts" algorithm that uses the API to tries to find overlooked higher quality questions that have yet to be answered.
The code is available here:
https://github.com/klenwell/stack-overflow-deep-cuts/blob/ma...
It's not perfect. But if you're looking to engage with Stack Overflow, I've found it much more useful than the rat-race to answer (or close) new questions.
And some pairs do better/worse than others: http://minimaxir.com/img/stack-overflow-tags/so_tag_adjacenc...
I went all the way from a simple coder to management, and now I'm doing both, running my second startup. I talk to people of different walks of life, and I always do my homework.
But on Stack Overflow, it's like I'm back to the early years of my career, a stupid newbie whose questions get randomly downvoted. I delete it, tweak the wording a little bit, and now it's suddenly accepted. I say something like, "a solution or a 3rd party library", an idiot downvotes me saying that "requests to recommend 3rd party libraries are offtopic". I change it to "a solution (3rd party library is OK)", and now it's suddenly fine.
It's like the mafia of high-karma answerers decided to adopt Les Grossman as their role model.
As a side effect, the good answerers are gone, and the really tricky questions are left unanswered, so I often answer them myself. Although, the way Stack Overflow is, my desire to contribute to the community is diminishing.
I usually don't downvote answer that ask for 3rd party libraries, just vote to close. Your example is a bit borderline and it's something I wouldn't close, but I can see how someone might think it warrants to be closed. Consider that the rule about external tools is meant to avoid a deluge of answers about libraries. They may be useful, but none of them is objectively right and can cause religious wars with people downvoting answers about libraries they don't like and massively upvoting their favorite library.
If we can avoid this by being strict, I think it's a good thing. But hey, I'm just one of hundreds of thousands users, so it's not like my opinion is somehow more valuable than yours.
Like many, I find the answers to these "religious" (in fact, they are not, because done properly the answers are supported by arguments) questions to be the most useful content.
In many ways, I can answer the most objective questions myself from the documentation or source code. But what I cannot do this with is distillation of expert knowledge that requires time, and the more distilled it is, the more subjective it is. Subjective doesn't mean unsupportable by facts (experience).
The utility became less and less over time. It can be done with a small enough and dedicated community behind it (the C++ book list), but without that amount of attention and dedication its not that good anymore.
There's also the number of questions. Stack Overflow back then got maybe a few hundred questions a day. You could glance over all of them in a tag in a page. Now it gets 8000 questions per day. Asking a recommendation question doesn't get your post there for a large community of experts. You're lucky if you've got a few minutes of visibility now.
Look back at one of those https://stackoverflow.com/q/22697 - "only" 14 answers to it... and look how many of them are saying the same thing. That's not useful. https://www.slant.co/topics/259/~best-mock-frameworks-for-ja...
Try https://www.slant.co for the recommendations - its designed for that.
The problem of "same answer repeated" becomes contrary to the "find the answer rather than scrolling through pages" when posts get sufficiently popular. Go through all the pages of https://stackoverflow.com/q/1711 and count how many times the mythical man month is mentioned. Unless you read through all 214 visible answers, do you know how much consensus exists from material on the last page?
They gave it a try - https://stackoverflow.blog/2010/12/17/introducing-programmer... and it veered off into unmanageable and at the end of the day, uninteresting https://stackoverflow.blog/2010/09/29/good-subjective-bad-su...
It had a really big initial peak, but people didn't stick around. https://meta.stackexchange.com/a/200144
There's a place for such questions, it just isn't Stack Overflow. It isn't the trash either... but its that the structure and the framework of Stack Overflow doesn't work for that sort of question.
The problem is that the endless debates tend to drive away the people who provide the answers. Look at the questions on https://ai.stackexchange.com and consider some of the older ones https://ai.stackexchange.com/questions?page=30&sort=newest to the newest https://ai.stackexchange.com/questions?page=1&sort=newest . They really had a problem with the... science fiction questions https://ai.meta.stackexchange.com/q/1283 and appear to have a done a strong change. Sure, those are interesting, but if one wants to ask questions of the experts, they need to ask questions the experts want to answer. There's a site that handles those questions better... https://worldbuilding.stackexchange.com/questions/tagged/art...
The main thing is that it takes some degree of moderation to keep the people who have the answers that people want. This means matching the site to the vision of the site that the people who have answers want to visit... and that's a lot of clauses. Without that moderation striving for what the site could be, you get https://answers.yahoo.com/dir/index?sid=396545663&link=list and there's a reason that experts tend not to go there and try to answer those questions.
As to the its a human issue, not a technical one - I'd suggest giving http://www.shirky.com/writings/group_enemy.html a read. The first of the three things to accept.
I've read Jeffs essay. I've used programmers.se and basically vowed never to go back after a few years because the moderation itself is piss poor (there one person gnat who's sole mission is to close every new question unless it's asked by one of their inner circle of buddies). It's really a joke. There's literally no reason for programmers to exist if not for expert opinioned discussions but they started cracking down on that and rendered the site useless. It's not just me either. Other good contributors have posted the same reasons for leaving in meta and in other forums.
I think you're conflating useful questions and good moderation with opinionated Q/A. I don't think anyone wants SE to be yahoo answers. But a question like what is the correct way to implement IO multiplexing is really useful. I think in SOs crusade to rid the site of opinion-based questions that are hard to handle, they threw the baby out with the bath water and got rid of some of the most useful discussions as a byproduct. Is SO dead? No. But I certainly get less utility out of it these days because I'm less willing to contribute when 90% of the time questions are met with instant downvotes and flags because someone didn't understand the finesse in a question and/or didn't assume positive intent so they could justify being pedantic assholes. I'm pedantic too. I draw the line at using it as a reason to be an asshole though.
I'm not saying SO didn't do its homework. But I am giving one data point that feels SO's usefulness has been marginalized because of the way the community has interpreted "no opinion based questions". I feel that zealotry has spilled out into the general air at stack overflow and it's no longer engaging or fun for many people to contribute these days. Take that for what it is, I guess.
Same for me. I think it is not wise to expect your users to be that fanatics, that they can't recommend any tool, without starting a flame war all the time. I mean there certainly are fanatics on the internet who fight with religious passion about the weirdest things, but I believe they are not the majority.
So just banning something that might cause trouble, but loosing all the benefits, I think was not a good decision.
But apart from that, I found lots of help on SO. But like others, not so much anymore, but mostly simply because I rarely need to look up things and the problems I do have are too obscure, for the main users, which are the target group, so I solve them by other means.
> Answers that just recommend a 3rd party library optimize for solving the immediate problem an answerer is having asap but they don't work very well at creating a long lasting resource and they also give answerers a hard time.
I see no problem with this. Furthermore, if you can ask a question about using a particular library, you should be able to give that library as an answer.
IMHO, any problems around "3rd party libraries" could be solved from a combination of improved culture (e.g. explain the solution with a library reference) and technical tools (e.g. tagging with library version, result/answer ranking tweaks, etc.)
> Opinion questions can get outdated very quickly and it is hard to tell if you come from a google search if the answers are still applicable.
SO could solve that problem rather than giving up. For better or worse, SO is the watering hole for programming questions. As long as dups are kept under control, competent people can find the old questions and provide new, updated answers that will converge on completeness. Also, "outdated" answers can still have value, since not everyone is using the latest stuff.
What SO needs is features for fixing the practical problems you outlined:
> They also don't work well with the site format because you cant summarize the solution into one accepted answer. Instead, you get hundreds of tiny small disconnected answers, which cant really be edited to consolidate or keep them up to date, and no room for discussions (SO comments don't work well for long discussions)
I would say some form of extra curation, answer clustering, and old answer decay would go a long way towards addressing this, and it would be a great improvement on the existing situation of digging through old forum posts or making new ones (to an audience that may or may not have good opinions).
I call them an idiot because they were nitpicking on a question that was asking for help well within the already Procrustean bed of regulations. I stand by my assessment: it's hardly a reason to refuse help citing bureaucratic regulations if you're a public servant, but that's somewhat expected. If, however, it's a fellow forum contributor, this is both unexpected and serves no purpose.
Not sure who's right, of course, but as you see, the number of people complaining is greater by day. Note that many of them are familiar with the Internet since 1990s and are netizens of good standing; still, they manage to somehow "violate" these rules.
As soon as there is a real competition to the "soup Nazi's shop", many people will jump ship without hesitation.
It's also interesting that other Stack Exchange communities are not that strict.
Its a matter of scale and the ratio of the amount of time people are willing to help to the incoming question rate.
Lets say there are 500 people who are willing to spend the time to help a user craft a better question. They are willing to spend 60 minutes per day helping. Thats 30,000 minutes per day. There are 8,000 question/day. If we generously apply Sturgeon's law to this, thats 7,2000 questions in need of help.
And now we're at 4.2 minutes per question for those 500 people. If you believe this is a smaller number based on https://stackoverflow.com/review/helper/stats and https://stackoverflow.com/review/close/stats then apply the appropriate scaling.
You might want to work off of the values in https://meta.stackoverflow.com/questions/357198/mentorship-r...
> 63 mentors from the community volunteered to be our partners.
Lets think about a smaller site now. Electrical Engineering gets 80 questions per day. DBA gets 40. Now you've got a point where each question with potential to it can have someone spend a significant amount of time making it into a good question for the site.
The other half to that is the curation of the answers. Questions with discussions and polling are a nightmare to keep curated. Consider https://stackoverflow.com/q/1711 or https://stackoverflow.com/q/406760 or https://stackoverflow.com/q/184618 and how many duplicate answers there are in there. Consider that if that was open, how often would a new user go to that post and create another poor answer to add their own opinion.
Yes, each time a new answer is posted, there's activity on that the question that bumps it to the front page... but the front page scrolls too fast to do meaningful curation for all but the worst (and this also takes time out of the 1h for those 500 people).
A smaller site can spend a lot more time per user to guide them to ask a good question and a lot more time per answer to make it something that is a good answer.
why ? why do you do this ? a lot of time there is an exact piece of code that does what OP asks for, what does it change if the piece of code is in a SO answer or in a github project ?
Library recommendations however - everyone has their favorite. Someone recommends Spring. Someone else recommends Play. Someone else recommends Stripes (and then has a dozen comments explaining the different between Stripes and Stripe). Someone else has Struts (and then gets a dozen comments about the version they're recommending being out of date and lead to the equifax breech). JSF, Jspx, JHipster, Grails, GWT, ... it goes on and on.
And now that there are a score of answers, some new user sees the post, doesn't read everything and recommends a new version of Spring. Or points to a different site for Struts.
The curation of such a question takes far more work than the question is worth. Look at how much effort the C++ community puts into maintaining the C++ book list. Spending that much effort on each recommendation question is far too much moderation time across the community.
On the other hand... go to a site that is designed with exactly that goal in mind. https://www.slant.co/topics/40/~best-java-web-frameworks does it much better than Stack Overflow can.
But you admit to trying to suppress his ability to express that opinion and see no problem in doing so?
The point being, SO is not for opinions, and not because I say so. The rules of the site say so. And I (and others) already explained why there are such rules. So why shouldn't I vote to close a question that is patently off-topic when the site rules say I should vote to close it?
> But you admit to trying to suppress his ability to express that opinion and see no problem in doing so?
Is this a trial? I find this phrase is a bit accusatory, but maybe I'm just reading too much into it.
IMO it doesn't scale indefinitely. There's a site culture to be maintained, and as the site gets larger the core moderator culture becomes a smaller and more isolated part of the site.
I get why your question is on hold. But I find it unfair. Some of the best questions and answers have been highly opinionated. And I have often been led to on hold questions by google.
An opinionated SO site might be nice. In the old days we had newsgroups for this. But that audience has disappeared when everything moved to the web.
That's very much considered offtopic on SO. Maybe other sites on the SE network such as Information Security or Software Engineering might have taken it. But I don't use either of those, so I don't know if that would actually fit into their policies.
That's exactly what I want to discuss on SO.
Most SO questions/answers are things that could easily be googled/RTFM with 5 minutes worth of effort. Seasoned developers/architects don't need that, and to be frank, it's pretty low-hanging fruit and not super valuable.
What is valuable are opinions, experiences, perspectives on trade-offs and engineering considerations. These are, of course, highly personal and subjective. But that's why it's so important - it's this kind of experience that people pay high salaries for, not answer to specific code one-liners.
If SO isn't willing to provide that kind of discussion, they're going to very susceptible to someone who starts up a competing platform to do so.
Is discuss the keyword here? Because a back-and-forth is not exactly what the Q&A format enables.
And I think that Q&A format of SO is actually quite appropriate for that sort of thing; unlike the usual discussion forums, which may get into real discussion of nuances of expert consensus. (Maybe that's where the cultural misunderstanding about SO comes from, that people actually want a site which will give an expert opinion, more or less, without having to read experts arguing too much?)
Isn't that kinda what hackernews is? The breadth of discussion here is far more varied than hackernews. I'd also think a place like lobste.rs or maybe an architecture specific slack would be a good spot for this.
I personally think it is fine for SO to set boundaries of what is acceptable discussion, and at the same time it is ok for you to be frustrated with that and think of other places to ask your (very valid) question.
The whole philosophy of StackOverflow was that it wasn’t about sharing opinions, discussions, etc. - it was about questions that have an answer.
Jon’s post points out this difference: that some askers want to ask a question, but haven’t taken the time to understand what makes StackOverflow different to the discussion forums of old.
The people answering questions have time boxed their involvement. Here's 15 minutes, here's an answer and move on.
I've had discussions on slack that span days. But that's ok... because its people I know and trust to be mindful of my time and theirs. They ask interesting questions that make me think.
To open up the spigot to everyone asking those questions (and while they are the ones I'd be most interested in having a discussion with), would make it impossible for me to ask or find anything in the future.
And as an expert in my domain, I'd be rather annoyed at getting dozens (or I suspect hundreds Jon's case) questions asking my opinion each day. I don't have time for them. I've chosen to spend time to answer this question and have a reasonable work / life / social-site balance.
Those sites all work exactly the same as StackOverflow and you can login with a single account. Just the rules regarding content are different. See for example https://softwareengineering.stackexchange.com/
There is also the Area 51 site for proposals for new sites: https://area51.stackexchange.com/
They're still around. They're smaller... and by being smaller they are more useful.
What Stack Overflow killed off was Experts Exchange and a smattering of forums. Some are still around, but they're not trying to be searchable. Reddit's /r/javahelp or Code Ranch - every time there's a question its posted as a new question. Few people go back to find old posts there, but then that's the way the community works... and it works because it is so much smaller than Stack Overflow.
IRC channels and Slacks have taken some of it, with all the downsides that comes with that.
If SO is for facts, data, and science why do I so often see accepted answers that are wrong. And I'm not even talking about accepted answers that got wrong because the environment changed.
The person who asked the question can only tell if it did supposedly solve their problem. They can't tell if the answer is actually sound advice or if it has subtle problems that another answer solves better.
The accepted answer also gains the top spot, even if other answers have gained more upvotes.
i.e. these high quality but subjective answers are still being created on Quora, but not SO. That strikes me as being a problem for SO.
They are different sites for different purposes and different audiences. Trying to make one site to be everything for all people doesn't work well for any of them.
With that introduction, I strongly recommend reading A Group... in particular the fourth item of the Fourth Things to Design For.
> 4.) And, finally, you have to find a way to spare the group from scale. Scale alone kills conversations, because conversations require dense two-way conversations. In conversational contexts, Metcalfe's law is a drag. The fact that the amount of two-way connections you have to support goes up with the square of the users means that the density of conversation falls off very fast as the system scales even a little bit. You have to have some way to let users hang onto the less is more pattern, in order to keep associated with one another.
The design of Stack Overflow is one that tries to hinder the ability to discuss. This is intentional. Consider how hard it is to search discussions. Try finding a comment here or a particular post on Reddit, or something someone said on Usenet or a mailing list archive. They work ok in small sizes, but they fail miserably when the scale goes up.
If polling / opinion gathering / discussions were allowed, Stack Overflow would be no more useful than forums of old. It would be impossible to find anything of value later because there would be too much noise. All of the chatter makes finding the questions and answers that people are searching for harder. Having questions that don't follow the "One question, one complete answer" make it more acceptable to ask more of those questions making it even harder to find the question with the answer.
There are other sites that are better designed for polling and discussions. Stack Overflow because of that. Hacker News, Reddit, Quora, Slant.co. Stack Overflow doesn't need to be all things to all people.
Stack overflow doesn't need to be all things for all people. Its trying to do one thing and do it right. Fighting against that design brings friction in usability. Fighting against the intent behind that design brings friction in the community.
Stack overflow is susceptible to someone providing a better Q&A site. But building a better Q&A site that provides for discussions? I haven't seen that design scale much beyond the department Confluence install.
Continuing to the next paragraph from A Group...
> This is an inverse value to scale question. Think about your Rolodex. A thousand contacts, maybe 150 people you can call friends, 30 people you can call close friends, two or three people you'd donate a kidney to. The value is inverse to the size of the group. And you have to find some way to protect the group within the context of those effects.
> That's exactly what I want to discuss on SO.
Broad-ish architecturing questions belong on https://softwareengineering.stackexchange.com/ (formerly known as programmers.SE). A good rule of thumb for which of those two sites to go to is, does your question have code?
(Also, "discuss" is a forbidden word on StackExchange - it's Q&A, not discussion)
What does this division help to achieve? The two communities are in exactly the same format.
The division is there so that questions about design and architecture have a place to get asked that don't get closed as off topic (lacking code) on Stack Overflow. Consider a question like In an agile process, how much work should be done by the PO on a project or feature before presenting it to the team? - https://softwareengineering.stackexchange.com/questions/3676...
The format doesn't dictate topicality... there are many sites that use the same format. https://cooking.stackexchange.com for example.
I do not know whether it applies in this case, but I know from my experience in other areas that it is not uncommon for objections of this type to demand a specificity that is not actually necessary for a good answer to be given - and undue specificity means that fewer related questions can be redirected to its answer.
Broad questions like that don't have a single good answer that fits every scenario, they have lots of different answers, each of which is the best fit for a different scenario.
The problem with a site like SO allowing questions like that is that you _would_ get an answer, that answer would be accepted, and that question would appear really high in search results. When the next person comes along needing an answer to the same question, but in a different scenario... they're gonna take the one that was given there, even though it isn't the best fit.
Scale this up to SO's scale across a few years and all of a sudden SO isn't a trusted resource any more; it's more like experts exchange used to be, where it was full of answers which _can_ be valid, but are basically useless to everyone, and taking that advice can actually be actively damaging.
And .. I downvoted you. I hope it will sting. People giving up free time to add value to your thing and you blame them for the site problems? Then the site design is really failing, if the problem is all the people being engaged with it.
Whereas on stackoverflow when I downvote it’s for “this question shows no research effort” which is the downvote button tooltip, but a single downvote is felt as a personal attack on character.
Stackoverflow is for programmers - people whose character traits are tainted to be nitpicky about small details - yet the bad experience angry posts call answers traffic cops and Martinets - exactly the kind of people who could help get your code past the compiler or browser or api or whatever.
“Neutral” responses feel like negative ones (see: “what have you tried?”).
As an answerer more than an asker, if I help someone understand then I feel good, if it seems someone asks from a sense of “help me” I’m endeared to the question and if they ask from a sense of “solve my business problem” I feel more abused (personally or site-being-abused) and resentful.
No amount of Jon Skeet blog posting about the classic usenet popup “this reply will be sent to thousands of people who will have to spend time and money on it, are you sure?” seems to work on the modern web.
If it were me reworking it, I’d get rid of the low quality question idea, let answered be the judge of that and google sort the wheat from chaff.
Then get rid of downvotes and close votes and “neutral” comments.
Leave only room for feedback buttons that in some way communicate “I tried to answer your question but couldn’t, Your question might be more answerable if ..”
Forget being a repository of high quality questions and answers in the same way software has forgotten about big design up front and perfect quality goals and turned into “put an MVP on GitHub and let the issue tracker be the driving force”.
The goal of “stop duplicates, everything that can be questioned and answered has been questioned and answered” forgets that there are 150,000 new humans every day, and thousands more existing people learning to code - a goal of turning everyone away with “that’s already finished nothing for you to do here” is .. daft.
Questions and answers are, if nothing else, practise. A good way to learn is to try explaining it to someone else - SO churn has that room.
But not on stack overflow, where following the site plan for downvotes and closevotes makes everyone feel shitty.
I even doubt it is “high quality questions” that are supported but a combination of “this question feels like the asker is like me” combined with “and they’re asking about a thing I like and feel positively about rather than an edge case of the tool I feel bad about and wish the asker would politely overlook it like the rest of “us” all do”.
I can't see whether I was downvoted but I see that the net result is very positive. But I'll take your word on that.
Perhaps your view is not shared as widely?
> People giving up free time to add value to your thing and you blame them for the site problems?
Do read my original post. My problem is people who don't actually contribute but nitpick on how the questions are worded. How does kicking me out or ignoring my question at best help me resolve my issue?
I would prefer them to keep the free time they dedicated to harassing me to themselves.
I do find your suggestions on design sensible though.
It was intended to be a contrast of what downvoting is vs should be.
"That site you try to contribute to is horrible and the problem is the people" - well ouch. Retaliate hurt with hurt. Or comment with downvote.
Do read my original post. My problem is people who don't actually contribute but nitpick on how the questions are worded.
But I do both.
I pick on details until I feel the question is sufficiently clear and scoped that I can answer it, and then I try to answer it. Sometimes it never gets answered so my comments are left as just nitpicks and sometimes it's answered by somebody cleverer or with different experiences before I can understand it and it looks like I nitpicked while someone else answered and I should have answered instead or shut up.
But unless you only want the best people answering you get whoever is about and willing to engage.
And aren't we then back to the open source model - it's shitty but it's free, who are "you" to expect or demand better?
Please (re-)read the site guidelines and follow them if you want to keep commenting here. That means, among other things, posting with scrupulous respect for others and eschewing jabs and swipes.
It’s like the high karma answerers are exactly the subset of the site that you want seeing and answering your question because the site supports the idea that they are good at doing that, but they’re always reflected as some kind of tyrants appointed by an evil overlord.
Broken site design somewhere that leads to that effect.
Are you 100% sure?
Because from my experience, the most useful subset is between 100 and 2,000, those with experience but not arrogance. The top karma hoarders more often than not provide citations from official documentation and sabotage questions.
I wish they were appointed by an evil overlord because the overlord is better than a swarm of annoying mosquitoes.
it doesn't communicate that, they're not who you want - as you say in this comment.
That's what I was commenting on. The disconnect between what that karma should say vs. what it does say
https://math.stackexchange.com/
Because the difference is night and day. No pedantry (no pedantry on a math site! Impossible!), no assumption that askers are throwing their homework on them. In fact, my experience with mathematicians have had me question whether I choose the right career or if I should have become a mathematician. They all seem damn chill in comparison to most of us developers.
Anyway, the idea behind that site appears to be to help people learn math. Not to build the world's most polished question repository. I very much prefer the former approach.
This may diminish the quality of forums because a lot of people just want somebody to solve their problem so they can move on without doing any work. I see that also in a lot of new hires who don't seem to care about actually learning programming but just want to do the bare minimum.
The Security Stack Exchange is full of a similar sort of people. Almost all of the new questions at any given time are either tech support "I think I have a virus!!" or low-effort handholding questions "how do I use kali linux to hack server". I think folks who spend a lot of time on these sorts of websites have adjusted to be more jaded towards questions that look similar. I've learned to ignore it and be thankful that (in general), questions that I ask on stack exchange tend to receive helpful answers.
Stackoverflow has questions about some ridiculous configuration in languages and libraries where the asker couldn't even bother to pinpoint the issue but rather dumped all possible variables into the question.
Seems simple: math doesn't have to deal with that.
helping people learn: achievable with very high reward
Creating a catlogue of perfect questions and answers: impossible and of limited resource as every answer only caters for a specific set of back ground knowledge
And what is funny is that with option 1 done right who needs option 2? why scrabble around in the dark when i could be connected with someone who actually wants to help me.
i think that software dev is saturated with people who like to learn lots of things by themselves (excellent work, this is a form of hero), however this is not a good representation of most people. if we want IT to be more inclusive we need systems that can handle people who dont want to read several textbooks before getting some code working.
I think within SO there's sub-communities too just by tech stack. Some of the deep esoteric stuff might attract some snobbery.
While this is meta it pretty much sums up the situation regarding my feelings regarding Stack Overflow.
I was an early user of Stack Overflow, not quite beta but almost. At one point I even received a snail mail letter from Jeff Atwood, thanking me for my contributions. I read most of the early discussions about policy and, being a veteran of various internet forums at that time, it seemed to me the most sensible, most reasonable approach you could take to running a question-answer site. I went to CodeKen in London in 2011 where I met Jon and a lot of other excellent folks that made Stack Overflow happen as a community back then.
Today, I rarely consult Stack Overflow, and when I sometimes find a useful answer via DuckDuckGo it's almost certainly closed. I even joked that closing is a sign of quality at Stack Overflow. My last contribution is probably years ago.
The strange thing is that there is no point I "left", nothing I could point at and say, that's when Stack Overflow took the wrong turn. I think we just drifted apart. And for the conclusion I guess for me it's mostly: "The way to hell is paved with good intentions".
I’m sure there are topics I don’t use (the latest ML framework or the js framework du jour) where the community is still growing the database. That I use it as a mostly completed reference work just means my field/tech is mature in terms of language/frameworks
Unless you're working with a dead technology, by the time the information is "complete", it's outdated. And I would consider much of the information on SO to be just that: outdated.
I work with the same tech I did 10 years ago - so obviously I wouldn’t want the old stuff to go away and I probably often find answers that relate to too new tech more often than the opposite
I know you've written about SO not being a good place for opinion-based questions before, and perhaps in theory you are correct, but I (at least) am not satisfied with the implementation, and tend to link that at some level to a flaw in the theory.
What I mean: some of SO's most [in]famous questions are opinion questions where the askers are requesting advice from "expert" answerers to help them navigate a new topic. They're not just infamous because they may be controversial and "hard to moderate". They're famous primarily because the way in which the question was asked drove many users (hundreds even thousands of upvotes with millions of views) to the site and helped a lot of people through their journey working on a new technology or in a new problem domain.
SO said "nahwp, we don't want questions without clear cut answers". Not necessarily SO's fault, but nonetheless their problem: the community took that as, "err on the side of annoying pedantic asshole and close, downvote, and otherwise ostracize any user asking any question that might not be a good fit for the site under the new regime".
In my experience, it feels like people are trying to find a way justify being annoying instead of find a way to provide meaningful advice. I've asked questions that, if you took 30 seconds to think about instead of a quick search for a marginally related title (which I already did in the 4 hours prior to asking my question) and immediate vote to close as duplicate, or an almost bot-like flag as "too broad" based on word choice heuristics, are not bad questions, and often after hours of flagging and arguing with the original users who are stubborn because they don't want to be wrong (especially publicly) I can make my case. But by that point it's too late and too many times I've had to do that to fend off users trying to do good for the site over helping me with a problem. And I'm not even asking opinion questions...
By making one small decision, you created two problems.
1. You actively choose to diminish the value to practical real users of the site by setting a long term vision of becoming some bastion of objective knowledge. We have those; they're encyclopedias.
2. You unintentionally validated the pedantic/authoritarian desire for and abuse of power that has deterred many of your original users.
Honestly most people can handle snarky comments and opinionated edged answers. Everyone (users of SO) has a tiny (and sometimes large) "programmer ego" inside of them. On SO you could responsibly exercise it. Not anymore. What I can't handle is nonsensical authoritarian and meaningless abuse of questions because they don't immediately and explicitly adhere to some SO agenda. The former can be mildly annoying at times but tolerable and hell even fun on occasion, the latter is frustrating and infuriating and something I cannot tolerate.
Sorry that really turned into a rant, didn't it?
But people still ask those questions and the questions apparently get indexed. In my experience the result is that when coming from a search engine, even for non-fit topics, it is quite common that closed Stackoverflow posts occurr several times on the first result page.
It could be that I search for strange things, but at least for me the combination of closed but still indexed posts are not helpful, especially when the question didn't get any useful answers at all before being closed.
I don't mind closing topics, but I would prefer that closed questions with no even remotely useful answers wasn't indexed at all. Now, that might not be entirely under your control, but the issue remains, or so it seems to me.
> We hadn’t quite figured out that opinions and discussion questions were not a good fit in the early days.
This is something I had to learn as well, I guess one of my most upvoted questions falls well in that territory [1]. I just think that Stack Overflow was best when you were its primary moderator and it's arch enemy was Experts Exchange [2]. That battle is won, but the war goes on. Nowadays when the first search result is Quora I have very much the same feeling I had regarding ExpertsExchange back in the day and I can't help thinking that there is lost opportunity for Stack Overflow and Stack Exchange.
[1] https://stackoverflow.com/questions/961942/what-is-the-worst...
Websites like StackOverflow, Yelp, Wikipedia start off by being fantastically useful by using crowd-sourcing to quickly generate a large volume of content that covers topics too wide for a small group of humans by themselves.
But then crowd-sourcing becomes an albatross because an unpaid army of moderators have almost no oversight. They inconsistently apply (or don’t apply) standards, and blacklisting vitriol is a Sisyphean task.
Valid questions get blitzed and jerks proliferate because it’s seemingly impossible to police them all in real time. I saw a stat that said only 7% of SO users ever ask a second question - that means 93% probably had a bad experience.
While the problems are structural IMO they can do a few things. Downvoting should be temporarily disabled until Joel et al figure out a better model to surface important/good questions and answers; I personally now visit the forums of whatever framework or language I’m working in to seek advice because the downvoting on SO seems so inconsistently applied. Insults I can ignore but the DV makes it hard to have your issue seen.
If it gets a thumbs up, it qualifies for the regular Q/A where people can answer - and expect a certain quality (and don’t risk spending 20 min writing an answer to a perfectly good question that was closed while the answer was written).
No open platform, as far as I can tell, has solved the problems of vitriol, but the down-voting is absurd (as attested by some of the experiences described in this comment thread) and can absolutely by addressed by changes like the one you propose or some other system.
Now imagine if that thumbs down was anonymous and what that would do to the atmosphere. That’s SO.
How would you enforce this - would you try to enforce it? If there's any kind of comment box, you'll get people posting answers in there, if it's amenable to a short answer.
The only thing I'm trying achieve is that the people trying to HELP the asker, and the people who are trying to close questions now work as quick as they can, simultaneously, but towards opposite goals.
https://stackoverflow.com/help/closed-questions
Closed "low quality" questions are marked "on hold" for five days, when they can be commented on and edited to be improved upon, and go into a review queue. From memory that message is in the big yellow close box on the question - that it is on hold pending improvement and review - but I can't google any to see.
What you describe sounds like that, but in a separate area and without downvotes. Or, it sounds like they've tried to implement what you describe.
Would it work if downvotes were reset when it got put on hold?
That doesn't follow. The one-question-askers may be using throwaway accounts, or be confused about what SO is for; they might be in completely the wrong place, and have a low likelihood of ever needing to ask another SO question. They might also just not run into questions that are only answerable by asking the open internet that often.
Why would you use a throw-away account? There something personal about a compiler error?
> they might be in completely the wrong place
I assumed mods moved questions to the right place or directed users to correct board.
> have a low likelihood of ever needing to ask another SO question
I can understand not asking 50 questions. But never asking a second question? Your entire programming career you only have one technical problem you need help with?
> They might also just not run into questions that are only answerable by asking the open internet that often
Yes, a lot of the technical problems I encounter at work are too specific to our implementation for SO.
No retention rate will be 100%, whatever the product. And there are plenty of legit reasons why you may not need to ask a lot of questions.
But 7%? They can't all be "noobs" asking dumb questions since plenty of HN devs here complain of similar problems: arbitrary downvoting, questions being marked as duplicate when they're not, unaccountable mods, etc.
To me the fact that 93% of SO askers don't bother with the site after their first experience signals a deeper problem with how SO is structured. As one of other comments in this thread argues, their setup was designed for its initial phase of growth but it's not ideal for the "mature" phase its in now.
Mostly because they know the question they're asking is a bad one, and don't want the inevitable negative karma to accrue to their "real" account (if they even have one); or they're otherwise abusing the site.
For example: https://news.ycombinator.com/item?id=13496399
Genius, in a way.
But I doubt everyone has the time and energy though to maintain a stable of fake accounts to boost your own stats.
I can understand fear of negative karma but the throw-away account will still receive just as much hostility (maybe more), you just don't keep the record of it attached to you.
Is that better? I guess, a little bit, maybe.
1) it want to be a repository of canonical knowledge, a giant FAQ and wiki of everything. The problem is, that it does not fit the way the site actually works: people will write imperfect questions, precisely because they don't know the answer, and ask the opinions of their peers about things. But they are not domain experts writing documentation so they often get down-voted or their questions closed.
2) There is a karma system in which more karma gets you more power. Inevitably such system attracts people in search of fame or power, and this kind of people get off by telling others that they are smarter than them, or that they know this little site rule better and consequently censor their question. As regular users become fed up with the state of things and leave the site, the position of high-karma users become more entrenched. Then, those users obtain total control over the meta board to veto all fix proposals, make up even more draconian rules, and entrench their position even more.
Problem 1) causes inadequate meta rules, and 2) zealous enforcement of these rules. Some combination of 1) and 2) prevent the site owners from changing the rules.
But if one asks or answers questions about, for example, more advanced features of git, more advanced algorithms, numerical mathematics, GIS, anything that is not interesting to "the masses", then you still get genuine helpful answers, but you might have to wait hours or days, and there will not be a large number of answers.
Although still relevant as I ran into the same problem as the OP but as nobody else answered I had to come up with an answer myself.
The other day I had a problem, and fund a SO question related, solved the problem in a different way, and answered to the question, to help someone with same problem. A guy comes gives me -1 and makes a completely useless comment.
PsExec requirements on local computer - Super User – https://superuser.com/questions/1158722/psexec-requirements-...
Edit: thanks to someone who upvoted my SO answer
“How do I fix my car?” “I find driving a different model works for me” - “good for you, but that doesn’t answer my question”
You say it’s a “completely useless comment”, you want to offer anything that might help, they want to keep stackoverflow focused on specific answers and not being like any other discussion forum where any comment is valid. They’re at odds. But the site design is that you should post your own question “what alternatives to psexec exist” and then get closed because recommendations for tools are off topic.
The site doesn’t want tool recommendations, they are often commercial and they go out of date quickly.
You posted a tool recommendation and it went badly, you’re driven away, apparently that’s the site working as intended. A useless comment that annoyed you and you won’t do it again.
For better or worse.
curating content requires rejecting most of it, but everyone wants to pretend that it doesn’t, and it can be exclusive and also open and welcoming and that seems contradictory to me.
YouTube comments are trash. Sites with comment regulation are hurtful because nobody wants to feel judged as “not good enough” by another group.
If anyone can fix that..
Having that as a solution is always better than nothing.
The point is that the site IS a problem/solution site, under the (imho mistaken) label of Q/A site. The answers should be solutions to the askers problem, not answers to the askers question.
Decoding the problem from the question is often the hard part. If this answer wasn’t valid (the asker had to use the tool mentioned) then the solution is invalid of course. But this is in my experience much less common than the opposite - that there is a problem buried in the question that can be solved without answering the question. It leads to a few “take the bus” answers to “my car has problem X” - but I think that’s acceptable. The asker can clarify that the problem wasn’t getting from A to B but was to fix the car. All this should usually take place in comments for initial clarification of course
I really, vehemently, disagree that recommending a completely different tool is a good answer, except in the context of having already correctly answered the actual question. Since the actual question was already correctly answered, I think OP's problem was just how they phrased it.
Simply prefacing the answer with something like "Anyone landing here in the future may be interested in this alternative..." might have prevented a negative reaction. OP's post sounds like they're completely ignoring the question and answering the one they wish was asked, which happens a whole hell of a lot when crowd sourcing like this.
Also I explained why in the comments.
It also sounds like an answer typically supplied by someone who is perhaps often not much of an expert. So I think there are good and bad “do X instead” answers, and the good ones are among the most important answers on the site and shouldn’t be categorized as unwanted because of the jquery-variant of the same.
I think the trick is that sometimes this is true, and sometimes it isn't. I have seen people try to do things with tools that aren't equipped for the task at all, simply because that was all they knew. When all you have is a hammer ...
It does take, however, some effort to figure out when this is the case. Problems arise when people make a suggestion for another tool without fully understanding what the OP is trying to achieve.
Which brings me to my personal nitpick about StackOverflow: Many of the problems we are discussing right now would go away if people were better at articulating exactly what they are trying to accomplish when the draft their original questions.
Sometimes there are reasons you only have a hammer and really don't feel like getting into an argument on the internet about "how you should be doing it".
In this case paexec and psexec might be drop in replacements , but the web is rife with "how do I bold text in notepad?" "Lol m$ just use Linux".
I already know I can take the bus for goodness sake! Except .. sometimes the asker does know they could try alternatives and sometimes they don't.
Psexec is probably cobbled together in a pile of scripts that are owned by another company and work fine against fifty servers but not one new one and the owning team won't change to something unproven..
But here we can both make up situations where it is and/or isn't a good answer - at the point where you're saying "decide the problem" means "guess what they want" - can't we trust people to have asked what they want?
No we can't and that leads to all the "what are you really doing?" clarifying comments.
And those comments drive people away as hostile and interrogatory.
The site just has no structure for different types of people and their levels of background knowledge of askers vs types of people answering. Is the range of skills and experiences much much bigger than easily assumed?
If a downvote cost 10 rep and also took a while to take effect (with any edits in the meantime canceling the downvote effect) I think the site would be a better place.
Especially - when you see a question you should be able to extrapolate what the asker was trying to do.
The idea of a “questions and answers” site is broken to begin with. No one has a question, what we have is a problem, and what the person with a problem needs is a solution not an “answer”.
The best answer to a question (which might be initially best posted as a comment to get clarification if it’s not obvious) is this:
“You are asking how to do X. In this situation I think it would be best to avoid doing X alltogether and to solve your problem which I assume is Y - you should probably try doing Z”
This type of answer invariably gets two things
1. Thank you comment from the asker, for solving the problem
2. Downvotes from nitpicking drive-by moderators for not answering the question
“I think you should clarify in more detail why this is NOT a dupe of question xyz”
“It’s not clear what you tried and what problems you encountered”
A nitpick could give a time frame to address and fix, and the downvoter would have to review and accept reject the changes in order for the downvote to apply.
And downvotes should be both signed (by user) AND motivated. Then the community could rate the downvote as well. A poor downvote should be worse for your rep than a poor question.
The short version of it is it has problems with the design and you'll get even more junk in comments along with disparaging remarks.
Down votes are not a problem. They're a form of moderation of content. They are a signal to other readers that this material has an issue. They are a suggestion that the question shouldn't even be read because. They increase the perception of "this is an attack on the person and not a review of the content."
As an example: I read a poor question where I can decode what the problem they are having is, but it’s not obvious from the question, so it should be improved.
Since I know a good solution to this problem, I don’t downvote or close-vote because I don’t want to bury or close the question while I answer. Instead I suggest how to improve the question in a comment, and start writing my answer.
When my answer is finished after 10 minutes, the question is -4 and has multiple close votes even though the author has already improved the question, and my answer was accepted. The question isn’t even an hour old, it’s now a perfectly acceptable question with an accepted answer - but it’s now closed and has score -4 with votes applied to a question that looked nothing like it does now.
So the biggest issues are
- too easy to downvote with no moderation effort
- too easy to end up with improved questions still closed
- Fundamental improvements doesn’t reset score (why should asker be encouraged to write a new Q instead of changing old?)
In short the problem is that everything happens at once, and the system is designed around questions being final when in reality the first 24h sees significant change.
So I’d suggest some simple fixes:
- close votes and downvotes removed (by moderation queue confirmation) if a question is sufficiently rewritten in the first (say) hour. It should simply count as a new one.
- downvotes registered but not shown during the first (say) hour. Herd mentality seems to make the threshold for downvoting lower.
- clicking downvote should at least have an optional comment or a selection among issues (like the close votes already have). That the material has an issue is content moderation but it isn’t feedback. I agree with Jon’s goal that the site should aim to make better askers - not just a better Q/A site. It should even be an explicit goal.
Try going to a tag... lets say Java. https://stackoverflow.com/questions/tagged/java Now, on each post on that page read it, edit it if it needs editing (this includes things like "i am trying to use a path..." - fix all the grammar (the post I'm looking at is tagged java, c#, android, .net and google maps - https://stackoverflow.com/q/49349444 ). Give a comment if additional clarification is needed.
Then go back to the tag page and see how many more there are. Repeat.
To help the most people possible, and help the people who are answering questions know which are the posts that they can help the most - vote on the questions. Up and down.
If you know it is a good question that you can decode - fix it first. People casting close votes don't see that you're trying to answer - they see an unclear post. Whats more, an unclear question (that might be clear to you) isn't clear to everyone else. You've spent a minute or so decoding it - contribute that time back to community by fixing the post. Don't leave it in a comment - fix the question before writing an answer.
Consider that if a post is getting close votes there and down votes even with the fix, it might not be a good question for Stack Overflow. Not all good questions are good questions for a particular site. One doesn't ask coding questions on Hacker News even though it may be a good question.
That a post is too easy to down vote - by percentage, down votes are a small, small fraction of the total votes cast. Up votes are 8x more common than down votes.
Improved questions many still not be a good fit for Stack Overflow. A recommendation question or opinion poll, or something that is "how do you design Amazon" is still a poor fit, even if it has been improved.
Close votes expire as it is. If its good enough, it will not get any more and there's no issue.
Down votes are a signal to people answering questions that this isn't a good question. Look at a page with 50 questions on it. Decide which one you're going to spend time on - that is likely based partly on which questions have gotten up votes.
Rewritten questions don't necessarily mean that the question is good now.
In the past, when I've down voted and left a comment I've gotten a dozen angry pings from comments from the person and sometimes half a dozen down votes on my other posts (that then got removed for serial voting). I decided not to leave comments any more at that point. I'm not there to argue with a person about if their question is good or not.
The person asking the question has all the time in the world to perfect it before posting. They can see the preview and how it will look. They can run it through a grammar checker. They can notice even things like the red squiggles under misspelled words on any modern browser.
There is no reason why they can't post a good question the first time - or at least one that shows that they have put in at least as much time as they're expecting of the person answering.
And when that question happens to be poorly written - I can’t pick another. I can ignore it or I can answer it.
Some times I’m almost inclined to commenting “give me your email and I’ll sort you out because your Q will be closed even though I see your problem and had the exact same problem”.
I think a great feature would be “protection”. If I adopt a question I can take responsibility for both my answer and fixing the question. If I’m say 5k rep and the asker is low rep I should be trusted to be able to be a “mentor”. The question can even be hidden until I and the asker have worked on both question and answer together.
So the context is
- asker: can’t write a good Q without help
- answerer: wants to help make better asker perhaps MORE than I want to make a better Q/A site, can’t use time to answer another Q instead
This is very common in my experience
"Protecting" a question in the way you described would likely result in people claiming a question and then preventing others from answering it in a timely manner when it doesn't need any help (there's a lot driven by gamification). Just picture the fastest gun in the west problem and the "now I can click and prevent everyone else from answering?"
If its poorly written - you can do something. You can edit it. You can close vote it. You can down vote it. Those are signals to the author that it needs to be worked on.
Look at https://meta.stackexchange.com/q/216683 - and that the best way to drive away a user is to do noting. To ignore them. Closing their questions, down voting their questions, commenting, editing... and yes, up voting and answering - those all help.
Editing a question is much better for new users than voting on their question.
I was being unclear: I didn't mean protecting it from other people to answer - mainly from downvotes and close votes.
That is: I want to say "I think I know what this asker is trying to ask. I'm take responsibility for editing the question to be up to standard and/or mentoring the asker. Regardless - it WILL be up to standard within half an hour so just HOLD OFF with the ninja downvoting".
Answer it if you want. Kill it after I edit it if you want. But don't close it as it stands.
Close votes only impact the ability to answer a question. If the question is improved while it is closed, it goes back in the reopen review queue and people can then take time to reopen.
A question that is closed before it gets the "try {some code}" answers that are wrong comes out ahead if the person asking the question is able to improve it... at which point it can get reopened through the existing processes.
Poor questions go in the triage queue first. Questions that are deemed that can be improved then go to the help and improvement queue. Those questions are hidden from the general site for some time.
That functionality exists already in those queues. You just have to use it. When those queues fill up, poor questions can indeed spill over into the main site. Go to https://stackoverflow.com/review/triage/stats and review (remember that "needs editing" means that you are capable of editing it into a good question) and https://stackoverflow.com/review/helper/stats
Thanks, there definitely seems to be more to it than I was aware of - and I still thought I was a pretty seasoned user (8k). I always found the entire review system rather opaque and hard to understand even though I processed a lot...
I obviously need to dig deeper, but at the same I think a lot could be done to make the processes more understandable. The queues and question state-machine really could be illustrated more clearly for example (and I’m sure there are endless meta-posts about that too).
> Behind the scenes, a "quality score" is calculated for each question based on an automated analysis of the content. Those that score well are sent immediately to the homepage; those that score poorly will now be sent to Triage. From there, they'll go to one of three places based on human input:
> 1. The homepage, where they can be answered > 2. The close or moderator flag queue where they can be reviewed and eventually deleted > 3. A new "Help and Improvement" queue where they can be edited
All moderation on stack overflow is done through votes (up, down, close, reopen, delete) and flags to moderators. Anything else is too personal. Unfortunately, this means that the only form of moderation to use when those tools run out is the social pressure.
I am not the "asking questions" type, so I was immediately blocked of doing anything else on the platform. Maybe I am really dumb, but the solution for me was clearly open a new account, since my reputation was bad and unchanged for more than 2 years.
Wanted to help people but was unable to answer questions. Also later being able to, but being terrified that the answer will not comply.
Although I am a developer for 8 years and use Stackoverflow everyday, I was never able to contribute much.
Mybe it could reset after a while for new people or with low rep?
[1] https://codeblog.jonskeet.uk/2018/03/17/stack-overflow-cultu...
So many times I have read the most-voted and accepted answer thinking, “this is completely wrong”
I sometimes do this when I'm not satisfied with the solutions that pop up in the first couple of days. From my experience the best (in-depth) answers often come from "necromancers". In such cases I want to leave some room for them. Your question will be there for a long time and it might attract people decades from now, I'm not in a hurry with this.
Back in the day you would search for a problem and find a nice juicy blog post written by someone who has experienced and solved your problem. They would also add a ton of ancillary context around the problem which makes it interesting to read and a "better" answer than just a dry code snippet.
You can still find those blog posts today but since SO is so popular, you often get multiple SO results engulfing the front page of search results.
"Your question is a repeat of this earlier question."
So then I try to point out that I already read that earlier question, and I tried the solution suggested in that earlier solution, but it didn't work for me. All of which I explained in my original post, but the moderators don't seem to read all of what I've written, or they'd already know that. I think they just scan the opening sentences, and if it seems to them to be similar to something else, then my question gets marked redundant.
But when I clarify the situation, no one sees my clarification, because once my question is marked redundant, people stop reading it.
That's confirmed by Jon Skeet's responses to Rob Conery's tweet. Skeet keeps focusing on downsides of what he calls "'bad' questions."
To be precise I'd say SO is about generating high-quality answers that people can actually find. One way that SO does this is by trying to incentivize high-quality questions.
Another way SO achieves this is by having questions that use the same or similar words to the ones most people use to construct a search engine query.
Yet another way is by having any question at all that induces or references a high-quality answer that shares keywords with common search queries.
Of those two additional categories, a large number of SO questions can be and are low-quality questions.
A significant number of my routes into SO high-quality answers come from what I'd consider low-quality questions. Sometimes the high-quality answers are inline. Sometimes I arrive at them through a mod message about duplicates or another hyperlink.
Especially when someone is first learning a topic, they need those low quality routes more than ever. After all, they don't yet know how to ask high-quality questions!
At least in my experience, those routes from low quality questions to high-quality answers are the one thing that makes SO unique. Those routes are essentially the skeleton bones of the scary, sometimes humiliating process of asking a noob question. (And now I learn it's also the exhausting and soul crushing experience of experts submitting their high-quality answers.)
So on the one hand, it'd be great if SO had figured out that when herding problem solvers it's a good idea to minimize their propensity for being obtuse and condescending.
On the other, it's a testament to the hacker spirit that SO instead caches the results of all that humiliation and sniping so that others don't have to go through it to find their answers. That's actually a big step for the subculture that came up with the error message, "You don't exist. Go away."
This might be what you meant originally, but either way, I think there's an important moral there: sometimes, the SO rules encourage people to ask good questions, and sometimes, in formulating a good question, the rules encourage good debugging/distillation skills, and askers end up solving their problem on the way!
The other day I was having a weird problem and after much googling I found this:
https://stackoverflow.com/questions/49091270/why-is-socket-i...
This was sitting at -1 because the asker didn't know how to "craft" his/her question. Its a legitimate problem/bug in NodeJS LTS itself. It still hasn't been touched after I attempted to answer it =/
I wonder if you could serve both these goals. What if the basic Q&A machinery was used to explicitly help solve asker's problems, but there was a mechanism to elevate a question and its answers into the site's library of long-term knowledge? The site could then do standard SEO-fu to only include the latter questions in search results, emphasise them more in search, etc. The mechanism could be something like the current close vote mechanism - if four users with sufficient rep vote to elevate, it gets elevated, plus mods can do it directly, de-elevate, etc.
You could end up with lots of "low-quality" questions and answers whose turnover is still helping people in concrete ways, but also build up a repository of knowledge.
I pretty much came to this conclusion 6-7 years ago (the one in the tweet Jon is responding to). Two things were already happening then:
1. The low hanging fruit (of questions and answers) was gone. Questions were by necessity becoming more specialized. These attracted less attention (and votes). This is a common problem on online forums. Back when HN had public vote totals I'd often see someone put together a thoughtful comment and get a single upvote. Someone else would correct a typo or say the year in question was 1995 not 1996 and then 11.
2. And this is the one I had and have a real problem with: the toxic moderators took over. Those who can, answer. Those who can't, question. Those who can't do either, moderate. So many useful questions I saw getting closed as "not constructive". Useful things like "what are the benefits of A vs B?" The de facto standard became if it didn't have an objective, definitive answer a cadre of mods had decided it didn't belong on SO. Thing is, you can provide a really useful answer to the question of "should I use Python or Ruby?" with some relative pros and cons without saying one or the other.
The argument against those questions was they might be fine questions but they didn't belong on SO (eg maybe on the programmers Stack Exchange). While that might be true for some questions (particularly those career related) I found that ever shifting standard was actually detrimental to the site.
Basically it seemed like the threshold for moderating content on SO was too low.
Answerers provide the most value (IMHO). Good questions matter too. The problem seems to lie in moderators who think they provide as much value as answerers and what they do is super-important. It's useful, no argument, but it's just not on the same level.
Some of my answers have been edited 30+ times over the years for, in many cases, no good reason. Someone decides something should be capitalized. Someone else disagrees. Some of these have actually changed the meaning of the answer and I've had to go and correct the answer.
Don't get me wrong: SO is a fantastic resource. It just has its own Wikipedia editor problem.
They're terrible. Ten times worse. Someone came up with the idea that the top answer should be listed again in the list of other answers, it's so confusing. Not to mention nobody comes along to purge all the useless answers. Many of the 'answers' are really just comments, more questions, 'me too', etc.
Those who seek enlightenment want to ask good questions and learn. They want to be educated and be a part of the community. You need to give some to get some.
And then there are the fixers. The least effort they can put in getting their immediate problem solved. Long term value and learning something is not a priority.
Unfortunately there are a number of "fixers" who answers too. They give short extremely to the point answers without much depth. Some because it is a quick way to handle ”easy" questions. And others simply hunting for points.
As everybody else I have my own view on how to solve this. Raise the bar to ask a question. Spend more effort on actually build a well founded and good question before allowing answers. With the current system the churn is too high and there is too much focus on fixing rather than learning.
How cool would it be if people started to ask "What questions do I need to ask to try fixing this problem?”
With all its flaws SO is still one of the best resources out there. But I am afraid that it is considered "good enough" for anyone willing to make greater changes. Or it has reached a size with too much inertia to make such changes viable.
Typically, this is because these questions are a minor (cosmetic or trivial) variation* of an question asked many times already, and usually addressed in the docs. Search results aren't likely to put this question at the top of results, so the aim is to resolve the OP's need.
*so technically not a duplicate.
The information overload then becomes huge. And I would like some more filtrering.
My approach today is to try to give quality answers when I can anyway. Even if the quality of the question is low. Sometimes I get surprised and the asker engages in a positive way. But mostly not.
I spend most of my time on Unix SO and it has a very low voting activoty bit a very high rate of "fix my problem".
So I try to be a good netizen but I feel more regulation is needed to fix the current status quo.
Maybe it's time SO adopted the concept of duplicate answers, not duplicate questions?
> Answers that do not fundamentally answer the question may be removed. This includes answers that are: > exact duplicates of other answers
However, this is left up to the community moderation rather than the diamond moderation. For the community moderation to delete an answer it must have a negative score and multiple 20k rep users have to see it and delete it. It takes a lot of work on Stack Overflow to muster that - especially when there are people up vote everything.
Consider https://stackoverflow.com/q/187587 and how many posts have the same content. Having experienced this in the past, flagging duplicate answers for deletion isn't something that diamond mods will act on... and as the answers have a positive score, the community can't act on without a concerted down vote brigade.
I wish I could see the actual comments from others that irritated Rob but it seems like I can't find his SO profile. (Did Rob Conery delete his SO profile?[1])
Even if Jon Skeet's essay doesn't apply to RC, I think his assessment of "low quality" questions needs more dissection and it is missing a key psychology. He writes:
>This is a low-quality question, in my view. (I’ll talk more about that later.)
>[...]
>– but I think it’s important to accept that there are such things as low-quality questions,
Yes, Jon is correct that low-quality questions are a real problem but he's missing why they persist... the "askers" don't know enough to run their question through a self-diagnostic test to determine they are asking a low quality question. To beginners, it's a "high quality" question by one criteria: "I don't know the answer."
If they knew the answer -- they wouldn't be asking it! <-- That is the psychology that's very difficult to solve.
The SO experts want interesting and high quality questions to answer. If no questions were filtered out (closed), there would be too much crap to wade through and the site becomes a waste of their volunteer time. On the other hand, the beginners want their questions answered. Their questions being closed is a "toxic" environment and "unwelcoming."
I've given a lot of thought about what the optimal Q&A website would look like and I've determined you always have an unresolved tension between naive beginners and experts.
I would challenge anybody to come up with a Q&A system that filters questions in a way that the majority of askers who got their questions closed/deleted will agree that it was "fair".
To get a usable site, you have to favor the answerers over the askers because the experts are the ones contributing the valuable content.
[1] https://webcache.googleusercontent.com/search?q=cache:YFH2o5...
You and me both. Rob emailed me about this and I asked him the same thing.
Criticism without actual examples is not actionable. Also one person’s pot-ah-to is often another person’s poh-tah-to if you know what I mean.
(eghads thats big in HN - replaced with link above)
Personally, I think the most of downvotes on stackoverflow are quite objective and therefore better justified than here where they are generally used to express a personal judgement about a comment.
My biggest issue is the votes for best answer are based on what is most technically correct. Their code is correct... but their helpfulness isn't necessary helpful for someone who might not know WHY the code in the answer is a good answer. I'm searching for answers because often I really don't know that code, and then someone posts a blob of code with little to no answer and everyone who already knows the answer votes it up....
They're not wrong, just not necessarily helpful.
Granted I don't expect anyone to bust into a full blown class to explain it, but often it's not explained all that well for someone who might be looking.
Good questions ought to lead to better problem solving skills. Often they don't.
> In my case, I have often have a sub-goal of “try to help improve the diagnostic skill of software engineers so that they’re in a better position to solve their own problems.”
There was a recent discussion on Meta that went over whether or not basic debugging was a required skill. [1] My reading of the general consensus was that StackOverflow isn't a place for such users. Anyone who cannot debug or do basic diagnostics before posting doesn't appear welcome. However, there have been efforts of trying implement mentoring to help do exactly what Jon Skeet is doing. [2] This all leaves me wondering what the true purpose of StackOverflow is now.
One last problem that I didn't see mentioned that I think is compounding the issue of "askers" looking for quick answers is the trend for larger open source projects to tell users to submit all questions to StackOverflow instead of on the issue tracker. So projects with significant churn and poor documentation end up flooding StackOverflow with extremely low quality questions. StackOverflow was never meant to be used this way. [3][4] However, they haven't done anything to curb this behavior and it's starting to become the norm. I feel that this issue will make the "improve the diagnostic skill" approach to answering impossible in the future.
[1] https://meta.stackoverflow.com/questions/364282/can-we-suppo...
[2] https://meta.stackoverflow.com/questions/tagged/mentoring
[3] https://meta.stackexchange.com/questions/3966/is-it-okay-to-...
[4] https://meta.stackexchange.com/questions/19852/use-stack-ove...
> Answerer: maximize the value to the site of any given post, treating the site as a long-lasting resource
That's rarely the case, usually the answerer wants answer the question as fast as possible to move on to the next question and accumulate karma.
Honestly I can't really blame stackoverflow's karma system on that since I've seen that behavior everywhere even in person to person conversations.
My point is, If you don't have time to think about my question, don't bother answering cause if you do, you will waste your time asking garbage questions ("are you sure you really need your operations to be async") or giving garbage answers ("stop using postgres and use mongodb") and then I'll have to waste my time replying to what you said to clarify why this is not a thing that can be "bargained around".
Talking in person I have the advantage that my facial expressions convey my desire to murder, so my coworkers are used to only offer answers when they are super sure about it or when I directly ask them, in the internet I still have no idea on how to fix that.
For example, things like most upvoted answer and best liked questions are things that definitely fall under my radar when answering questions. In an ideal world, it shouldn't matter whether my answer is the best, or the "selected" answer, but it does. Of course, that might not be the case for everyone.It's like this good feeling; like you've achieved something and you're getting validation of your knowledge.I know that when I used to answer questions, some people would comment saying, "Don't just post a link to the answer, explain it". It helped make me a better answerer. There are also times when I tend to ignore questions that are downvoted.
TLDR; I think the rewards system plays a significant role in determining the outcome of the quality of answers and questions on SO.
And maybe it's something about software people. Other parts of the Stackexchange network that I use, like photography, English language and travel, are quite pleasant.
Very often I can just include a few lines of sample code and provide a link to the docs.
Occasionally a bug or deficiency is revealed and I can make my library better.
Despite these benefits, there are clearly some ridiculous questions... and incorrect answers given by others. The tension between high and low quality can make for some frustrating experiences. But it's still worth the small amount of time it takes me, I believe, to try and help.
I get where the rudeness, pedantry, and rules-lawyering is coming from. It's frustrating to wade through a dozen daily iterations of "how do I vertically center this div," "why doesn't my async code work when I try to treat it like synchronous code", or "why didn't this jQuery event handler bind to the DOM element that didn't exist when I tried to bind it," or "here's a screenshot and a vague complaint that something doesn't work right, fix plz". And when you've been through a bunch of those you end up primed to assume the worst of every question.
Those are all perfectly reasonable questions to the person asking them. (well except for the last one maybe.) But to the people treating the site as an Encyclopedic Repository of Coding Knowledge, they're just repetitive noise.
Possibly I'm outing myself as part of the problem, here. (I do try to keep a level head, or at least keep my mouth shut while I mark as duplicate.) But I think the rules-lawyering is a necessary defense against the site turning into Yahoo Answers or Quora or Experts-exchange. (Remember them? They've added the hyphen since last time I looked. Good call.) It could be done more politely than it often is, but it does need to be done somehow.
Which is why I wonder if it were possible to reframe those "beginner" questions as mentoring, rather than walling off or shutting out the noobs; and to make marking a question as a duplicate feel less adversarial and more "your answers are over here!" then it all might be a little less angry-making on both sides.
(Not that I know how. The Documentation beta seemed a good attempt; I was disappointed that it didn't work out.)
I agree with the moderation being overzealous, although with the caveat that this is difficult problem solely due to the size of thw community.
Also, the problem with a lot of beginner questions is that there are often a lot of similar such questions out there already. I don't blame others, or hold it against them, for getting miffed about the umpteenth such question. But really, they should just ignore it, and/or post the duplicate post(s).
Moderators are great but when they're bad, they're predictably bad. Use that against them and pre-empt the normal responses they might have. Since I've done this, I've never had a post closed or otherwise reprimanded.
Compare this with the alternatives around the same time, like Google Groups/Discussions or phpBB, which are still painful to look at to this day, IMHO. Is there anyone who wince when have to scroll through nested threads, and unformatted raw text in code to understand something?
However, I go out of my way to punish users who want to look smart and post comments (not answers) so they cannot be downvoted by going to their profiles and randomly downvote some of their questions/answers.
the correct answer for a novice just starting is not the same as the correct answer for a total expert, the novice wont even know what you are talking about.
It panders to those that think there is a right and wrong way to do things and that they know the right what and the correct way to educate someone is with a public humiliation.
The whole site is totally un-inclsive, its great for like the 50-100 people who prefer elitism over education, and also already know what they are talking about.
IMHO they should split the site and create a new one for professional programmers, that does exactly what SO says it wants to do now, but be very clear its not for hobbists. then vet first questions to ensure they understand the rules etc. before interacting.
But honestly i think this vision that some have of it being a perfect data store of problems and solutions has an over simplistic idea about how the world works.
i have learned a lot for the discursive and open-ended questions, meh its just trying to apply to many rules.. huge communities are not going to be that aligned
SO is useful, but it is often awful. For instance, most Python examples on SO were written for Python 2, thus you need to add parenthesis if you want to cut and paste them into the Python 3 REPLs.
Many coders will accept the excuse that having to manually insert parenthesis "keeps you own the ball" or "helps you learn", etc. No, it's the kind of machine stupidity that we have to dispense with to achieve artificial intelligence.
Often I get five or six competing answers. Sometimes the best one is at the top. Sometimes the one at the top has a comment that says the author of the post and the original poster both agree it is wrong and that you should ignore it and scroll down to the one below.
Meanwhile, the Q&A format means that I may have to scroll through a large amount of incorrect source code before finally finding the two or three lines I really need.
Those small things add up because I am juggling a number of balls in the air as I work, and I just don't need any cognitive trash.
If you program in Python, Java, Ruby, Rust, Javascript, etc. you may find that your biggest head scratchers have do with integration with and the choice of third-party libraries -- discussion of which is severely curtailed on SO.
I am fascinated with the discussion about "People asking insufficiently detailed questions" because that is one of the great unresolved problems of Hacker News -- "Ask HN:" is choked with many cries for help which can only be replied to with "We need to know more about this to give you a real answer" that frequently don't get answered.
When I "do" respond to posts asking the "asker" to elaborate on that question with more details, I imagine the asker visiting my profile and, probably squishing my avatar with bare hands...
If there are people out there that feel that way I am sorry...I am only trying to help.
But that is the problem. There is frustration on the asker's part. Always. There is also frustration on the "answerers" part too. But this is a perennial problem. And its not going to go away soon.
But at least the stuff Jon mentions in points...for both "askers" and "answerers"...they help. They are like commandments. Abide by them.
How many times is "I rarely even go there anymore" going to be part of someone's criticism? I barely go there, too. You should see the questions I used to ask though. I was a beginner.
Also, each time I learn a new language, I'm back on SO. Lately it's been Rust. I'm googling questions like how to concat strings and convert a byte array to base10 all over again.
I have no doubt that SO has problems. But I wonder how much of the piling on I see in comments is just people who aren't serviced by it as much as they used to be, and then backsplaining it with "because it sucks."
Also, a lot of the criticism I read here is extremely petty. People who got way too absorbed by SO and then blamed SO for their own kinda toxic behavior.
And so SO has regressed to the mean.
You're not wrong that SO is probably more useful in a DAU/MAU sense to a new programmer askers than seasoned askers. But what you're mistaking for "backsplaining" is experienced users saying it's hard to get meaningful help anymore because they have to fight the mob on the more rare occasions that they do ask a question. That is something SO can correct, but hasn't done a good job with, IMHO. The primary goal of SO should be to provide utility to its users. But many of us feel like it's only providing utility to well behaved newbs.
I've never dealt with negative ratings nor does that sound like something I'd complain about. I've also never had to "fight the mob" -- that doesn't sound like nontoxic behavior to me, btw. What I've done is set a bounty on my question and hope someone with the experience can answer it.
If so, awesome. If not, well, I'll have to find a free answer another way. I don't see how that's a community's fault unless I entitle myself to the time and expertise of others.
It seems pretty natural to me that SO is going to have diminishing returns as your questions have finer and finer points on them. That's how it works in the real world, too.