I wonder what happens when you have a successful product that doesn't need any more tinkering but you still have a lot of people working on it. Maybe this is it :)
The people who "got" the community on SO and how it worked have long since left or had their ability to advocate get squashed in the corporate structure.
The people who are there with influence on direction have a very different view of what SO (and the rest of SE) should be. Most employees at corporate do not use any of the public sites in any way, shape or form and are disconnected about what the users and curators there need.
And so, you get continuous improvement - on a vision that the unpaid volunteers who maintain the sites feel is wrong or counter productive.
Stackoverflow have pretty solid metrics that show large numbers of users find the site unwelcoming. Just because you aren't one of those people doesn't mean that other people can't benefit from changes like this.
The expectation of feeling welcomed is part of the problem. Is stack overflow an information sharing community or a social community? Is it wikipedia for programmers or reddit?
The fact that most people don't comment at all indicates that most people want it to be a wikipedia for programmers. Some people want it to be a social community.
Wikipedia is a social community too, as soon as you do more than reading articles. And has well-documented issues in that regard, which limit its quality and who contributes to it. That's not the dichotomy you think it is.
Even if it is a Q&A site where most users are read-only, it's still very bad to be sending the signal to the lurkers that if you ever ask a question, there's a high chance you're gonna get shat upon.
Wikipedia can be pretty hostile to new users as well (especially in languages with fewer speakers). Some people think they own articles and are very territorial about them. The result is that domain experts are scared away while the prolific editors are those who are good at arcane formatting rules, editing conventions etc.
Sure, it's unwelcoming, like most support forums. But how does having more ways to upvote an answer address this at all? The problem with stackoverflow isn't lack of feedback.
It's kind of crazy for something claiming to be a "community" to crack down on basic human niceties and politeness. If you say "thank you", your comment will be deleted.
At least on a standard forum, you can say "hello" and "thank you".
The early adopters of Stack Overflow saw it as something closer to Wikipedia. A source of technical documentation. This still exists in the closest thing to a mission statement that one can find: https://stackoverflow.com/tour
> This site is all about getting answers. It's not a discussion forum. There's no chit-chat.
One similarly doesn't see "hello" or "thank you" in encyclopedias or technical documentation.
There are places for human interaction (chat in particular) - but in a question, answer, or comments it isn't useful.
Consider that the summary part of a question that shows up shows the first line or so of the text.
> Hello. I am a new user with Java but I know C#. I have searched everywhere but I cannot ...
Compared to:
> When using Java, I am trying to use a stream to select some data and write it out as a file ...
Having comments - especially trivial comments - means that voting doesn't happen as much and that then impacts the ability to get a signal to curate on.
You have to understand how Stack Overflow came to be. It grew out of the frustration with forums (phpBB, etc.): they were filled with chitchat, back and forth and the solution was hidden somewhere in page 5 of 8. You were coming from Google and didn't care about who posted the stuff, their avatar, their signature etc, you wanted a solution to an immediate problem.
Hence the Q&A format was born with upvoting the best answer to the top and deemphasizing the back-and-forth into comments. It got popular exactly because it cut through all the niceties and fluff and allowed you to get to the point quick. Some people don't share the preference for this, they would like a social community site instead of the above description. Instead of building their own site with that in mind, they want to bend SO away from its original goal.
Predictably, the original people will probably move to a new site. It's a cycle: power users create a place, it gets popular because it's high quality, then it gets run over by lazy people and rules get adjusted to be welcoming and inclusive, the original people are pushed out, the quality decreases. When the originals create a new site, they will now try to be even less inclusive than the first time to avoid the same "eternal September" effect.
I'm well aware but SO isn't the last word on peer support.
i) We don't have to dehumanise interaction to present clean information.
ii) I believe there is much more human motivation potential to be found in "personal connection" than there is in fake karma. I want to be thanked, I want to know how I mattered, I want to know what the user was building just as much as I want to be gracious and share how much they helped me.
iii) They are trying to use the same rules for wildly different situations. There are two faces to SO: very high traffic questions better directed to maintained documentation/tutorials, and a very long tail of 1:1 interactions that get less than 100 views and no votes. Right now SO doesn't serve either very well: the high traffic do not benefit from 10 years of highly voted bad answers and the low traffic do not benefit from the interventions of jack-booted deletionists.
iv) IMHO you often get a better experience and treated with more respect in a discussion on a GitHub issue. We don't have to turn github issues into a highly constrained impersonal experience to be effective.
> We don't have to dehumanise interaction to present clean information
I agree with this sentence, but when actually implemented it often results in fake upbeat corporate marketing cheerfulness niceties that goes in the opposite direction.
To your other points: I think SO should be used when you can reasonably expect at least one other person to ask your question down the line. It's not about your particular issue, the idea is you are entering something into a knowledge bank for easy retrieval by others later on. This is why it's also encouraged to answer your own questions! It's not a discussion site, but a mapping of questions a person may have to the answer.
Indeed, if you want to discuss back and forth, you are better served by the project Github or a project mailing list or the forums of old. If you want to focus on the personal connection: there are tons of Discord servers, Slack workspaces, subreddits, I guess some forums and IRC channels are also alive etc.
The problem that many people have with the new cultural shift is that the expectations are just different. Not everything has to turn into a social site with followers, likes, shares, news feeds etc. There is simply an influx of people with a different culture/value system compared to the original hacker ethos. The problem is, it was the hacker ethos that made the site so efficient, usable and popular.
Sure, hacker culture is also known for its flame wars and shouting RTFM and being unwelcoming, and it should be improved, but the problem is, that you cannot scale personal one-on-one mentoring when the influx of novices is so fast. There is tons of low effort "this code does not work, give me solution plz thx" and a dump of random code from some app. You can't do handholding guidance with everyone. Many of them are not receptive to anything and expect to be served with an answer because they deserve it and if they are told to put in some work, they say it's too elitist.
The thing is, SO's biggest value comes from the contributor base. And as we can see from the meta posts, the contributors are not appreciative of the new direction.
If it's stretched too far, at some point it will come to a fork with some stronger filtering and a different culture and many of the people who take their time to answer questions will move.
You can't force people to interact in a way you prescribe from the top down. It has to come organically from the community itself.
At the beginning of StackOverflow there was a very strong opinion held by the founders, particularly Jeff Atwood, that the longevity of a site was determined by the signal to noise ratio. The emphasis at the outset was to eliminate as much noise as possible. Automated systems were put in place that went way too far, in my opinion. The whole Chat system was put into place to get comments off the main pages. Even though Jeff Atwood hasn't been at the company for years, the philosophy still seems very entrenched.
There is a miscommunication /somewhere/ about what the motivation for high rep users is.
Even in this exchange there is someone who stated that people get points for closing posts (that's wrong).
With that set of preconceptions about how Stack Overflow works, the "someone down voted me" and "someone closed my question" become attacks on the person meant to increase the points of the other person.
The actions of curation aren't intended to be unwelcoming - but when held in the "all actions on my posts are judgements about me" it becomes a question of "can this be solved?"
One of the things that is disappointing is that someone who can speak with the voice of Stack Overflow corporate isn't actively pursuing social media (HN, Reddit, etc...) and helping to correct these misperceptions.
Also one of the answers on that question was deleted by an employee (! — itself an unusual event) for satirically opposing the change. More information here.
1. Not enough people vote on questions or answers.
We know this because of the metrics of people who visit a page vs. those that vote vs. those that comment.
I used to know these metrics since I was a Stack Overflow community elected moderator, but no longer have access to them since I resigned in October of last year: https://meta.stackoverflow.com/q/390427/16587
Anyway, the goal of this change is to reduce the number of 'thanks' comments left (and to hopefully make people feel like Stack Overflow is more than 'just' a Q&A site, that it has, itself, a personality that is welcoming); but the problem is that it doesn't address -- and indeed may even exacerbate the issue with not enough people voting.
Voting is what helps ensure bad questions are tended to, good questions are rewarded, and good answers are rewarded (and as a positive reinforcement mechanism for people to post more answers).
If people aren't voting, the Q&A model breaks down rather quickly. Which is Bad™.
The hypothesis against is if people have reactions, why would they need to vote?
Naturally, the people in the community who depend on votes to help their work (the curators) are pretty pissed off that at best this will distract from tackling the issue, and at worst will actively disrupt trying to fix the issue.
There has been a tendency over the past year or so especially for Stack Overflow (The company) to not listen to its curators (it's been going on for much longer than that, but came to a head a year ago); and this is another instance in a long series of instances where at best Stack Overflow (the company) is tone deaf to the issues its community faces.
Thanks, but your suggestion doesn't take into account when a comment contains information that would suggest that an upvote (or emoji) isn't appropriate.
How is it different from upvoting an answer? People who want to write will still write thanks, I already found some posts on the home page with thanks comment and the feature.
Also what about the change in reputation when being thanked? It should be there in the blog post.
My understanding is that these are pure vanity. Doesn't require any reputation to give, doesn't give any reputation either, nor does it sort your post.
I went to meta-discussion and learned more details. Most of the thanks comment are written by folks who already have upvote powers. Anyways its a fun read. Grab popkorn and go through it :)
For a long time now, StackOverflow has lost its way.
Their voting system began as an outstanding mechanism to separate the QA wheat from the chaff. It evolved and improved organically. It provided a much needed means to surface the best questions and answers, and it provided a sort of incentive system, however imperfect, whereby contribution quality could be quantified.
Then something happened. I think a major part of the problem was that leadership lost its way in guiding the system's evolution. Rather than continuing to evolve the scoring system to better reflect the quality of contributions, at some point they seemed to adopt the outlook that improvements were futile: It would always be possible to game the system such that scores would never approach true quality of contribution, so why try? I believe this was a mistake.
Evolution from there ignored the scoring system. They went off in failed Documentation efforts. They focused on "being nice". They fought with their own volunteer moderators.
They seemed to look everywhere else but the origin of their initial strength: Community contribution fairly rated in a manner that allowed good moderation to scale. They should have continued to improve this system to root out the problems of over-eager closure and popularity dominating whatever prefered qualities the community would have liked to have seen measured.
An adjunct "thank you" mechanism that's redundant to the voting system is a sign that those in control do not appreciate the merit of, and do not know how to evolve, the voting system.
I thought about this, why can't we do this like with monitoring. We alreday know that median isn't good enough, so so we look at the 95th or 99th percentile. Can't we do this with ratings too?
>> They focused on "being nice". They fought with their own volunteer moderator.
Some times i feel the moderators are bit rude and harsh. especially to the newbies who submit their first questions. I could be wrong, but this is what i saw and felt..
Sometimes though it's deserved. The other day I saw a post with a title something like "Hey, help a newbie out". The post itself did not contain a description of any kind of problem, just a couple of links off-site. I responded with a comment, "Hey help us by using a descriptive title". Yes it was rude, but far less than the question itself deserved. I believe it was closed shortly after. I can no longer find the comment in my history, so I can only assume the question was deleted.
Sure if it's obviously spam, or some kind of ridiculous screed, it should be deleted asap-- without votes, answers or commentary.
The problem is when people write questions earnestly, but because they lack subject-matter orientation, aren't able to formulate their questions in a way that SO experts would like to hear. Too many questions are smugly dismissed this way. It doesn't help anyone and it pisses a lot of people off.
I think many of these earnest but "bad" questions just need answers in the form of heuristic advice or pointers to get them on the right track. Being able to formulate a question is half the battle. Understanding ALWAYS begins with some amount of confusion. Admittedly, that's not optimal for a site where well-defined questions are supposed to get crisp answers that others can use over and over. But that still doesn't excuse rudeness.
I'm not going to apologize. If you can't actually ask a question on a site that is all about asking questions, you get no respect from me. I actually LIKE answering questions, that's why I participate. It wasn't about formulating the question, I don't mind prodding people in the right direction for that. There simply wasn't a question, either in the title or the body of the text.
I am not defending that cherry-picked example question.
I am defending questions that are earnest but which are missing some foundational understanding of the subject matter which is usually needed to ask an answerable question. What you might call "prodding" can also take the form of polite advice or guidance. It NEVER HAS TO BE "prodding" by downvotes, VTC's and harsh commentary.
The challenge with Stack Overflow is making this scale to 8k questions per day.
The number of people who are willing to spend that time is small to begin with and trying to provide that polite advice and guidance can easily take a significant fraction of an hour per question.
Downvotes and votes to close provide a lower friction of providing that information. Neither of these are intended to be considered rude or unwelcoming.
Personalized advice and guidance for users doesn't scale well.
The Q&A format for Stack Overflow is poorly suited for people trying to gain that foundational understanding. This isn't a failing of Stack Overflow per say but rather the Q&A style. For such questions, other resources where more dense communication can be hand (forums are better for this) - Stack Overflow doesn't need to be and shouldn't be the one resource for all programming questions.
Downvotes can feel very unwelcoming, even when they aren't intended to be. Especially if they aren't followed with a comment pointing out how to do better. I try to reserve my downvotes for questions that seem hopeless, but I leave a lot of comments. It's funny that Stack Overflow is now attempting to make downvoting more common, after going on recently about how they wanted it to be more welcoming.
Votes to close are worse of course. There's no more direct way to say you don't belong here.
> Neither of these are intended to be considered rude or unwelcoming.
OK, sure, that's not the "intent" but both downvotes and VTC's really ARE considered unwelcoming and are very harsh on new users especially when coupled with smug comments.
I've been on SO since the early days. I've learned to brace myself for hostility when asking or answering a question, but it still makes me cringe to see new people getting burnt to a crisp over persnickety stuff. There's a lot of people that find the harshness distasteful, but their reaction is mostly to ignore it (I usually do that). Others actually applaud the harshness and justify it with, IMHO bogus, arguments like yours about "scale" or not wasting expert's time.
The bottom line is it COSTS NOTHING to be polite and empathetic. If you don't want to help out an earnest newb, that's your prerogative, but you don't have to write anything, you don't have to spend a second to downvote or police the question.
Maybe "prodding" was a poor choice of words. What I meant was leaving comments that point out ways a question can be improved or providing background information, not downvotes or VTC. I also try hard to keep the commentary from being harsh, but I'll admit to being human in that respect from time to time.
> I think many of these earnest but "bad" questions just need answers in the form of heuristic advice or pointers to get them on the right track.
This is true, but not necessarily the role of SO to solve. This seems more like a mentoring service.
SO was conceived as a long-term repository of questions and corresponding answers that are worth archiving for several years, so explainers don't have to rehash the same explanations many times and explainees have quick access to expert knowledge collected over a long time.
Remember the bulk of users are the passive readers of the vast question bank of SO, they come to SO because the questions and answers are relevant and helpful. The primary user is therefore not necessarily the novice user who cannot formulate a question well and cannot search for similar questions or break down their problem into pieces, explain what they did etc. We also need to make sure the site remains high-quality for the readership, people who read answers from months and years ago.
I agree that there needs to be some place for novices to get coarse-level guidance of what terms to search or what fields of CS may be of interest, etc. It's definitely true that formulating the question the right way is already a substantial step towards solving it.
But "I'm confused in a vague way about this specific file I was tasked to work with and I'm getting an error message I was too scared to read, so plz help" is not worth archiving in a question bank.
It sounds more like a support help desk for programmers, but you'd have to pay for it because answering such questions is exhausting and not really rewarding. The people who go to SO do it for free because they like the puzzle solving aspect of thinking and solving interesting questions. Rehashing the same thing gets old and you can not guilt trip people into doing it as some sort of unpaid community service.
> This is true, but not necessarily the role of SO to solve. This seems more like a mentoring service.
SO, I agree, is not a mentoring service. The format of SO is a poor way to pick up foundational knowledge. It's ~usually~ awesome if you know exactly what you need and are able search for it. Or if needed, formulate a precise question. (to be fair, that is often NOT enough to avoid smackdown votes, VTC, dupe marking, and dismissive put-downs).
That said, it happens many times, that people end up having to do unfamiliar tasks in their work, and they might need to just get something done without having much directly relatable experience in the task. RTFM is not a realistic option as the F-ing Manuals's would typically be hundreds of pages of dense material. Often a push in the right direction and a little orientation is enormously helpful.
And, by the way, many people really do enjoy helping out individuals-- they take joy in helping someone out even if the help they provide doesn't take the form of "a canonical answer" (god, I hate that pretentious word, "canonical"). It doesn't detract from the quality of the site to loosen up on the strictness of the rules.
I think SO has more-or-less solved the problem of providing a high quality crowdsourced information resource focused on software development. They deserve credit for that.
There's serious issues, however, with people being made to feel like crap for daring to post a question/comment that does measure-up to arbitrarily persnickety expectations from other users and often moderators who take their interpretation of what they think are "the rules" to absurd levels of pedantry (which they would call "being objective"). For whatever reason certain personality types are attracted to this kind of behavior and thus dominate the moderation tasks on SO.
Saying "THANK YOU" to someone is NORMAL human behavior. It doesn't need an over-engineered system. It doesn't need anything extra at all. Comments are PERFECTLY FINE for stuff like that. SO could, perhaps, cull comments by automatically deleting them after a year or so. That would solve the problem of too much cruft, but no, that would take away the joy that the off-topic-police take in offending people who are communicating like human beings.
1. "Normal human behavior" is not tapping at a keyboard staring at a rectangle with lit-up points...
2. The way you say "Thank you" on StackOverflow is with an upvote (and/or accepting the answer if you asked the question). You can also explain your upvote with a comment.
The new image says: we took a lot of venture capital and there's not enough money in knowledge services. We've got returns to generate. We're going to sell you something, and hey we <3 people who code ("we less than three people who code"), we swear.
The old image (from 2015, when they were still in their prime) says: we're a knowledge service, we have a knowledge mission and that's what we're all about. Few frills, let's get to learning and sharing.
Do you suppose their tag line is revealing how few people at Stack actually still code? It's all MBAs now I suppose. Or maybe it means their new organization is less than the value of three people who code.
I usually like to answer questions, but for me it feels like the quality of the questions and the community has gone down overall. Most of the questions asked are from new users and are low effort, duplicated, one google search away from hundreds of answers, all of them at once. I feel like it turned into a social network, where 90% of the content generated is garbage or just duplicated content. Why I don't like this is that it encourages bad habbits for new programmers, where instead of trying to figure out how to solve a basic issue, they just ask on SO and expect a complete answer that includes valid code, so they don't actually learn anything from asking that question, they just want someone else to do their "homework".
Population of new users grows faster than technological growth invalidates old answers?
Users with astronomically high points are deeply invested. How do you get to +10k points without being highly invested? Expert. Super User. Equals highly opinionated.
I make Python automation scripts at work, without formal training. I fall into many different pitfalls--all the time. One of my "favorites" is posting something to CodeReview. Then it get's closed (because CodeReview, despite its name, has a narrow focus). Then I try it over at SoftwareEngineering, only to get downvoted and flamed because I'm not asking a _serious_ question.
I've grown up with SO as a programmer (BTW, I'm over 40) just enough to be dangerous as SO becomes increasingly conservative and less interested in the questions and more interested in routine administering of rules.
> "They should have continued to improve this system..."
I'm divided on this. On the one hand there is room for improvement as tech questions age. I frequently get answers that are nearly 10 years old for some questions. Sometimes they're relevant, and sometimes they're not. The community has MonkeyPatched this problem by opening and editing old answers with "UPDATE 2020" or "UPDATE v3" addendums.
On the other side it's rare to get past the gimmick (voting; q&a site) that make the product so successful. The site's usefulness is growing old, while the community continues to grow, resulting in frustration, confusion and pain in the you know what. It's sad _and_ true.
The main issue I've had with SO, which while anecdotal seems to reflect the sentiment of a lot of people on here whenever the subject is brought up, is that it's infected with the YX problem.
Now you guys probably know the XY problem (asking the wrong question X to when you really want to solve the problem Y). The YX problem, on the other hand, goes like this:
User: "Hi, how do I do Y?"
SO: "Why do you want to do Y?"
User: "Because I want to do [use case]"
SO: "Are you sure you don't want to do X instead?"
User: "No I don't, I have this constraint and this use case so I'm pretty sure this isn't about X and I really want to do Y."
SO: "Are you sure this isn't a duplicate of [some question involving X]?"
User: "No it's not, the question while similar doesn't have the same constraint or usecase and I have searched SO for a while for questions that specifically involved these and didn't find any so I really need to do Y."
SO: "Wow, I can't possibly imagine why you, for a use case you've examined for a while and which I have been made aware of five minutes ago, could possibly want to do Y while not doing X. I don't know and I rest my case. A solution to Y probably doesn't exist anyway."
Answerer: "Hi to do Y you have to do this [hacky snippet]" (answer accepted)
User: "Cool, thanks!"
SO: "This is bad practice and I don't condone it. It shouldn't be upvoted or the accepted answer."
--------
Of course this is the optimistic scenario, where the question does get eventually answered.
I think we need some kind of long form essay/how-to for this problem. It's a serious issue and I see millions being wasted this way. Point in case, we continue to push dashboarding tools in the analytics industry (Y) while what we really need is a way to better connect data and processes (X). There is a lot of knowledge in a lot of areas, but how do you vet it? Corporate people (me for instance) are stuck either with writing LinkedIn articles or Medium ones, neither of those promote any kind of fair way to measure "good" contributions.
Gotta echo this: this is absolutely the main issue I've had with SO.
I'm not sure if this kind of stuff increase recently* or if it's always been an issue that I only began to notice later. I'm also not sure of the cause, nor the solution, but it does seem to indicate a switch from one definition of "education" to another:
1. "helping" users solve problems
2. "schooling" users on what they're doing wrong
* I say "recently", but I just checked and it appears I joined SO ~11 years ago and haven't actively used it in ~7 years, so "recently" is probably not the right word...
StackOverflow is intended to be a repository of good questions and answers, rather than a service of helping people solve their problems. The latter is at most a secondary function - though an important one. The point is, the questions and answers must be edited and up/downvoted to serve future visitors wondering about the, more than to help out the person who originally asked the question.
> StackOverflow is intended to be a repository of good questions and answers, rather than a service of helping people solve their problems.
Can you elucidate how these are not the same thing? In my mind, a good answer is one that solves a problem proposed in a user's question. A good question is one that poses a problem other users are / will also share.
Lets contrast it with a poor question as all questions that are good solve the user's problem... but not all questions that solve the users questions are good.
The answer solved the problem (see the final comment). But it isn't a good question. The text isn't searchable. The only way I found it was by trawling through the NullPointerException duplicate questions.
The question that I linked - it isn't a question that someone will find again. It is a null pointer question and the person who answered it hand held the steps to solve the problem. The person answering it was answering it as a service to the OP rather than a "lets improve the ability for people to find information."
Look also to https://stackoverflow.com/q/26566648 - the OP was helped, but was that something that is going to be found again and used to solve another problem? Or https://stackoverflow.com/q/26827621 - the answer is the duplicate and while the person who answered did help, that question isn't something that is useful or findable. Its not a good question (try to find a search query in google that brings back that question).
A good question:
* states its problem well in a way that can be replicated
* is findable by querying a search engine for the plain text error or problem
* is written (often edited by others) to be a useful technical document
Look at https://stackoverflow.com/search?tab=newest&q=is%3aq%20answe... and consider how many of those questions are useful for adding to the body of knowledge and how many are "help me with my problem". And as that's a query for closed questions - look at the duplicates and consider "is that duplicate better written?"
If a question is poorly written, difficult to understand, or is answered by too many different answers ("how can I optimize this code?" and there are 100+ answers) then the utility of that question to help other people goes down. Nonetheless, there are people who will answer it because it helps that person solve their problem.
That's because the question has been answered, so it's out of the OP's head I think; what SO wants to do is turn a question into a wiki / knowledge base, but right now only the OP can make the edits and change the accepted answer if applicable. I guess one way to fix this is to relinquish ownership of the question, change it so that highest upvoted answer becomes the accepted answer for example, so it becomes an internet-democratic resource (note: internet-democratic is not real democracy due to brigading, community preferences, etc; the most popular / upvoted answer may not be correct)
i don't see why that even matters? so what if the accepted answer is not the highest voted answer. when i look at a problem it's not always the accepted answer that solves my similar problem. i'll look at the top voted answers, and others too.
those are just guides where to start looking
The only time an accepted answer doesn't pin to the top is when it is when the accepted answer is one from the OP - in which case it doesn't get pinned and sorts by votes only.
I've certainly come across a lot of questions (that I've also wanted to know the answer to!) that have incorrectly been closed as a duplicate of something else that's not really the same. But I suspect there's a lot of selection bias going on: by the very fact I'm searching for that specific unusual case, I'm going to come across this type of question that looks like a duplicate to the untrained eye. On the other hand, people doing the reviewing also see a raging torrent of actual duplicates, and maybe many of those claim their situation is slightly different when really it isn't, causing the reviewers to get jaded.
Yeah, as someone that has reviewed thousands of things in the review queues: There's SO. MUCH. TRASH.
The meme is that it's power-tripping moderators and stuff, but it's mostly normal users like me reviewing an never-ending pile of garbage, trying to let the few good posts through.
It seems like most of the "power users" treat it like some giant multi-player online adventure game, where the goal is to win points and go on quests to get questions answered first, get answers closed as dupes, or get the accepted answers. The quality of the answers or information provided matters less than the points.
Neither updating a question nor closing/close-voting gains you any points.
When that happens to you, did you add a comment telling others why it is not a duplicate? In my experience most people don't and if they do it is just a comment like "It is not a duplicate". The latter is obviously not helpful and won't change anybody's mind.
I think introducing some sort of "cost on giving opinion" could work. You get to ask a question if and only if you also provide some sort of solution to the problem as stated by OP. The opposite equals downvote.
Also, as Taleb says "be wary on anyone giving you advice which you didn't ask for".
Haha this is funny but over the last 3 years or so I've found this has stopped being my experience. I think two things that are out of my control changed, that being the community developing more and also me asking slightly less noobish questions.
Something I CAN control though is how I ask questions, and I guess I instinctively learned to avoid that trope you're commenting about. So when I ask a question, I state ALL my research, I link directly to related questions that didn't solve the problem, I link to specific places in docs, I paste in specific parts of my code, and I list out all my constraints. Then at the very bottom, bolded and in a single sentence, I state or restate my question.
Since I started doing that, haven't had the above issue.
This reminds me of https://xkcd.com/1172/ (how do I re-enable spacebar heating?) and https://weblogs.asp.net/alex_papadimoulis/408925 ("A client has asked me to build and install a custom shelving system. I'm at the point where I need to nail it, but I'm not sure what to use to pound the nails in. Should I use an old shoe or a glass bottle?").
Usually, when "the YX problem" happens, "Y" is something like "SSH won't let me use my private key because the permissions are too open. I can't change the permissions because [insert reason that would make any security-conscious person cringe]. How do I get SSH to let me use a world-readable private key?"
So yes, there's probably some technically valid use-case, but it's a really big footgun and it probably would be a much better idea to fix the underlying problem the right way.
The difference is perspective. When you are asking a question, you are a professional who has considered the normal way to do things, worked out why it isn’t suitable, and carefully reduced your question to only contain the minimum amount of information, as the site guidelines suggest.
When you are browsing such a question, it was obviously written by three raccoons in a trench coat and you can’t understand why they wouldn’t do the obvious right thing and the question is missing all the relevant information about why they want to do what you don’t like.
For a site full of software developers there often doesn’t seem to be much willingness to accept compromises or trade-offs.
That said, I concede that I often see questions with silly constraints but those constraints are usually because the question was homework and designed as a teaching exercise for the environment which the question is constrained to.
I'm more curious about what caused the recent spike in "thank" showing up in questions and answers. 19% -> 23% in a couple months seems statistically significant.
Did the pandemic/lock down cause a slew of newer developers that are generally more appreciative?
That's not a new problem at all, there have always been people who look at the site as a free code-writing service. Kind of the opposite of the "Thanks" problem are the question askers who complain that you didn't deliver them production-ready code.
My main issue with SO is that it has become a rather "snippy" place. The "be nice" ethos just means that the nasty is more eloquent.
It's now quite painful to ask questions, there, because someone will pretty much always ding it. Usually, you have no idea why, or who. In fact, that happened to me just a day or so ago.
Also, I think that downvoters should be notified when the question/answer is edited, so they can review if the downvote still applies.
I once trolled a community (not SO) by writing an obviously inflammatory post, getting a gazillion downvotes, then editing it to be very reasonable, so everyone was on record as having downvoted a very decent post. Petty, but fun (They did not have edit records for posts, but you could see what users up/downvoted).
I like the idea of a "Thank You" reaction, but that's really just porcine lip gloss.
I think that it would be more valuable to require an explanation for a downvote, even if anonymously. I would have no problem telling folks why I downvoted a question or answer (in fact, when I do, I add a comment, mentioning the reason, unless it is blatantly obvious). As is evident by my HN profile, I am making a point of standing behind what I post. I got rid of my last anonymous Internet account months ago.
Standing behind my words has helped me to be a bit more careful about what I post, and that's a good thing.
> My main issue with SO is that it has become a rather "snippy" place.
It's also true of other Stack Exchange sites. Sometimes you feel like in a Kafkaesque bureaucracy where you're sent from one site to the other and none of them think it's their job to deal with a question.
And I don't mean the low-effort questions, but well written interesting ones that are deemed to broad, too opinion-based, too whatever.
There is definitely an effect of territorialism, big egos and rule lawyering going on. As if people were playing a game of spot-the-broken-rule as some intellectual puzzle and going "heureka, there it is, you broke Rule No. 3, gotcha!!". Sites like SO and Wikipedia certainly attract people who get emotionally invested in this role and see themselves as powerful and enjoy feeling better than others.
That's why the debate is complicated. There is a problem with trigger happy moderation, but also with low-effort content.
The problem with SO is that it tries to be two things. One is a reference/encyclopedia of questions, and answers. And the other is a welcoming place to ask for help. Those two don't seem to line up 100%.
It's clear the old school moderators seem to think of SO as a reference, but the company itself wants to view it as a place to seek help.
I think that's the great thing about SO. It's a repository of common questions, yet also manages to be great for asking questions as well.
A lot of people in this thread seem to hate SO, and I disagree with them. If I ask a question on SO, no matter how obscure of a library or language I'm using, I'll get a response back within a day. And if my question gets flagged for being a duplicate, then I've just been redirected to more resources to solving my problem. It may not be warm and welcoming, but it's very helpful.
To be useful, SO doesn't need to be welcoming at all. It needs to be exclusive. If it wasn't elitist, it would be filled with Java programmers pasting 400 lines of code with little explanation. The elitism has caused me to write better questions and to really think about the hypothetical person answering my question. Elitism and helpfulness go hand in hand. If you want to see the horrors of a non-elitist Q&A forum, go check out the Unity forums or any popular Github repository.
I'm Stackoverflow user #823 or so and still in the top 4% of reputation, and...I don't get how the narrative has turned against SO.
I visit the site once or twice a day, and probably write two answers per month, which should make a decidedly average user. And for the life of me I could not tell you what people are complaining about?
I still find answers there more often than anywhere else, so whatever is supposedly broken doesn't seem to affect the primary function too much. The imaginary points still mostly point in the right direction. If happened to feel they diverged from perfect meritocracy I would try really hard to care about real problems, instead. Failing that, I would hopefully manage not to complain about it too obnoxiously, fearing it would make me look childish.
And then, much like Github, they seem to have committed the cardinal sin of tech communities of mildly opining that maybe racism or whatever isn't something they personally want to support with their work, which gets them into all kinds of strange arguments with one sort of people who are obviously not racists but just feeling the urge to defend some grand principle they just came up with, like ethics in game journalism.
Github is a very similar example: they single-handedly got millions of people to contribute to open source code, and made working in this ecosystem so much better, compared to source forge and various crappy custom systems that came before it. StackOverflow similarly replaced the most obnoxious, google-spamming, click-baiting, sign-up-to-see-the-answer grifters, and I will forever be thankful for their contribution.
It's a clash of cultures and a power struggle. The "hacker" style people feel that the rug is being pulled out under them and a corporate-style top-down leadership is dictating how they should interact.
Generally, hacker culture is very much against top-down authority and prefers organically grown, community-driven, distributed approach.
It's no surprise that the facebookization of SO is not welcome by them.
The same thing is happening on Reddit, Twitter and other platforms. The Internet is finishing the transformation from Napster, IRC, torrents, enthusiast content and hacking to corporate-sanitized marketing-compatible monetized influencer space. The new focus is engagement metrics, ad placement, brand protection etc. Traditional mainstream TV content is now taking up larger and larger share of online space, same with traditional newspapers.
You have to take this larger context into account. If these people could shut down the web, they'd do it in a whim and forbid anonymity and reverse everything that made the web so popular and drive everything back to cable TV but with likes, followers and shares, of course with a real name policy, with phone and ID confirmation.
This is not about the Thanks button, but a disregard for the community, and top-down dictates.
I think there are multiple issues and it's hard to point them out because everyone talks about what they see from their own point of view.
1) There are certainly power-hungry ego-inflated people killing off questions as duplicates when they aren't duplicate, or labeling things too easily as opinion-based etc. This is often a problem with community efforts, like Wikis and other places where people act like they own the place.
2) On the other hand, you have genuinely low-effort questions that are just pure lazy. Being a novice is normal, everyone started there. But doing at least a minimum of research is expected. Seriously go to the front page and browse the questions from <5 minutes ago. Most is very low effort with no context, just some code from the middle of some software and an error message without saying what they are even trying to achieve. It's not in any shape of form a question that should enter a long term question bank.
3) On the third hand, you have the power grab at StackOverflow by business-minded, MBA type suits, who care more about branding, marketing, and legal CYA than about programming. The project is no longer community driven. They seem to forget that SO's value is derived mostly from the unpaid labor of volunteers and working with the community should be a priority. And this is also a great lesson for all the contributors that sinking enormous amounts of time into a private company's proprietary product, it may not be worth it. At least Wikipedia is guaranteed free and open source and truly community owned. Maybe something similar needs to be created in place of SO.
Number 1 and 2 are what I've personally experienced and believe is what the StackOverflow team means when they say they're working to make the platform more friendly. I've been helping people with all sorts of programming problems on Discord for years, and I've encountered my fair share of people who put absolutely no effort in either their problem or asking a question people can work with, but at no point I've ever felt it was justified to publicly shame them or not be kind. If people are going to go around closing / deleting obviously mediocre questions with copypastas in the comments, is it asking to much to make the copypastas at the very least welcoming?
I actually followed your advice and browsed the recent page on StackOverflow to collect some samples of what I mean. To my (pleasant) surprise, it seems to have changed significantly from when I used the platform regularly. That said, I found this one that's a good example:
> Asking homework questions without any other detail is simply unacceptable. Please put more detail, because we are volunteering our time to help you, and if you put in absolutely no effort, then we can't help you.
I wholeheartedly, but why not say "StackOverflow is not a code-writing service. Please post another question with sample of your work, so we can direct you to a solution that'll make you learn in the process"? These types of comments are what made me so anxious to ask back when I started programming, and I think is something everyone will benefit greatly from getting rid of.
As for point 3, thanks for clarifying. I agree that dumping knowledge on a proprietary product isn't exactly a good thing, but the perspective of the business people can at least be understood now that they're selling it as a Q&A engine for private teams / companies. I don't think that's necessarily a good thing, but your previous comments made me think it was some sort of conspiracy theory :)
> I don't get how the narrative has turned against SO
We win friends by being compassionate, empathetic, supportive, and nurturing; by applying gentle correction. Leading by example. Helping each other up. Leading from the front.
I was a manager of a high-performance team; made up of people that knew a lot more than I did, and I kept us together, working as a tightly-coupled unit, for decades. I have some prior art in carrots over sticks.
One of the big problems, these days, is that documentation is just awful. People think that "more is good." That's not true at all. It just means that the SNR is much lower, and we waste time, reading irrelevance. We are also under a lot of pressure to get results fast. No time to look stuff up. Start coding.
Finding answers, in an efficient manner, is a real pain.
SO is a marvelous idea, and I totally support it. Ironically, I suspect that the "gamification" that has made it so successful, is also contributing to the issues it is facing. I do not have the answer. I think removing the gamification would also destroy the utility of the site.
I love SO. It is a big "go to" for me, and I have also asked twice as many questions than I have provided answers. I think that I ask very good questions. Sometimes, I'm wrong, and I don't mind finding that out. I become right by being wrong, and learning differently.
But people seem to be terrified to ask questions. I have no idea why. I am constantly asking questions; even "stupid" ones.
Reading some of the meta conversations, and seeing so many high-score members with single-digit question counts, says a lot. Whenever there is an election, my principal coefficient is the candidates' question count. I don't want to vote for people that think asking questions is something to be ashamed of.
I have over 35 years of shipping software. I have a great deal of knowledge and experience; far more than many folks on SO, but I also am constantly trying out new stuff that I don't know how to do. That makes me a n00b, all the time (I write about that, here: https://medium.com/chrismarshallny/thats-not-what-ships-are-...). I don't always know the best places to look for answers, and appreciate RTFM responses.
What I don't appreciate, is some person telling me that the fact I didn't watch some well-known (to them) video, or read some well-known (to them) article, makes me a "lesser person," or (an SO fave), "lazy" (anyone that actually knows me, knows that "lazy" is not a word that can be applied to me). I appreciate being directed to the video or article, but the nasty sauce is not a condiment that I prefer.
UPDATE: I removed some stuff from this response that was probably not necessary to the conversation, and would not be constructive. I hope someone was taking notes. That's how we do it.
The combination of Google + SO always seemed too good to me compared to most everything else on the Internet. It just works really well. I think this is the closest thing we have to mind reading at least when it comes to programming problems. It'd be shame for it to go away be it SO doing more and more dumb shit like adding touchy feely bs like "thank you" mechanism or Google being hit by antitrust into oblivion.
This is stupid. Why not give people a way to actually say thanks without cluttering up the comments? A real thank you written by a human is much more touching and encouraging than a clapping icon with a counter on it. The article starts with a beautiful image of real thank you’s, and then immediately turns around and implies that clicking a clap button is the same thing?
These kind of things are what dehumanizes the internet, they don’t make for better human connections. It’s also basically the exact same as the current upvote icon. A way to send a message to the author privately saying thanks seems much more touching. Or even a hidden “thank you’s” list of grateful words that can be expanded on the question but that is hidden by default. Either of those would be better than this weird duplication of robotic thank you’s.
New users trying to help other new users to triage questions doesn't really work well.
If someone doesn't grok the way that Stack Overflow works, the information that new users add (or ask for) may do more harm than good (see examples of people adding random formatting). Many times this just is reinforcing bad habits.
If you feel this could be useful, I would encourage you to try helping out by editing questions in the Help and Improvement queue so that they are good questions with all the necessary information (and matching the style that Stack Overflow expects).
There was a mentorship project at Stack Overflow a bit ago - but it didn't scale and the expectations were mismatched (many new users were expecting help with their problem /now/ rather than help with trying to make their question better).
The video game analogy - its not that you need to team up to solve a problem, its realizing that the quest(ion) has already been solved by someone else so you don't need to do it again.
99 comments
[ 3.2 ms ] story [ 165 ms ] threadThe people who are there with influence on direction have a very different view of what SO (and the rest of SE) should be. Most employees at corporate do not use any of the public sites in any way, shape or form and are disconnected about what the users and curators there need.
And so, you get continuous improvement - on a vision that the unpaid volunteers who maintain the sites feel is wrong or counter productive.
The fact that most people don't comment at all indicates that most people want it to be a wikipedia for programmers. Some people want it to be a social community.
At least on a standard forum, you can say "hello" and "thank you".
The early adopters of Stack Overflow saw it as something closer to Wikipedia. A source of technical documentation. This still exists in the closest thing to a mission statement that one can find: https://stackoverflow.com/tour
> This site is all about getting answers. It's not a discussion forum. There's no chit-chat.
One similarly doesn't see "hello" or "thank you" in encyclopedias or technical documentation.
There are places for human interaction (chat in particular) - but in a question, answer, or comments it isn't useful.
Consider that the summary part of a question that shows up shows the first line or so of the text.
> Hello. I am a new user with Java but I know C#. I have searched everywhere but I cannot ...
Compared to:
> When using Java, I am trying to use a stream to select some data and write it out as a file ...
For comments, this has been looked at in the past - https://meta.stackexchange.com/questions/204402/hide-trivial... and https://meta.stackexchange.com/questions/210265/how-can-we-m...
Having comments - especially trivial comments - means that voting doesn't happen as much and that then impacts the ability to get a signal to curate on.
Hence the Q&A format was born with upvoting the best answer to the top and deemphasizing the back-and-forth into comments. It got popular exactly because it cut through all the niceties and fluff and allowed you to get to the point quick. Some people don't share the preference for this, they would like a social community site instead of the above description. Instead of building their own site with that in mind, they want to bend SO away from its original goal.
Predictably, the original people will probably move to a new site. It's a cycle: power users create a place, it gets popular because it's high quality, then it gets run over by lazy people and rules get adjusted to be welcoming and inclusive, the original people are pushed out, the quality decreases. When the originals create a new site, they will now try to be even less inclusive than the first time to avoid the same "eternal September" effect.
i) We don't have to dehumanise interaction to present clean information.
ii) I believe there is much more human motivation potential to be found in "personal connection" than there is in fake karma. I want to be thanked, I want to know how I mattered, I want to know what the user was building just as much as I want to be gracious and share how much they helped me.
iii) They are trying to use the same rules for wildly different situations. There are two faces to SO: very high traffic questions better directed to maintained documentation/tutorials, and a very long tail of 1:1 interactions that get less than 100 views and no votes. Right now SO doesn't serve either very well: the high traffic do not benefit from 10 years of highly voted bad answers and the low traffic do not benefit from the interventions of jack-booted deletionists.
iv) IMHO you often get a better experience and treated with more respect in a discussion on a GitHub issue. We don't have to turn github issues into a highly constrained impersonal experience to be effective.
I agree with this sentence, but when actually implemented it often results in fake upbeat corporate marketing cheerfulness niceties that goes in the opposite direction.
To your other points: I think SO should be used when you can reasonably expect at least one other person to ask your question down the line. It's not about your particular issue, the idea is you are entering something into a knowledge bank for easy retrieval by others later on. This is why it's also encouraged to answer your own questions! It's not a discussion site, but a mapping of questions a person may have to the answer.
Indeed, if you want to discuss back and forth, you are better served by the project Github or a project mailing list or the forums of old. If you want to focus on the personal connection: there are tons of Discord servers, Slack workspaces, subreddits, I guess some forums and IRC channels are also alive etc.
The problem that many people have with the new cultural shift is that the expectations are just different. Not everything has to turn into a social site with followers, likes, shares, news feeds etc. There is simply an influx of people with a different culture/value system compared to the original hacker ethos. The problem is, it was the hacker ethos that made the site so efficient, usable and popular.
Sure, hacker culture is also known for its flame wars and shouting RTFM and being unwelcoming, and it should be improved, but the problem is, that you cannot scale personal one-on-one mentoring when the influx of novices is so fast. There is tons of low effort "this code does not work, give me solution plz thx" and a dump of random code from some app. You can't do handholding guidance with everyone. Many of them are not receptive to anything and expect to be served with an answer because they deserve it and if they are told to put in some work, they say it's too elitist.
The thing is, SO's biggest value comes from the contributor base. And as we can see from the meta posts, the contributors are not appreciative of the new direction.
If it's stretched too far, at some point it will come to a fork with some stronger filtering and a different culture and many of the people who take their time to answer questions will move.
You can't force people to interact in a way you prescribe from the top down. It has to come organically from the community itself.
But being unwelcoming is a problem, and it needs solved. This just doesn't solve it.
Even in this exchange there is someone who stated that people get points for closing posts (that's wrong).
With that set of preconceptions about how Stack Overflow works, the "someone down voted me" and "someone closed my question" become attacks on the person meant to increase the points of the other person.
The actions of curation aren't intended to be unwelcoming - but when held in the "all actions on my posts are judgements about me" it becomes a question of "can this be solved?"
One of the things that is disappointing is that someone who can speak with the voice of Stack Overflow corporate isn't actively pursuing social media (HN, Reddit, etc...) and helping to correct these misperceptions.
https://meta.stackoverflow.com/q/398507/16587
Overall, the biggest complaint against this is:
1. Not enough people vote on questions or answers.
We know this because of the metrics of people who visit a page vs. those that vote vs. those that comment.
I used to know these metrics since I was a Stack Overflow community elected moderator, but no longer have access to them since I resigned in October of last year: https://meta.stackoverflow.com/q/390427/16587
Anyway, the goal of this change is to reduce the number of 'thanks' comments left (and to hopefully make people feel like Stack Overflow is more than 'just' a Q&A site, that it has, itself, a personality that is welcoming); but the problem is that it doesn't address -- and indeed may even exacerbate the issue with not enough people voting.
Voting is what helps ensure bad questions are tended to, good questions are rewarded, and good answers are rewarded (and as a positive reinforcement mechanism for people to post more answers).
If people aren't voting, the Q&A model breaks down rather quickly. Which is Bad™.
The hypothesis against is if people have reactions, why would they need to vote?
Naturally, the people in the community who depend on votes to help their work (the curators) are pretty pissed off that at best this will distract from tackling the issue, and at worst will actively disrupt trying to fix the issue.
There has been a tendency over the past year or so especially for Stack Overflow (The company) to not listen to its curators (it's been going on for much longer than that, but came to a head a year ago); and this is another instance in a long series of instances where at best Stack Overflow (the company) is tone deaf to the issues its community faces.
Also what about the change in reputation when being thanked? It should be there in the blog post.
Their voting system began as an outstanding mechanism to separate the QA wheat from the chaff. It evolved and improved organically. It provided a much needed means to surface the best questions and answers, and it provided a sort of incentive system, however imperfect, whereby contribution quality could be quantified.
Then something happened. I think a major part of the problem was that leadership lost its way in guiding the system's evolution. Rather than continuing to evolve the scoring system to better reflect the quality of contributions, at some point they seemed to adopt the outlook that improvements were futile: It would always be possible to game the system such that scores would never approach true quality of contribution, so why try? I believe this was a mistake.
Evolution from there ignored the scoring system. They went off in failed Documentation efforts. They focused on "being nice". They fought with their own volunteer moderators. They seemed to look everywhere else but the origin of their initial strength: Community contribution fairly rated in a manner that allowed good moderation to scale. They should have continued to improve this system to root out the problems of over-eager closure and popularity dominating whatever prefered qualities the community would have liked to have seen measured.
An adjunct "thank you" mechanism that's redundant to the voting system is a sign that those in control do not appreciate the merit of, and do not know how to evolve, the voting system.
I thought about this, why can't we do this like with monitoring. We alreday know that median isn't good enough, so so we look at the 95th or 99th percentile. Can't we do this with ratings too?
Some times i feel the moderators are bit rude and harsh. especially to the newbies who submit their first questions. I could be wrong, but this is what i saw and felt..
Sure if it's obviously spam, or some kind of ridiculous screed, it should be deleted asap-- without votes, answers or commentary.
The problem is when people write questions earnestly, but because they lack subject-matter orientation, aren't able to formulate their questions in a way that SO experts would like to hear. Too many questions are smugly dismissed this way. It doesn't help anyone and it pisses a lot of people off.
I think many of these earnest but "bad" questions just need answers in the form of heuristic advice or pointers to get them on the right track. Being able to formulate a question is half the battle. Understanding ALWAYS begins with some amount of confusion. Admittedly, that's not optimal for a site where well-defined questions are supposed to get crisp answers that others can use over and over. But that still doesn't excuse rudeness.
I am defending questions that are earnest but which are missing some foundational understanding of the subject matter which is usually needed to ask an answerable question. What you might call "prodding" can also take the form of polite advice or guidance. It NEVER HAS TO BE "prodding" by downvotes, VTC's and harsh commentary.
The number of people who are willing to spend that time is small to begin with and trying to provide that polite advice and guidance can easily take a significant fraction of an hour per question.
Downvotes and votes to close provide a lower friction of providing that information. Neither of these are intended to be considered rude or unwelcoming.
Personalized advice and guidance for users doesn't scale well.
The Q&A format for Stack Overflow is poorly suited for people trying to gain that foundational understanding. This isn't a failing of Stack Overflow per say but rather the Q&A style. For such questions, other resources where more dense communication can be hand (forums are better for this) - Stack Overflow doesn't need to be and shouldn't be the one resource for all programming questions.
See also:
https://meta.stackoverflow.com/questions/268779/can-we-make-...
https://meta.stackoverflow.com/questions/353845/stack-overfl...
https://meta.stackoverflow.com/questions/357198/mentorship-r...
Votes to close are worse of course. There's no more direct way to say you don't belong here.
OK, sure, that's not the "intent" but both downvotes and VTC's really ARE considered unwelcoming and are very harsh on new users especially when coupled with smug comments.
I've been on SO since the early days. I've learned to brace myself for hostility when asking or answering a question, but it still makes me cringe to see new people getting burnt to a crisp over persnickety stuff. There's a lot of people that find the harshness distasteful, but their reaction is mostly to ignore it (I usually do that). Others actually applaud the harshness and justify it with, IMHO bogus, arguments like yours about "scale" or not wasting expert's time.
The bottom line is it COSTS NOTHING to be polite and empathetic. If you don't want to help out an earnest newb, that's your prerogative, but you don't have to write anything, you don't have to spend a second to downvote or police the question.
This is true, but not necessarily the role of SO to solve. This seems more like a mentoring service.
SO was conceived as a long-term repository of questions and corresponding answers that are worth archiving for several years, so explainers don't have to rehash the same explanations many times and explainees have quick access to expert knowledge collected over a long time.
Remember the bulk of users are the passive readers of the vast question bank of SO, they come to SO because the questions and answers are relevant and helpful. The primary user is therefore not necessarily the novice user who cannot formulate a question well and cannot search for similar questions or break down their problem into pieces, explain what they did etc. We also need to make sure the site remains high-quality for the readership, people who read answers from months and years ago.
I agree that there needs to be some place for novices to get coarse-level guidance of what terms to search or what fields of CS may be of interest, etc. It's definitely true that formulating the question the right way is already a substantial step towards solving it.
But "I'm confused in a vague way about this specific file I was tasked to work with and I'm getting an error message I was too scared to read, so plz help" is not worth archiving in a question bank.
It sounds more like a support help desk for programmers, but you'd have to pay for it because answering such questions is exhausting and not really rewarding. The people who go to SO do it for free because they like the puzzle solving aspect of thinking and solving interesting questions. Rehashing the same thing gets old and you can not guilt trip people into doing it as some sort of unpaid community service.
SO, I agree, is not a mentoring service. The format of SO is a poor way to pick up foundational knowledge. It's ~usually~ awesome if you know exactly what you need and are able search for it. Or if needed, formulate a precise question. (to be fair, that is often NOT enough to avoid smackdown votes, VTC, dupe marking, and dismissive put-downs).
That said, it happens many times, that people end up having to do unfamiliar tasks in their work, and they might need to just get something done without having much directly relatable experience in the task. RTFM is not a realistic option as the F-ing Manuals's would typically be hundreds of pages of dense material. Often a push in the right direction and a little orientation is enormously helpful.
And, by the way, many people really do enjoy helping out individuals-- they take joy in helping someone out even if the help they provide doesn't take the form of "a canonical answer" (god, I hate that pretentious word, "canonical"). It doesn't detract from the quality of the site to loosen up on the strictness of the rules.
There's serious issues, however, with people being made to feel like crap for daring to post a question/comment that does measure-up to arbitrarily persnickety expectations from other users and often moderators who take their interpretation of what they think are "the rules" to absurd levels of pedantry (which they would call "being objective"). For whatever reason certain personality types are attracted to this kind of behavior and thus dominate the moderation tasks on SO.
Saying "THANK YOU" to someone is NORMAL human behavior. It doesn't need an over-engineered system. It doesn't need anything extra at all. Comments are PERFECTLY FINE for stuff like that. SO could, perhaps, cull comments by automatically deleting them after a year or so. That would solve the problem of too much cruft, but no, that would take away the joy that the off-topic-police take in offending people who are communicating like human beings.
2. The way you say "Thank you" on StackOverflow is with an upvote (and/or accepting the answer if you asked the question). You can also explain your upvote with a comment.
A big tell on this, is their homepage is no longer about the Q&A platform.
The new stack: https://i.imgur.com/RkzckLF.png
The old stack: https://i.imgur.com/kY1kkAi.png
The new image says: we took a lot of venture capital and there's not enough money in knowledge services. We've got returns to generate. We're going to sell you something, and hey we <3 people who code ("we less than three people who code"), we swear.
The old image (from 2015, when they were still in their prime) says: we're a knowledge service, we have a knowledge mission and that's what we're all about. Few frills, let's get to learning and sharing.
Do you suppose their tag line is revealing how few people at Stack actually still code? It's all MBAs now I suppose. Or maybe it means their new organization is less than the value of three people who code.
> Or maybe it means their new organization is less than the value of three people who code.
I chuckled :)
Population of new users grows faster than technological growth invalidates old answers?
Users with astronomically high points are deeply invested. How do you get to +10k points without being highly invested? Expert. Super User. Equals highly opinionated.
I make Python automation scripts at work, without formal training. I fall into many different pitfalls--all the time. One of my "favorites" is posting something to CodeReview. Then it get's closed (because CodeReview, despite its name, has a narrow focus). Then I try it over at SoftwareEngineering, only to get downvoted and flamed because I'm not asking a _serious_ question.
I've grown up with SO as a programmer (BTW, I'm over 40) just enough to be dangerous as SO becomes increasingly conservative and less interested in the questions and more interested in routine administering of rules.
> "They should have continued to improve this system..."
I'm divided on this. On the one hand there is room for improvement as tech questions age. I frequently get answers that are nearly 10 years old for some questions. Sometimes they're relevant, and sometimes they're not. The community has MonkeyPatched this problem by opening and editing old answers with "UPDATE 2020" or "UPDATE v3" addendums.
On the other side it's rare to get past the gimmick (voting; q&a site) that make the product so successful. The site's usefulness is growing old, while the community continues to grow, resulting in frustration, confusion and pain in the you know what. It's sad _and_ true.
Now you guys probably know the XY problem (asking the wrong question X to when you really want to solve the problem Y). The YX problem, on the other hand, goes like this:
User: "Hi, how do I do Y?"
SO: "Why do you want to do Y?"
User: "Because I want to do [use case]"
SO: "Are you sure you don't want to do X instead?"
User: "No I don't, I have this constraint and this use case so I'm pretty sure this isn't about X and I really want to do Y."
SO: "Are you sure this isn't a duplicate of [some question involving X]?"
User: "No it's not, the question while similar doesn't have the same constraint or usecase and I have searched SO for a while for questions that specifically involved these and didn't find any so I really need to do Y."
SO: "Wow, I can't possibly imagine why you, for a use case you've examined for a while and which I have been made aware of five minutes ago, could possibly want to do Y while not doing X. I don't know and I rest my case. A solution to Y probably doesn't exist anyway."
Answerer: "Hi to do Y you have to do this [hacky snippet]" (answer accepted)
User: "Cool, thanks!"
SO: "This is bad practice and I don't condone it. It shouldn't be upvoted or the accepted answer."
--------
Of course this is the optimistic scenario, where the question does get eventually answered.
I'm not sure if this kind of stuff increase recently* or if it's always been an issue that I only began to notice later. I'm also not sure of the cause, nor the solution, but it does seem to indicate a switch from one definition of "education" to another:
1. "helping" users solve problems
2. "schooling" users on what they're doing wrong
* I say "recently", but I just checked and it appears I joined SO ~11 years ago and haven't actively used it in ~7 years, so "recently" is probably not the right word...
Can you elucidate how these are not the same thing? In my mind, a good answer is one that solves a problem proposed in a user's question. A good question is one that poses a problem other users are / will also share.
Consider the question: https://stackoverflow.com/q/35647663
The answer solved the problem (see the final comment). But it isn't a good question. The text isn't searchable. The only way I found it was by trawling through the NullPointerException duplicate questions.
The question that I linked - it isn't a question that someone will find again. It is a null pointer question and the person who answered it hand held the steps to solve the problem. The person answering it was answering it as a service to the OP rather than a "lets improve the ability for people to find information."
Look also to https://stackoverflow.com/q/26566648 - the OP was helped, but was that something that is going to be found again and used to solve another problem? Or https://stackoverflow.com/q/26827621 - the answer is the duplicate and while the person who answered did help, that question isn't something that is useful or findable. Its not a good question (try to find a search query in google that brings back that question).
A good question:
* states its problem well in a way that can be replicated
* is findable by querying a search engine for the plain text error or problem
* is written (often edited by others) to be a useful technical document
Look at https://stackoverflow.com/search?tab=newest&q=is%3aq%20answe... and consider how many of those questions are useful for adding to the body of knowledge and how many are "help me with my problem". And as that's a query for closed questions - look at the duplicates and consider "is that duplicate better written?"
If a question is poorly written, difficult to understand, or is answered by too many different answers ("how can I optimize this code?" and there are 100+ answers) then the utility of that question to help other people goes down. Nonetheless, there are people who will answer it because it helps that person solve their problem.
"If it solves a user's problem, a Q&A is good"
which wasn't what I was saying. What I was saying was:
"If a Q&A is good, it solves users' problem(s)"
New Answerer: As of v12,5 this is now supported first class like: [....].
Comments:
- this should really be the accepted answer
- OP can you make this the accepted answer?
- accepted answer is out of date, this should be used now
Accepted answer never changes, remains top result indefinitely
It may the nature of experience.
The type of questions that cause me a problem are deeper edge cases that had later fixes for early workarounds.
The only time an accepted answer doesn't pin to the top is when it is when the accepted answer is one from the OP - in which case it doesn't get pinned and sorts by votes only.
The meme is that it's power-tripping moderators and stuff, but it's mostly normal users like me reviewing an never-ending pile of garbage, trying to let the few good posts through.
It seems like most of the "power users" treat it like some giant multi-player online adventure game, where the goal is to win points and go on quests to get questions answered first, get answers closed as dupes, or get the accepted answers. The quality of the answers or information provided matters less than the points.
When that happens to you, did you add a comment telling others why it is not a duplicate? In my experience most people don't and if they do it is just a comment like "It is not a duplicate". The latter is obviously not helpful and won't change anybody's mind.
Something I CAN control though is how I ask questions, and I guess I instinctively learned to avoid that trope you're commenting about. So when I ask a question, I state ALL my research, I link directly to related questions that didn't solve the problem, I link to specific places in docs, I paste in specific parts of my code, and I list out all my constraints. Then at the very bottom, bolded and in a single sentence, I state or restate my question.
Since I started doing that, haven't had the above issue.
Sadly, some/many don't and then complain because the community is "unwelcoming".
Usually, when "the YX problem" happens, "Y" is something like "SSH won't let me use my private key because the permissions are too open. I can't change the permissions because [insert reason that would make any security-conscious person cringe]. How do I get SSH to let me use a world-readable private key?"
So yes, there's probably some technically valid use-case, but it's a really big footgun and it probably would be a much better idea to fix the underlying problem the right way.
When you are browsing such a question, it was obviously written by three raccoons in a trench coat and you can’t understand why they wouldn’t do the obvious right thing and the question is missing all the relevant information about why they want to do what you don’t like.
For a site full of software developers there often doesn’t seem to be much willingness to accept compromises or trade-offs.
That said, I concede that I often see questions with silly constraints but those constraints are usually because the question was homework and designed as a teaching exercise for the environment which the question is constrained to.
Did the pandemic/lock down cause a slew of newer developers that are generally more appreciative?
For me it's more like: newer developers that doesn't seem to like reading.
It's now quite painful to ask questions, there, because someone will pretty much always ding it. Usually, you have no idea why, or who. In fact, that happened to me just a day or so ago.
Also, I think that downvoters should be notified when the question/answer is edited, so they can review if the downvote still applies.
I once trolled a community (not SO) by writing an obviously inflammatory post, getting a gazillion downvotes, then editing it to be very reasonable, so everyone was on record as having downvoted a very decent post. Petty, but fun (They did not have edit records for posts, but you could see what users up/downvoted).
I like the idea of a "Thank You" reaction, but that's really just porcine lip gloss.
I think that it would be more valuable to require an explanation for a downvote, even if anonymously. I would have no problem telling folks why I downvoted a question or answer (in fact, when I do, I add a comment, mentioning the reason, unless it is blatantly obvious). As is evident by my HN profile, I am making a point of standing behind what I post. I got rid of my last anonymous Internet account months ago.
Standing behind my words has helped me to be a bit more careful about what I post, and that's a good thing.
It's also true of other Stack Exchange sites. Sometimes you feel like in a Kafkaesque bureaucracy where you're sent from one site to the other and none of them think it's their job to deal with a question.
And I don't mean the low-effort questions, but well written interesting ones that are deemed to broad, too opinion-based, too whatever.
There is definitely an effect of territorialism, big egos and rule lawyering going on. As if people were playing a game of spot-the-broken-rule as some intellectual puzzle and going "heureka, there it is, you broke Rule No. 3, gotcha!!". Sites like SO and Wikipedia certainly attract people who get emotionally invested in this role and see themselves as powerful and enjoy feeling better than others.
That's why the debate is complicated. There is a problem with trigger happy moderation, but also with low-effort content.
It's clear the old school moderators seem to think of SO as a reference, but the company itself wants to view it as a place to seek help.
A lot of people in this thread seem to hate SO, and I disagree with them. If I ask a question on SO, no matter how obscure of a library or language I'm using, I'll get a response back within a day. And if my question gets flagged for being a duplicate, then I've just been redirected to more resources to solving my problem. It may not be warm and welcoming, but it's very helpful.
To be useful, SO doesn't need to be welcoming at all. It needs to be exclusive. If it wasn't elitist, it would be filled with Java programmers pasting 400 lines of code with little explanation. The elitism has caused me to write better questions and to really think about the hypothetical person answering my question. Elitism and helpfulness go hand in hand. If you want to see the horrors of a non-elitist Q&A forum, go check out the Unity forums or any popular Github repository.
I visit the site once or twice a day, and probably write two answers per month, which should make a decidedly average user. And for the life of me I could not tell you what people are complaining about?
I still find answers there more often than anywhere else, so whatever is supposedly broken doesn't seem to affect the primary function too much. The imaginary points still mostly point in the right direction. If happened to feel they diverged from perfect meritocracy I would try really hard to care about real problems, instead. Failing that, I would hopefully manage not to complain about it too obnoxiously, fearing it would make me look childish.
And then, much like Github, they seem to have committed the cardinal sin of tech communities of mildly opining that maybe racism or whatever isn't something they personally want to support with their work, which gets them into all kinds of strange arguments with one sort of people who are obviously not racists but just feeling the urge to defend some grand principle they just came up with, like ethics in game journalism.
Github is a very similar example: they single-handedly got millions of people to contribute to open source code, and made working in this ecosystem so much better, compared to source forge and various crappy custom systems that came before it. StackOverflow similarly replaced the most obnoxious, google-spamming, click-baiting, sign-up-to-see-the-answer grifters, and I will forever be thankful for their contribution.
Generally, hacker culture is very much against top-down authority and prefers organically grown, community-driven, distributed approach.
It's no surprise that the facebookization of SO is not welcome by them.
The same thing is happening on Reddit, Twitter and other platforms. The Internet is finishing the transformation from Napster, IRC, torrents, enthusiast content and hacking to corporate-sanitized marketing-compatible monetized influencer space. The new focus is engagement metrics, ad placement, brand protection etc. Traditional mainstream TV content is now taking up larger and larger share of online space, same with traditional newspapers.
You have to take this larger context into account. If these people could shut down the web, they'd do it in a whim and forbid anonymity and reverse everything that made the web so popular and drive everything back to cable TV but with likes, followers and shares, of course with a real name policy, with phone and ID confirmation.
This is not about the Thanks button, but a disregard for the community, and top-down dictates.
1) There are certainly power-hungry ego-inflated people killing off questions as duplicates when they aren't duplicate, or labeling things too easily as opinion-based etc. This is often a problem with community efforts, like Wikis and other places where people act like they own the place.
2) On the other hand, you have genuinely low-effort questions that are just pure lazy. Being a novice is normal, everyone started there. But doing at least a minimum of research is expected. Seriously go to the front page and browse the questions from <5 minutes ago. Most is very low effort with no context, just some code from the middle of some software and an error message without saying what they are even trying to achieve. It's not in any shape of form a question that should enter a long term question bank.
3) On the third hand, you have the power grab at StackOverflow by business-minded, MBA type suits, who care more about branding, marketing, and legal CYA than about programming. The project is no longer community driven. They seem to forget that SO's value is derived mostly from the unpaid labor of volunteers and working with the community should be a priority. And this is also a great lesson for all the contributors that sinking enormous amounts of time into a private company's proprietary product, it may not be worth it. At least Wikipedia is guaranteed free and open source and truly community owned. Maybe something similar needs to be created in place of SO.
I actually followed your advice and browsed the recent page on StackOverflow to collect some samples of what I mean. To my (pleasant) surprise, it seems to have changed significantly from when I used the platform regularly. That said, I found this one that's a good example:
> Asking homework questions without any other detail is simply unacceptable. Please put more detail, because we are volunteering our time to help you, and if you put in absolutely no effort, then we can't help you.
I wholeheartedly, but why not say "StackOverflow is not a code-writing service. Please post another question with sample of your work, so we can direct you to a solution that'll make you learn in the process"? These types of comments are what made me so anxious to ask back when I started programming, and I think is something everyone will benefit greatly from getting rid of.
As for point 3, thanks for clarifying. I agree that dumping knowledge on a proprietary product isn't exactly a good thing, but the perspective of the business people can at least be understood now that they're selling it as a Q&A engine for private teams / companies. I don't think that's necessarily a good thing, but your previous comments made me think it was some sort of conspiracy theory :)
We win friends by being compassionate, empathetic, supportive, and nurturing; by applying gentle correction. Leading by example. Helping each other up. Leading from the front.
I was a manager of a high-performance team; made up of people that knew a lot more than I did, and I kept us together, working as a tightly-coupled unit, for decades. I have some prior art in carrots over sticks.
One of the big problems, these days, is that documentation is just awful. People think that "more is good." That's not true at all. It just means that the SNR is much lower, and we waste time, reading irrelevance. We are also under a lot of pressure to get results fast. No time to look stuff up. Start coding.
Finding answers, in an efficient manner, is a real pain.
SO is a marvelous idea, and I totally support it. Ironically, I suspect that the "gamification" that has made it so successful, is also contributing to the issues it is facing. I do not have the answer. I think removing the gamification would also destroy the utility of the site.
I like the idea of the SO Story. Here's mine: https://stackoverflow.com/story/chrismarshall
I love SO. It is a big "go to" for me, and I have also asked twice as many questions than I have provided answers. I think that I ask very good questions. Sometimes, I'm wrong, and I don't mind finding that out. I become right by being wrong, and learning differently.
But people seem to be terrified to ask questions. I have no idea why. I am constantly asking questions; even "stupid" ones.
Reading some of the meta conversations, and seeing so many high-score members with single-digit question counts, says a lot. Whenever there is an election, my principal coefficient is the candidates' question count. I don't want to vote for people that think asking questions is something to be ashamed of.
I have over 35 years of shipping software. I have a great deal of knowledge and experience; far more than many folks on SO, but I also am constantly trying out new stuff that I don't know how to do. That makes me a n00b, all the time (I write about that, here: https://medium.com/chrismarshallny/thats-not-what-ships-are-...). I don't always know the best places to look for answers, and appreciate RTFM responses.
What I don't appreciate, is some person telling me that the fact I didn't watch some well-known (to them) video, or read some well-known (to them) article, makes me a "lesser person," or (an SO fave), "lazy" (anyone that actually knows me, knows that "lazy" is not a word that can be applied to me). I appreciate being directed to the video or article, but the nasty sauce is not a condiment that I prefer.
UPDATE: I removed some stuff from this response that was probably not necessary to the conversation, and would not be constructive. I hope someone was taking notes. That's how we do it.
These kind of things are what dehumanizes the internet, they don’t make for better human connections. It’s also basically the exact same as the current upvote icon. A way to send a message to the author privately saying thanks seems much more touching. Or even a hidden “thank you’s” list of grateful words that can be expanded on the question but that is hidden by default. Either of those would be better than this weird duplication of robotic thank you’s.
If SO was a video game, it'd make sense to have newbies team up.
If someone doesn't grok the way that Stack Overflow works, the information that new users add (or ask for) may do more harm than good (see examples of people adding random formatting). Many times this just is reinforcing bad habits.
If you feel this could be useful, I would encourage you to try helping out by editing questions in the Help and Improvement queue so that they are good questions with all the necessary information (and matching the style that Stack Overflow expects).
There was a mentorship project at Stack Overflow a bit ago - but it didn't scale and the expectations were mismatched (many new users were expecting help with their problem /now/ rather than help with trying to make their question better).
The video game analogy - its not that you need to team up to solve a problem, its realizing that the quest(ion) has already been solved by someone else so you don't need to do it again.
https://meta.stackoverflow.com/a/398494/1593077
(and the rest of the discussion there.)