> I care a lot about this. Being a developer gives you an unparalleled opportunity to write the script for the future. All the flak that Stack Overflow throws in the face of newbies trying to become developers is actively harmful to people, to society, and to Stack Overflow itself, by driving away potential future contributors. And programming is hard enough; we should see our mission as making it easier.
It's good to see that acknowledgement coming from Joel. I wasn't one of those newbies facing that snark, but as an earlier contributor it was really depressing to see the general attitude shift from "yeah OK this question's not the best but it was asked in good faith so I'll answer" to "you're a worthless human being for wasting our time with imperfection".
What do frustrates me is how I, as a newbie, am incapable of contributing to the site.
I can't upvote an answer that was particularly good to my case. Dozens (literally dozens) of times I clicked to upvote an answer that was just the right one for my case and it wasn't the accepted or most upvoted answer. Only to get this as a reply:
- "Thanks for the feedback! Votes cast by those with less than 15 reputation are recorded, but do not change the publicly displayed post score."
What?? As a junior learning through an answer, I want to contribute it right away and acknowledge the person who helped it. As well as signalizing to other people that that answer is a good one. Why my upvote do not count? I don't understand the reason behind this design decision.
Then I try to comment on the answer to make it explicit how it helped me and I get:
- "You must have 50 reputation to comment"
This rule at least I kind of understand the logic (avoid spamming, flamewars maybe?), but it does not make it any less frustrating.
I cannot contribute to the site and to the people that helped me so much at the beginning of my learning path.
I can Ask, Answer and Edit without any reputation threshold. But those are precisely what a junior developer will most likely not want to do while learning the basic stuff through SO.
These design choices made me totally give up of any urge to participate in SO and I only consult the answers without engaging or recognizing any of the humans that helped me.
In short, only questions and answers add any real value to the site for the most part. If you really want to contribute to the community, consider diving in and writing questions and answers.
As for upvoting, I understand that it's frustrating not to be able to vote in a community that you spend so much time in. But on the flip side, realize that 90% of the value of Stack Overflow comes from its questions and answers. If you want to contribute to the site, it only takes 3 upvotes across all your questions (or 2 across all your answers) to gain the upvote privilege permanently.
For example, "I've read the answers to A, B, C (linked) and they get me this far, but now I'm trying to take that output and output it to YAML" etc.
As mods / queue reviewers, we generally assume someone has not read (or found) similar questions if they don't mention this. I don't vote to close many questions as dupes unless it's clear the asker didn't even try to look at the related questions. I tend to close vote only on low effort questions that don't meet the minimal complete verifiable example (MCVE) best practices for asking a question.
To the comment on the 50 rep threshold, I believe you can hit this more easily than you think. For example, writing one answer that gets accepted (+15) with 3 upvotes (3x +10) is worth 45 rep. Then giving 3 suggested edits (3x +2) that get accepted is worth 6 to put you over 50. Suggested edits don't have to be big — you can look for common aspects of aging popular answers like outbound links that may now 404 or fixing grammar mistakes. A lot of people on Stack Overflow do not speak English as their first language, so if you do, you can help improve the clarity of their questions or answers which benefits the whole community.
Here are some accepted edits I've made for inspiration. Many are simple one liners.
There's plenty of simple question that you should be able to answer. Use what you know as tags, look out for new posts, and answers them using the best of your knowledge.
Do you get reputation over upvote on question? A few good questions should easily get 5 upvotes.
The reputation for commenting is way too high. I can't count how many times I could have contributed but for the silly reputation requirement. I've given up trying to contribute.
And based on the answers I've been seeing, it doesn't serve it's purpose anyway.
The easiest way to get 100 rep on SO, though, is to get 200 rep on any other site on the network. This is called the Association Bonus. Enjoy movies or cooking or video games or board games? Go post questions/answers on those sites and get some votes. There are 170+ sites on the network and because they're lower-volume, earning rep is often faster because posts are more visible.
I'm not sure which sites you've tried so far, but it is possible to do and even have some fun doing it.
15 rep is also a very small barrier. Asking good questions or editing are probably the best ways to start. Editing is certainly something a new user can do, simply fixing the formatting, grammar and typos in new questions will give you 15 rep in no time.
People see your low reputation and will automatically reject your edits with generic reason, even when I gave very detailed explanation in the note.
I'm assuming the edits are reasonable itself, there are some odd patterns that you see regularly like people using code formatting (monospace font) for emphasis. That kind of edit will get stopped.
Another option to get the basic SO privileges is to ask or answer on any other SE sites. There are many of them, and almost all are much, much easier to participate in.
And that's only a typo. There's so much stuff that could be fixed...
500 reputation for full Hacker News privileges, on the other hand, seems like quite the undertaking! I say this as a decade-long reader who still is far below that.
Answers are kinda the whole point after all; no shame in writing them...
You see it here occasionally, where someone is getting down voted and they don't know why, and someone will explain its most likely because they aren't acting within community norms (here it's back up factual assertions with sources, keep it civil, if you make a joke keep it topical or follow it up with something useful, don't just post memes, etc. Basically keep the signal to noise high).
Limiting new users for a while when their initial mode of interaction may not fit will with the site is a sane choice, IMO, and if those new users never make the effort to go past that initial hurdle, it may be that their contributions are high enough risk that it's not worth it (or the hurdle could be too high).
If you can't find a way to get 50 rep on SO get 200 on any other exchange site and that will credit you 100
I think this is an easy route to hitting 50 rep. See my other comment in this thread for more specific examples of edits that are likely to get accepted.
My Stack Overflow account is approaching its 10th year, and I would credit a lot of my success as a self-taught developer to the welcoming almost overly helpful attitude of early Stack Overflow.
I hope it gets that back at some point (the recent rule changes have helped I think).
It feels to me like an issue of framing. There's definitely a way to achieve this but I think you have to segregate "the library" (where you get truth) from the "playground" (where you seek help) as the cultures of the sort of people that prefer either place clash horribly. I'm a playground person, for reference. I like to try to understand what problems people are facing as opposed to what they might be asking.
Learning and teaching are continuous processes and one that should be entered into in good faith by all. If you're tired of answering the same exact question hundreds of times a day, then you shouldn't really try answering the questions; maybe teaching isn't 'your thing'. My SO was a HS STEM teacher, it wasn't really my SO's thing, so my SO got a new job. It's not a big deal to not like teaching and it's better for everyone if you realize this quickly and leave it to those that do like teaching.
Pointing noobs towards already answered threads is not a good idea. That's basically saying RTFM. StackOverflow is literally the exact opposite of RTFM. It's explicitly a place to ask questions.
At it's core, StackOverflow is where teaching happens; you RTFM together.
A lot of people are going to disagree with you, including SO itself:
> Please look around to see if your question has been asked before
When viewed in that context, it makes no sense to have multiple answers to the same question.
Just look at the number of "I don't quite understand your question. Do you mean <topic x>" comments that end up assisting the person without providing an explicit answer to their original question. I think that's largely due to answerers feeling that the useful response they are providing is not fit for filing away in the library.
Same boat here. I also have been a SO user for over 10 years and my account says "top 2%" (though this is entirely from my early participation, before I largely gave up on it). I've gone through spurts of trying to participate again by answering questions over the past 5 years but always come away depressed and demotivated about it.
There's a bunch of things that happen:
* Questions get closed as duplicate incorrectly.
I've tried to argue for the question on a few occasions. One of my attempts was by providing a detailed answer which, by being clearly different from the "duplicate" answer, I hoped would prove the question was distinct. A moderator soon deleted the entire question. That demotivated me from answering anything for a year or so.
Since then, I've only argued in comments the question wasn't duplicate, but basically always get outvoted and the question is closed and eventually deleted. It takes a lot of effort to argue the question should stay open, and it takes basically no effort to click "close" so really, this is what the majority want.
* Questions get closed as duplicate -- correctly -- but the marked duplicate is a very old question and no longer contains the "best" answer.
When there's already a half dozen answers, and the top one has tens or hundreds of votes, it's basically impossible to get visibility to a newer answer. This is so bad that when I'm looking at a question trying to help with something I'm doing myself, if I come across an old question I usually sort by 'newest' to find the best answer. More times than I can count, a recent answer with fewer than 1/10th the votes of the "best" answer is the current correct answer.
Likewise, I have answered these but it takes years on an old question to get even a few upvotes, and it's pretty unfulfilling.
* Poor quality questions
If you try to look for older, unanswered questions (eg, don't want to participate in the "who can answer this new question fastest" game) it's very hard to find decent questions. There really is a lot of garbage that gets asked. My experience is when you do find one, after going through a few pages, you run into the next issue:
* New users don't come back
You answer a question from a new user, and maybe get one vote. The original user doesn't come back and mark your answer as accepted or comment as to why it wouldn't work. No one else provides any feedback about it being bad. It's just "internet points" but it is demotivating to put in the effort and have it go nowhere. Maybe I really am just bad at answering questions (but was good 10 years ago, and the high level position and respect I get at work is a figment of my imagination) but even then I'd prefer to get feedback.
These are just my experiences and opinions. I'm also not sure how to solve these issues, and I don't think it'll be easy to. Seeing as the rules governing the site are largely made by the community, and the "community" behaviour is largely the cause of many of these, the community is essentially saying they don't see these as problems or want to fix them. Getting past that hurdle is the first step to improving things, and honestly, I have no idea how I can help with that (other than posting long rants like this and maybe helping slightly shift some tiny fraction of people's mindset).
In its early stages, SO was an amazing site to learn from -- both asking and answering questions -- but I think the current policies and behaviours mean this isn't the case anymore. From what I can see, most new users are going to have a terrible time with the site if they try to actively participate. It's a shame.
However, most of the time is spent just finding a good question to answer. A lot of the bad questions are people asking you to do their homework or something hopelessly vague ("How can I create my own games?" or something like that).
While nobody should be treated with disrespect, I wish people would keep these issues in mind when mods act with a heavy hand in closing questions.
The problems are,
1. New comer don't search.
2. The don't spend 2 min of their time to read the menu.
3. Entitlement, I asked, and I shall be answered.
4. Do the (home) work for me. They really expect you might as well do it all for them.
All of us were beginner at one point or another. And we know the path possibly better than many. If you have done any research on the topic before you asked, most of the time it would have shown / hinted in the question. So we know aha... you did spend time but you overlooked or never thought of xyz.
Most of the time people overlook the quality of questions were declining.
Stack Overflow is an excellent resource when you access it from a search engine. If you're looking for a particular bit of programming knowledge and you type your query into your search engine of choice, chances are excellent that Stack Overflow results will be plentiful on the first page and that more than one will be relevant and helpful.
Stack Overflow is good enough when you have a very concrete problem that nobody before has asked about before. For example, if you don't know how to do X in the framework Y, you can expect one of the following: 1) someone who did it before will tell you how, 2) someone who had the same problem and found that it actually has no solution will tell you that, or 3) nobody will answer.
Stack Overflow is absolutely terrible when you're trying to learn something new just because you want to learn it or you're asking for advice of any kind. If you're trying to become a better programmer, Stack Overflow is categorically not the tool for the job. The less practical your question , the more it's likely to receive votes to be closed.
My favorite example is a question that outlined a thing you can normally do in .NET and Java because they are executing bytecode and can do certain checks before deciding whether to allow the code to execute or not. The question then proceeded to ask whether there are any pre-existing solutions to do so when working with native code or whether you would have to do it yourself. It received a downvote and a vote to close within 2 minutes of being posted. The voter posted a comment recommending Software Engineering Stack Exchange as a better site. The same question posted on Software Engineering Stack Exchange got a bunch of comments, only one of which actually addressed a question to a certain degree, the rest being ideas on how to change the requirements, snarky sniping of other comments, one idea that was already outlined in the question, and one snarky recommendation to "brush up on your understanding of [concept]" where the [concept] is not the primary concern in question.
I wish I could say that last anecdote is an exception, but it's simply the most egregious example of what's prevalent on Stack Overflow and programming-related Stack Exchange sites. Interestingly enough, I haven't seen it on any non-programming Stack Exchange site, so it's definitely something in our culture as an industry.
I've seen this pattern happen on so many Internet forums, going all the way back to the WELL, where eventually they develop this surface crust of long-time users who systematically chase anyone new away by informing them that the thing they want to talk about, whatever it is, has already been talked about. At first, it might start with a chatty response that provides a link to the old conversation and also provides a summary or some other additional input. And, when done that way, it generally is helpful and friendly.
But, with practice, the procedure is optimized down to the point where the post is little more, and sometimes less, than "We've talked about this before: <hyperlink>" And that's toxic. The only way you could send a clearer message that someone's contributions are not valued is to come right out and say, "Your contribution is not valued."
Stack Overflow has, unfortunately, stumbled upon a way to accelerate this process by gamifying it.
Example: Wikipedia has similar social problems regarding new contributors.
"Stack Overflow ultimately has much more in common with Wikipedia than a discussion forum." Jeff Atwood, "What does Stack Overflow want to be when it grows up?", 22 October 2018.
There should be an auto block feature. If you have it on and they downvote you, they get blocked and can't see your posts anymore.
Second thought about gamification. A downvote should cost the person a point or two of their own karma.
If anything, what SO needs is a way to "fade out" old questions in favor of new ones.
edit: Thought I was coining something here but it was actually coined in 2015 - https://news.ycombinator.com/item?id=9870816
I just checked and I've been a member for 10 years and 6 months. I used to answer questions. A lot. In the early days (at one point it was Jon Skeet, Marc Gravelli then me) and I'm kind of surprised how much karma I still get form those old answers.
But I haven't really answered anything in 8+ years. Even one year in I commented on and started several threads on Meta about the "mod problem". And it's only gotten worse.
To riff on a phrase, "those who can, answer, those who can't, mod", which is fine, but there is a particular kind of toxic personality that gets attracted to the authority of being a mod that then appoints itself the arbiter of content. You are fighting a constant battle to keep these toxic (but well-intentioned--mostly) souls out. I saw even then the trend of closing interesting questions as "subjective".
My opinion then--and now--is you can ask a question like "what are the advantages of React.js vs Vue.js?" in an intelligent way without it being a flame war. The fact that it doesn't have an objective answer is (IMHO) irrelevant. You can divine useful information from the answers to that question that will help you go one way or the other.
There is a lot of subjectivity in programming and a lot of not strictly better solutions. Giving people some points to consider as a starting point is incredibly valuable.
This is a hard-to-solve problem for any community. Having lax regulation leads to scammers gaming the system. Having strict rule enforcement leads to a culture of punishment and death-by-process.
There is a place for people like this in organizations (controlling, lower management) -- here they actually can provide value being a process-oriented control-freak. In communities these roles can become toxic if they start to dominate the culture.
SO is dead to me since the bureaucrats have taken over, Wikipedia too for that matter.
: people who value 'processes' more than outcome.
Stack Overflow's issue is fixable though IMO. I don't see the same level of aggressive moderation towards those who answer. So from a community attitude, it seems like answerers are recognized as the content creators who you shouldn't drive away. So the solution in my head is to do what you can to recognize the askers as content creators as well. Because they are a vital part of content creation!
There should be a name for this law by now (could already exist, may have missed it).
StackOverflow is actually an example of this rule. Questions get downvoted and closed because they're supposedly not constructive. Yay, more constructiveness, right? But in the long run it creates the environment that feels like a clique hostile to all newcomers.
Making demands on users, writing multi-page lists of rules and banning/locking/deleting does nothing to attract good people. It can only preserve something you already have, and even that isn't guaranteed.
Way too many websites forget this, go all in on "corrective measures" and mandatory positivity, while not doing anything constructive on their own.
An example of constructive moderation is running contests where people get recognition for doing something good. (This is no the same as having karma, which also leads to cliques in the long run.)
Another related thing: a lot of larger websites pay moderators to ban stuff, but don't have anyone on staff whose primary job is to "lead by example" via answering questions and providing help.
"Seeding" a website with good people and content is absolutely essential, and yet this is a topic I've never, ever seen discussed when someone writes about community management.
And another thing. Beyond certain scale people stop perceiving website as a place with people and start looking at is as a service with users. This completely changes the tone for everyone. Larger websites need to put efforts in "federating", i.e. creating sub-spaces that still feel like a place where people can have a conversation and get to know the "regulars" to some extent. This might seem like it's not applicable to StackOverflow and YouTubes, but it is. A lot this is about visual design and ways information is structured.
I believe he's acknowledged this problem many times on his blog in the past, and discussed possible ways to improve things.
"You have reached your question limit
Sorry, we are no longer accepting questions from this account. See the Help Center to learn more."
There might be a discussion to be had about how to teach users what a bad question is, or how many is too many, but I don't understand why we should let people who repeatedly fail to clearly ask a question keep asking. Most people have no such problem.
In fact, when experienced posters politely point out what the rules are and where to read more about them, you start to see new posters fall into 2 categories:
1. The people who say, "Oh, I didn't realize that's how it works. I'll update my question/do better next time/etc."
2. The people who insist that no, it's their platform and they'll ask whatever they want however they want.
And of course, there are experienced users who are jerks and don't point out rules or don't do it politely. They should not be excused. But letting new posters continue to pollute the site with terrible questions isn't going to help anyone - especially not the people posting the question.
Have you noticed? When you start to be angry and hate a bit, somehow it spreads and sucks all these bad energies like a sponge. And if you don't know how to recover yourself and clean your mind, it is easy to become a hateful self-centered person. I wish we could change the direction.
I remember one of my first interactions with other developers was the #php.dk channel on Quakenet in the start 00s, I had shared a PHP script with them that didn't work, and had included my development database settings, and back then NAT wasn't really a thing, so one of them figured out that he could login to my MySQL database and change the password!
And I didn't know how to reset it, so they made me beg to get the new password, so they showed me how to change it to something new and they showed me how to protect myself from such things in the future.
It was a nice life lessons, and I guess that IRC channels needed some strict moderation, but I'm not sure the shenanigans that went on back then (and likely still happens) is all that great for learners and newcomers.
I had stopped attempting to answer or ask anything on the site due to the behavior I observed. It was pure gamesmanship for people trying to rack up their SO score and then summarily abuse it with enforcement of opaque, draconian rules. My favorite was when a question would be marked as a duplicate incorrectly, so what was the takeaway? That solution was barred from discussion on the site?
Since then I simply look at SO when it happens to come up in a search. I'm not ever logged into the site anymore. If I want to describe how I fixed something, I do it in my own space, and only reference answer when linking to SO.
I recently posted a question. Here's how it went.
Posted question, gave some urls to documentation, wrote up code example and asked for help on a specific point.
Downvoted and commented that it wasn't what the rules specified.
Although I didn't find anything wrong with my post compared to said rules, but adjusted the post. Downvoted again.
Adjusted again and still more downvotes and no helpful comments.
At this point I just deleted the question and sought help elsewhere.
Whereas before you would get your question edited if it wasn't within the guidelines or perhaps people would not downvote but comment on how you could be more specific.
Instead it was as if I had to "do the work" for them to understand what was being asked or do as much as I could so it wasn't taxing for them.
The help I got elsewhere was actually from reddit. Another user actually did go through my code and the solution was trivial. Being a solo developer and not having more than 1 pair of eyes can sometimes get you in the weeds.
Now I just use SO for reading and getting hints on what I'm working on myself. It's good in that respect. It's just a shame it's gotten so toxic. I know from reading other forums when someone mentions SO, it's just not the same anymore.
I genuinely feel bad for new comers.
The solution may have been trivial - maybe even a single character fix, but this smells like you posted a wall of code and wanted someone to go through it with a comb for you. You likely got downvoted because you didn't provide a minimal verifiable example and instead posted way more code than was necessary to produce the bug.
If you post anything more than a few lines of code, you are probably providing TMI and need to spend more effort distilling down the problem. 9 out of 10 times, you'll find the root of the problem yourself during this distillation process, especially if the problem is trivial.
Then again, this is wild speculation, but I see this a lot when I am helping newbies.
I'll never understand the mentality of people who put themselves in a position of answering questions, but are genuinely perturbed by the prospect of helping people with basic/misguided/imperfectly conceived questions. If they're the kind of person who could just read the documentation and solve all but the most complex of their own problems, congratulations. They should feel free to set that as the bar for anybody you hire or collaborate with. Or even set it as the bar for questions that they answer, but don't penalize people who are coming to a Q&A for not living up to those standards. If you're of that disposition on such a site, you're probably more interested in stroking your ego and watching some arbitrary points accumulate rather than actually helping people. There are lots of hobbies in development that don't expose you to beginner questions: go join a more esoteric users group, or contribute to an open source project without looking in the users forums/chat channels. Just do something that doesn't involve alienating inexperience developers.
It's almost like you need to pivot the question at that point to be "how do I isolate problems?" or "how do I debug?" because the asker lacks those basic skills needed to ask a good question.
Both pointing out the problem with the code/methodology/etc. and helping them see something from a different perspective so they do better next time are valuable educational goals, and I don't understand why so many people think SO should address only one of them. It's almost as if people think coding problems are OK, but helping people with more amorphous skills is either beyond or beneath them.
Troubleshooting is a skill that can be taught— having someone more experienced giving you advice is an invaluable asset when you're trying to learn how to do it. Refusing to help people because they don't already know how to do it themselves helps nobody.
Stack Overflow isn't a free tutoring service, it's a collaborative wiki of answers to common programming questions.
That being said, I agree that the current culture of "you're doing it wrong" is toxic, and should be replaced with a culture of "here's how to do it right".
That's one of the goals. I wouldn't say it's the goal.
I would argue that the goal of any software should be to help the immediate user. If it is not, then why should the user continue using it?
Stackoverflow is successful because helping the immediate user has secondary benefits, namely that it also helps others. But that doesn't mean this secondary benefit should override the primary goal.
That's like saying "I as the immediate user of Wikipedia want to be able to upload my research paper and have it check if there are any mistakes in my citations. If Wikipedia can't serve that immediate need, why should I continue using it?"
Yet even if Wikipedia isn't good at auto-checking your homework, it's still immensely useful for the vast majority of other users who don't care about auto-checking homework.
You can't build software that satisfies everyone's requirements. It's okay if some users choose not to use your software because it doesn't fulfill their requirements.
StackOverflow is a Q&A site. Asking questions and receiving useful answers is the primary goal, and therefore the immediate users are the askers.
Ultra specific homework questions do not help the immediate users (readers) at all which is why it is frowned upon.
Sometimes, all someone needs is a rubber duck. We can help by becoming that rubber duck.
Its the long term goodwill that eventually brings new programmers into the field, because programming is hard! Newbies need to know its ok to take risks and there will be a safety net.
This started to leak into my real-life conversations at work and I realized I was being condescending and arrogant. I feel like Stack Overflow and the related SE sites genuinely made me a worse person. I spend a lot of time in online communities and I've never seen anything so toxic.
That's very odd to me. I spend a lot of time in online communities and I've been hard pressed to find anything as welcoming and helpful as Stack Overflow. I became a high rep user over the years, and I made mistakes that earned downvotes, but usually someone could give me a pointer to how to improve my question or answer. (Not always, but usually.) It does suck to get downvotes, especially without a comment about why, but honestly, when I look at other sites (ahem hacker news) where the rules are only ever referred to by experienced users and in tiny print below the fold, the clear rules and help on StackOverflow, and posters who are willing to link to them and clearly explain them seem like a breath of fresh air.
I haven't spend that much time asking questions, but I answered many (and commented, edited, flagged…) but Id didn't found the community that toxic, especially compared to other places.
A newcomer shouldn’t have to know the subtleties of the guidelines. When I go to the library and ask the librarian a question they don’t reprimand me for the formulation of my question. They don’t refer me to the weekly research/reference class (which is great by the way). They try to help me find what I’m looking for. Sometimes I find questions on SO through google that are dupes, but if it weren’t for that dupe I may never have found the original with the search terms that I used.
This isn’t to say that SO’s rules are wrong, I just believe that there are those who are more concerned with the decorum than the functionality. Unfortunately it feels like those users outnumber the functional ones.
The other issue is, even when the reason is given, sometimes you would not agree with that. E.g. sometimes people claim it's a duplicate, although they are not deep enough into the topic to really tell, and then the question gets closed. Or people claim is subjective, while in fact objective answers are possible. Or many other things.
That being said, I agree that Stack Overflow has a duplicate issue.
https://stackoverflow.com/users/recently-deleted-questions/[your user id]
After ~12 years of development, StackOverflow has gone from invaluable to irrelevant.
These days my questions are either so niche nobody answers them, or like you, I get a tonne of abuse for asking in the wrong place, or at the wrong time, or not including the right info, or whatever it may be.
I'm not gonna sit here and say you asked a poor question, because answers/commenters can be jerks. However, learning how to write software is hard, and the idea that a magic site can answer any question you need to make 6 figures is ridiculous. The tough love I received on SO made me write better questions and think more atomically.
I have had this conversation with my wife many times, who is working her first development job: "Yes the people can be cruel, but there's no better way to see the obvious gaps you have in your expertise than to expose yourself to them."
In my experience, 90% of moderating questions on SO is linking people to this doc and asking them to apply it. A lot of these users just didn't know this doc exists or haven't read it yet and are then able to edit their question to be answerable and meet community standards.
I've been on Stack Overflow for almost 10 years and very rarely to never see a question with a MCVE and steps to reproduce get downvoted. The more effort you put into asking a question well the more likely it is to get rewarded with upvotes and good answers.
Everyone there is just looking for someone to snipe at for internet points or they're an academic who IMO are even worse. 2019 It's a joke.
The archives are useful but that's about it.
I agree. But not just there. Here too. I feel I do not always express myself like I would were there no karma points to be earned/lost. I often wish for a karma-less HN .
Edit. Because I get micro depressed when I loose karma and I start to question myself. I feel I shouldn't care because I look upon myself as strong, well-behaved, clever. But I do care. Immensely.
OTOH questions like I am trying to do this very specific thing that interacts with multitudes of other systems and cannot get it to work are therefore not considered StackOverflow worthy.
If it is completely unique and is of no use to anyone else, then it still of use to one person and still worth answering. Maybe SO just needs a flag for questions as 'unique situation' so it doesn't appear by default in future searches.
Also, SO isn't really a wiki. It's not designed that way. It's built around "this is my problem; what is the best solution?" interactions.
or homework questions
But for every response of, "What code have YOU tried?", there's someone who posts the answer to the question, and the user gets their one-time answer and never comes back
Many "new users" of the service view (or want to view) SO as a "question and answer" site similar to ask.com or Quora. I don't think this is unreasonable at all as even Google will suggest that SO is one of the most popular question and answer sites on the web.
This flies in the face of the desire of SO leadership, many of its moderators and, the "old guard" to have the site be a curated programming resource akin to Wikipedia. This is also not unreasonable.
The rub comes with SO desire to invite questions to be answered rather than soliciting tutorials or documentation akin to how Wikipedia works. SO even had a failed attempt at exactly this (SO Documentation) a year or two ago.
In essence, they (SO) want the benefits of both models while not recognizing the irreconcilable conflict. New users find the community hostile and belittling, seasoned users find questions condescendingly trivial and repetitive.
I look forward to seeing what their new CEO's vision is. Cultural change is hard though.
If you are just starting out with programming, you don't have a feeling for what constitutes a good question that people can effectively answer. As of a couple days ago, StackOverflow now tries to guide you into putting in the relevant parts of the question with a wizard. But still a very high percentage of questions is just lacking the information to make the question answerable.
Even if you have lots of patience and work with the user (through comments on the question and edits) to shape the question into something that can be answered, the format is still bad:
You can now write an answer, but depending on the problem, the user may still need some help understanding parts of it. Or they have trouble using the code in their program.
Now a discussion in the comments of the answer starts, but in the comments you can't really write any code. Or you keep editing the answer with new information. Or ask the user to write a new question, referencing the old one, but it's a mess.
The point is, helping people to learn new things is a discussion. You need to probe them for what they understood, and where they need more help. It's a back-and-forth. And StackOverflow is completely unfit to provide this.
It's great for people who have gathered enough knowledge to clearly identify their problem. But it's awful for newcomers.
I'm also interested to see how this develops, it's definitely not an easy task to solve.
One huge advantage SO has over a site like Quora is that on SO there are generally very few 'poor' answers that get voted up.
Quora is a shit show when it comes to both questions and answers (at least related to programming)
I've had 10-20 times where I've wanted to contribute on a SO question/answer (that I have no doubt who have benefitted somebody else) but I don't have enough reputation to comment...
The industry qualifies me as worth good enough, but SO doesn't?
One or two successful answers is enough to unlock the comment privilege.
The other thing is that a question should never show anything less than -1 as its score, internally they may keep count of the downvotes but never show the user anything less than -1 because its too demoralizing for newcomers.
It's never great to feel like random strangers are demanding that you do their job for them. And often those "find my bug" questions are not at all illuminating for other readers. Like, knowing that this particular person misspelled the variable name or forgot a semicolon is not going to be make you a better coder.
And I think we've all seen some variation of "questions" like "please to write code to sort this list and insert it into Salesforce" or whatever, where it's clearly a simple job that someone just wants the Internet to write for them.
kind of like a curated FB newsfeed, but for SO. More relevant content should make everyone happier while solving the hostility problem and making SO (dare I say it) enjoyable for everyone.
Now there are cases where hiring an outsider makes sense. Perhaps you are bringing in someone with experience to run a fast-growing company and no one internally has that experience. Or you are hiring a new CFO for a tech startup and there just isn't a large pool of people to promote internally to that specific position. But given that stack overflow is a tool made by developers and aimed large at developers--and a mature company--it would be nice to see someone rise through the ranks from a developer position at the company to replace the CEO.
-May push for doing experiments and iterations that have been done and rejected before.
-May lead discussions towards and rehash things that have been settled before.
-May not be able to reason about how different pieces of the company fit together because, he or she will not be familiar enough with the details of these pieces.
It's about not having finely tuned error bars over facts and hypotheses about the company, about the missing non-commodity knowledge. I hate the words "tribal knowledge". However, I'm sure they thought about this. Joel Spolsky of all people, would understand these concepts.
Stack currently feels like an attempt to be the worst parts of both Wikipedia and Ask.com. They need to do a better job at something, and everyone will have an opinion about what the fix is, but it feels like they need a change.
That said, hiring a developer to run Stack sounds weird to me. If anything, I'd think you need a communications/publishing person since the goal is collecting, archiving and distributing data. Maybe an archivist or librarian even.
Are there many (or any?) cases of this having a long-term effect on a company's culture/focus? I know it's the most-advertised reason for hiring an outside CEO, but I couldn't find any examples of a company's culture changing, and staying changed for years/decades, as a result of doing so.
Seriously? I can understand the Wikipedia aspect of it (though I'm not sure I totally agree), but ask.com? Isn't ask.com full of trolls asking intentionally silly questions, and writing ridiculous answers? I fail to see how StackOverflow falls into that category.
- Those who were "burned" asking questions on SO and have a grudge against it now (mainly people just starting out in programming)
- "Lurkers" who mainly just drive by from Google links and don't ever ask questions
- Experienced programmers with accounts that mainly lurk, occasionally ask or answer a question, and never really have problems with the site
- Power users with crazy high rep who who are extremely pedantic and patrol their favorite communities too zealously and aggressively, and often unsympathetically
I like to think the vast majority of people are in categories 2 and 3 and are very satisfied with the quality and utility of SO.
The problem is that:
- category 1, while a minority, is extremely vocal about their displeasure with the site and so that gets a lot of attention
- category 4 types tend to exacerbate category 1 types
- category 4 though also does a very good job keeping the site clean, accurate, well-edited, etc.
Moderation is a thankless, tedious job, and the people most willing to do it might have other undesirable personality qualities unfortunately.
I'm sorry you feel this way. I donate my time to occasionally moderate on SO to help people learn and become better programmers. In my experience, the vast majority of mods quietly help like this asking nothing in return.
In other words: the problem is probably not with anything particular to StackOverflow or Wikipedia, the problem is with human beings. That's not to claim that a new website with new rules/structure couldn't arise that was even bigger yet more welcoming -- there's no reason to think the insights that drove StackOverflow are optimal -- but just that it will require further innovations in how communities are structured.
This isn't a personal bias and I'll admit that SO's had its ups and downs trying to find that balance between not being flooded by shit and not being overly authoritarian when trying to stem the flow of shit. I was a diamond mod on the site for a while, and despite what folks may think, the rest of the diamond crew are genuinely trying to maintain a good quality question and answer environment. I think it mostly works for the better. Sure there's the odd outrage here and there, but these are exceptions to the rule.
So here's a wee anecdote to finish up with. Whilst I'm a fairly experienced developer and engineer (30+ years in the biz) my latest project involves a bunch of Salesforce integration stuff (Apex code, triggers, callouts, inbound API bobbins...). How much did I know about Salesforce a month ago?....zilch/nada/zero; I was a complete and utter noob. Guess where I found the best answers to my umpteen google searches? Stackoverflow and the dedicated Salesforce SE site. Sure there's some good material in the Salesforce forums, but hoo...boy...there's a serious amount of utter dross that should just be deleted, which is what actively happens in SO. Sure there's the odd mistake here and there...for example, I found an answer the other week to a python thing I was having some trouble with. Google had a SO result but upon clicking through the question had for some reason been deleted. Turns out it was a misunderstanding and after a quick post on SO meta the question was re-instated. No big deal and no drama.
Every now and again we see posts like this here and there, folks bumping their gums about how terrible SO is, and how the moderation is overbearing and "my nebulous question about 'best frameworks'" was closed....blah, blah, blah. But like many things, in my experience, these complaints are usually from a noisy tiny minority. For the rest of us with a modicum of common sense SO and the SE network works just fine and we quietly get on with our day jobs.
I won't be sad when the next gen Q&A comes around to fix the problems SO introduced, just like when SO came around to fix the issues of the other sites.
SO definitely tried to reinvent the 'manual' for many years, which was silly when there was already a manual to read.
The goal of editing an existing answer is definitely not to change the original answerer's intent.
The tools to solve the problems you identified are available. As you've alluded to, it's up to each user whether they choose to make use of them.
The result of:
(num_person-hours_saved_by_SO * num_of_developers_in_world * dev_hourly_rate)
must be staggering. I'm sure companies around the world can point to SO for a non-trivial percentage of bottom line revenue.
And forget about the bean counters for a sec: as a DEV, SO saves so much pain that I have no idea what I did before it came to be.
SO is truly doing God's work (and I'm not a religious man).
There's also a negative effect on global developer skillset when developers don't have to dig deeper into things or read documentations because they can just find a working example from SO. Although Stackoverflow still probably has a positive net effect for global skill of developers regardless. But a developer who learns from the bottom up will most likely outperform a developer who relies on finding working solutions from SO in the long run. And while a company prefers to have a solution right now for monetary reasons, the quality of developers the global workforce has in the same long run dwindles when the primary goal is to save developer hours "right now". Again highlighting that I still do consider SO a net positive, just that it is not a flat out black and white hours saved function
I consider “being able to resourcefully look up the answer to your question” a critical developer skill, regardless of whether that answer comes from an online forum or page 254 of the official spec or finding the right academic paper. Having a nice searchable online resource contributes positively to this developer skill!
That said, SO is still a wealth of information.
I rarely ask and answer questions anymore because 99% of the times the question is already there with a number of answers. In many cases those answers have been updated to reflect changes in the times (browser APIs, languages, etc) which is awesome.
I've suffered from its toxicity a number of times, but that hasn't been my dominant experience. All in all it's a super useful tool. I guess a lot of programmers don't remember what it was like before SO, with vague forum threads that never got to the point.
The problem with SO as I see it is that every question is part of the same pool of questions, only differentiated by topic tags. Every question is held to the same standards. This is a contrast to the actual people who use the site: askers and answerers are all using, looking for and expecting a huge variety of different approaches and responses, and have wildly varying levels of experience.
Reddit's subreddits completely transforms the site for people who use them - people who browse the front-page have an entirely different experience and different expectations from those who curate. I wonder if there's something similar SO can do.
That being said, it's true that they all use the same approach: Concise questions and answers without any extra discussion.
Also a fragmentation into multiple subject sites also isn't a great idea IMHO, now for some categories for example you have to think of cross-posting to get maximum responses.
That creates another problem where I automatically distrust answers more than 2-3 years old. Even if they turn out to be correct.
No matter what other's esp. those in start up world say, .NET stack delivers value in spades, and it has only improved with .net core.
Luckily so far even with some missteps the .NET Core launch has been great. My only complaint is that debugging needs to work outside of Microsoft editors. Jetbrains has their own implementation, but I find it annoying that there is no CLI tool, and I also recall a licensing snafu that broke debugging in Rider for a while...
Now, I don't think StackOverflow should necessarily address this, as this problem is a little niche. But I do think it might get a little less niche as developers move off the gigantic monolith library paradigm (jQuery, Boost, etc.). Maybe there should be a way to sync GitHub issues with StackOverflow (although each side has incentive to keep the user on their end). Or maybe there should be a way of pinging important people in the ecosystem. It's nice to @ someone in a GitHub issue if you know who has the solution to your problem.
But I wish the next CEO luck, and appreciate what Joel and the team have brought into the world.
The question submitter never returned, my answer is left "unaccepted" and the submitter has never had any other activity on the site.
Despite that, the question has had ~15k views earning the submitter the 'famous question' badge.
My answer was never 'accepted' so it doesn't have 'famous answer' badge but the ~30 up votes it has had has given me over half my SO karma.
Instead of taking the time to understand the question actually being asked, others just downvoted the both of us and moved on.
SO answers shouldn't be allowed to be marked as duplicate.
If someone is asking then either they failed to find the "duplicate" based on their search terms, or their problem is subtly different and the other answer doesn't help, or they don't understand the other answer.
In all those cases, just marking duplicate and closing the "duplicate" doesn't help anyone.
Or they didn't bother searching possibly?
I think the 'up-vote only' model might be helpful for SO. If 1000 people down vote, but 100 people up vote, who's vote should carry more weight? Obviously, 100 people found the question/answer useful, so it's not useless. Whereas, we don't get a lot of value from a down vote, just that each individual that down voted didn't find the information useful/relevant.
If it's indeed a duplicate, well maybe it is, but perhaps the new question is a better version of the question (more/less generic/specific depending on context).
I got nothing but comments, where one was an actual answer, and the rest were condescending and often technically incorrect.
I made use of the answer, and deleted the question, in order to clear the downvotes from my own (top 20%) account.
I guess the proper strategy for answering noob questions is to put the content in a comment where (I think) it cannot be downvoted.
EDIT: Actually looking back it was just the one person with the condescending response, but the comment got two upvotes.
I have thousands of points of reputation on Stack Overflow. Why can am I not allowed to edit posts or cast open/close votes on SuperUser or WebApps or AskDifferent?
Many of these sites are esentially the same site and rules and user base, but with slightly different topics. Some questions would fit on any of the sites, and it's down to the random Google search you followed as to which site you end up loading.
I'll essentially never be able to gain the rep needed on the non-SO sites, even the bigger tech ones that have tons of crossover with Stack Overflow.
You can be a 20k rep Stack Overflow account, but land on a Stack Exchange question from Google and it's a complete crapshoot if you'll even be able to upvote the question.
If you have 200+ rep on any one site, you can upvote on any other site (assuming you didn't spend/lose the rep somehow) if you actually create an account there. Downvotes require more rep (125), so that requires some participation on that specific site.
This Association Bonus (100 free rep on all sites as a reward for earning 200 on one) is designed to address a lot of your concerns. It allows upvoting, flagging and commenting. If you see something that should be closed, you can flag it for closure to bring it to the attention of users with sufficient rep to close or indicate non-answers as such so that higher rep users can vote to delete them.
The system as-is definitely leads to a lot of confusion, though. The explanation I've heard for the siloing of reputation between the sites is that reputation is an indication of trust and expertise in using a specific site. If you know how what's on or off topic on SO, that doesn't necessarily mean you know what's on or off topic on Puzzling or InfoSec. Each site has slightly different cultural expectations, and the belief - which maybe should be tested - is that that expertise doesn't cross between sites.
One part of the problem here is that someone can spend hours using a site and know what's on topic or what should be deleted or downvoted or closed and still never have any reputation on that site... and on the other end of that spectrum, you can find very high rep users who either don't use those moderation tools or use them incorrectly because they haven't actually taken the time to understand how the community expects them to be used.
It's a hazy indicator of expertise at best but it's also a relatively low-effort one to implement. It takes work to balance it and decide what actions warrant a reputation reward but it's okay. Finding a better/different way to achieve this indication of expertise and privilege may be worth considering and may allow users to "test out" in a privilege to earn it without needing a specific amount of points. This would allow invested users access to privileges without requiring them to also be expert askers or answerers.
Yeah that's if you create an account there. Land on a random SE site from Google or from the Hot Network questions and chances are you don't even have an account.
The site looks exactly like Stack Overflow, but if I press the upvote button I get an annoying error and the person who wrote that answer doesn't get any points.
If I do create an account, every time I infrequently visit that site I'm met with an annoying banner to "remember to upvote". Despite the fact that I upvote Stack Overflow questions daily. You can't win.
Editing is the other major place where I feel this annoyance. On Stack Overflow I edit a ton of posts to correct typos, grammar, code formatting, and capitalization. But I can't donate my free labor on SuperUser or AskDifferent. I'm not going to add these minor edits to a review queue. So the sites are just worse off because of arbitrary site siloing.
> Each site has slightly different cultural expectations, and the belief - which maybe should be tested - is that that expertise doesn't cross between sites.
I'd very much question that belief. Maybe for the more esoteric sites, but a good user on Stack Overflow is going to be right at home on SuperUser, Ask Different, or any of the myriad slightly-different-but-mostly-the-same tech sites with slightly different focuses.
Hopefully they will address it at some point. For the time being I just concentrate my time on SO as opposed to the 5-10 other relevant exchanges like Server Fault or Software Engineering.
Unless you are considering the downvotes themselves "toxic"
Gamification probably got them here, but is it a recipe for continued success or a detriment to StackOverflow?
‘Oh and—hey!—we do not make you sign up or pay to see the answers.’
It’s sad how many companies nowadays do all they can to convert users to signups/downloads/app installs. Give people the chance to sign up on their own accord.
New programmers want to learn. However, they want to learn using the path of least resistance (who wouldn't?). SO is universally known by everyone as the place where experts gather.
So why do newbies choose to ask questions on SO? Ultimately because they see it as the path of least resistance to accomplishing their goal of [learning, homework, etc.]:
- Why read a book on C++ when you just need to know how to do that one specific thing and an expert could give you a targeted response?
- Why wrestle for hours with compiler messages when an expert can solve it in 2 seconds?
- Talking to your teacher or professor is scary, vulnerable, and the very thought might make you anxious. Much more comfortable to ask an internet stranger!
- Homework is due tomorrow, it's too late to ask the teacher for help! Time to ask SO, there's no time for anything else.
- My programming school/teacher/course is complete garbage. Or I'm attempting to self-learn without formal courses. Time to lean on SO as a crutch to help me through.
However, this is a problem because it creates a power dynamic. Professionals want to help and get help from other professionals. Throw newbies in the mix and they are essentially a parasite - they want help from professionals and can't give anything back (yet).
Honestly, I think one solution is to put asking questions behind a paywall or rep wall. People can still read everything for free, but to ask a question you need to either pony up or be a contributing member of the community. This would make a lot of newbies reconsider asking a question on SO because it's like: "Hmm, I guess I could ask SO as a last resort, but maybe... I could put in a few more hours of effort or ask my teacher, which are free" This in turn would significantly reduce low effort newbie burden on the community and encourage the newbies to visit the sources of knowledge they ought to be going to in the first place.
This is all based on my own anecdotal observations, but I never asked a question on SO until I was a working professional. I used SO all the time in school, but read only - I leaned on my high school teacher and college TAs mainly when I needed help.
There's also a social network built around those apps, so you can make collections of apps you want to use, or projects you want to refer to for your own work. And we're working to build a Teams product so you can use all those code collaboration features at work and integrated with your other tools.
Finally, there's a capability that's kind of complementary to what Stack Overflow does, which is that you can "raise your hand" (click on the emoji of the person with their hand raised) right in the code editor in Glitch, and it'll allow people to come in and help you with your code in realtime. There's more to it, but that's what it does today.
I really hope the SO team is successfully able to move from un-versioned, free-form text based Q&A into an API documentation++ platform.
Ideally a documentation platform that helps drive good debate and eventually consensus.
Several times when I search for something (say, how to do X in Ionic) I find a reply that is old and does not apply to the current version of the library.
Only when asking questions.
I find in my work I read/use 100 questions or more for every 1 question I ask. SO is amazing 99% of the time, and a bit of a gamble that 1% of the time when you have a specific question you couldn't find resources on.
So, from a 'drive users from google search' perspective, the current moderation model must be working quite well.
I have little sympathy for questions asked by complete beginners. SO is probably not the best place for that kind of thing.
Welcome to the problem (as I see it) with SO! As someone who was a complete beginner during the modern age of SO, I can tell you that it sure helped me get into my current career (which is not coding related whatsoever) by driving me away from the profession. "Who the fuck wants to work with assholes like this"?
Was I asking stupid questions? Of course! Does anyone on SO owe me anything? Not even a tiny bit! But this is a cultural choice. If this is what you want, then it's doing exactly what it's supposed to. But many people don't want this.
If I go to a library, the librarians will help me to the best of their ability. That doesn't mean they teach me French, but at least show me where the French books are. More often the tone from a comment was "lol, gtfo n00b or get gud m8" which is unhelpful. Rarely was I getting a suggestion of a resource that could help me answer the question I was posing. "RTFM" isn't useful if you don't know what that manual even is.
There's all sorts of people with all sorts of personal stories about their experience with the SO community, ranging from "I wouldn't be the CTO of my company if not for them" to "I will never work in this industry again". I'm not saying I'm right, or that things need to bend to me. I'm just putting a perspective out there.
It's more like going to a library and asking the librarian for help and then when pointed to a book admitting you don't really know how to read and then asking the librarian for help learning how to read. I'm sure you could find a kindly librarian willing to help you learn to read. But the librarian might also be wondering why you never learned to read in school and might get frustrated if the library is busy and other patrons need help.
Just curious, why did you choose to use SO to learn programming instead of taking a formal course with a real teacher?
Ya'll have fun.
Please don't judge the entire coding community based on a bad experience with SO zealots. We aren't all mean, I promise :)
SO is becoming read-only in my opinion.
more seriously, this is a real concern, a super useful communal website with really high traffic is ripe for commodification.
What's especially repulsive to me is how well trained SO users are, spending many minutes nicely formatting their questions and answers for those worthless internet points.
As a side benefit, I'm sure the active contributions can give contributors something to show to prospective employers.