Why does Stack Overflow have such a strict community?

StackOverflow is, basically, gamification turned elitism, and a clear story about what happens when "orders are orders."

The site has very strict rules about what's allowed. Appealing to the fact that some junk slipped through in past years doesn't change the rules any more than telling a cop that other people speed gets you out of the ticket.

Now, the rules themselves aren't a big deal. But enforcement is crowdsourced by a workforce that earned their hundreds of points, presumably by spending an afternoon answering low-hanging fruit by searching Google.

(Full disclosure, I did exactly that, pa

StackOverflow is, basically, gamification turned elitism, and a clear story about what happens when "orders are orders."

The site has very strict rules about what's allowed. Appealing to the fact that some junk slipped through in past years doesn't change the rules any more than telling a cop that other people speed gets you out of the ticket.

Now, the rules themselves aren't a big deal. But enforcement is crowdsourced by a workforce that earned their hundreds of points, presumably by spending an afternoon answering low-hanging fruit by searching Google.

(Full disclosure, I did exactly that, partly to see how easily the system could be gamed. I racked up a couple hundred quickly, and doing very little since, currently have just shy of a thousand points, only about a hundred of which were a result of any actual insight or even programming knowledge.)

When you hit some magic number of points that I forget, you gain the power to review questions, and they focus specifically on first-time questions. You're instructed to downvote them if they don't conform to the ideal question, and someone higher up the food chain closes the question if there are too many downvotes and the user doesn't fix the question.

They also test you with real questions, occasionally, to make sure you're paying attention and not trying to abuse your power by letting bad questions slide through. Like I hinted at the top, somehow, the Nuremberg trials didn't convince them that "orders are orders" is a bad approach to organizing a community...

I think you’re exaggerating your situation.

Quora and StackOverflow are both Q&A sites, but that’s where their similarity ends.

Quora has a broad range of topics, and until now, what I’ve noticed, is that its primary purpose is for people to share their experiences and know about current events/global culture.

StackOverflow, meanwhile, is solely for programmers and their coding questions. That brings about a different culture.

  1. Programmers are generally more passionate/less patient about questions people ask them. On Quora, even if you ask a “silly” question, it may just be ignored, or edited by so

I think you’re exaggerating your situation.

Quora and StackOverflow are both Q&A sites, but that’s where their similarity ends.

Quora has a broad range of topics, and until now, what I’ve noticed, is that its primary purpose is for people to share their experiences and know about current events/global culture.

StackOverflow, meanwhile, is solely for programmers and their coding questions. That brings about a different culture.

  1. Programmers are generally more passionate/less patient about questions people ask them. On Quora, even if you ask a “silly” question, it may just be ignored, or edited by some good Samaritan to make it less “silly”. That won’t happen on StackOverflow because programmers are quite often busy people who won’t have the time or patience to sit around editing your questions.
  2. The experts on Quora get a ton load of answer requests everyday, and so very often, they do not get the time to go through every newly asked question in their respective area of expertise and see if any of them is “silly” enough to be downvoted or edited. StackOverflow doesn’t have that kind of system, which results in the admins and top users having more time to filter out bad questions.
  3. Again, Quora is about experiences, stories and other subjective matter. StackOverflow is about a very objective area of human knowledge, math and programming. Having strict guidelines about asking new questions ensures that you at least “learn” how to go about, since many novice programmers ask questions which are very easily searchable on Google.
  4. Extending the above point, there are MANY, MANY, MANY questions on StackOverflow, and on some competitive programming sites too, that are simply too “easy” or “Google”-able. Programmers are generally fed up of answering novice-level questions, and it’s also much better on your part to try to learn on your own, instead of asking around.
  5. StackOverflow has been around for longer, and is thus composed of many individuals who are deeply passionate about the website, and thus ensure to maintain its quality.

Having said all of that, I admit the rules may be a little too harsh for a complete beginner. Some of my questions have also been downvoted. But all of this is to ensure StackOverflow can remain as the foremost repository of programming/coding discussions on the internet, with a very high bar for content.

I recommend you read the StackOverflow guideline about asking new questions (How do I ask a good question? - Help Center), and also how to go about revoking your question ban (Why are questions no longer being accepted from my account? - Help Center).

First off, Stack Overflow is a question and answer repository for programmers. It's not a classroom, and there are no teachers. The questions you ask have to be useful for other programmers in some way or other. A certain compiler error? Syntax guidelines? A bug? A suddenly self aware in house project management software? Those can be useful to other programmers if they run into them. An unfinished jumble of 100 lines of code with a plea for help? That is only helpful to you.

Stack Overflow even has question guidelines. Each question should have a specific problem that hasn't already been ask

First off, Stack Overflow is a question and answer repository for programmers. It's not a classroom, and there are no teachers. The questions you ask have to be useful for other programmers in some way or other. A certain compiler error? Syntax guidelines? A bug? A suddenly self aware in house project management software? Those can be useful to other programmers if they run into them. An unfinished jumble of 100 lines of code with a plea for help? That is only helpful to you.

Stack Overflow even has question guidelines. Each question should have a specific problem that hasn't already been asked via the search function. Stack Overflow isn't for babysitting people through programming. It's for programmers to help each other with the issues everyone runs into.

I've been using Stack Overflow since I started learning to program (a year and a half ago), and the only time I've ever been downvoted is when I edited into my question the solution I discovered instead of submitting a separate answer (meaning my question was against the question guidelines).

From your description, this is the type of question you ask

This is my C++ code, how does it look?


Or

I'm trying to make a script that does so and so, this is what I have so far, can anyone help me?


When instead, the questions you should be asking are

What is the proper way to style C++ code


and

I'm getting a compiler error with my current code. The error message says "...", and this is the relevant section of my code (key word, relevant).


My examples above are all questions a beginner might have. But in the first two cases, the question benefits only one person, the asker, while in my last two cases, the questions can be searched for and be useful to other people as well. Another beginner might want to know how to format his C++ code, or wonder why his compiler is giving him a specific error message.

People expect you to put in most of the effort yourself. If you can't even figure out what kind of question to ask, you're asking for someone to hold your hand and mentor you. That's not what Stack Overflow is for. It's a question and answer repository. Like in the movie adaptation of I, Robot, you must ask the right questions.

I don’t think it’s that Stack Overflow’s community is toxic. It’s that Stack Overflow (and the rest of the Stack Exchange communities) have very specific rules. These rules are pretty clearly spelled out in the Help Center:

  • First, understand what is on-topic and what things are not allowed. Every site has these two pages in the Help Centers, and many are pretty clear.
  • Your question, if it’s about a problem in code, should have Minimal, Complete, and Verifiable Example (MCVE). This tends to be more specific to Stack Overflow and other programming/coding related communities or questions. But the i

I don’t think it’s that Stack Overflow’s community is toxic. It’s that Stack Overflow (and the rest of the Stack Exchange communities) have very specific rules. These rules are pretty clearly spelled out in the Help Center:

  • First, understand what is on-topic and what things are not allowed. Every site has these two pages in the Help Centers, and many are pretty clear.
  • Your question, if it’s about a problem in code, should have Minimal, Complete, and Verifiable Example (MCVE). This tends to be more specific to Stack Overflow and other programming/coding related communities or questions. But the idea of focusing your question on a particular, well-scoped and well-defined problem is good regardless of what Stack Exchange community you are asking on.
  • Once you have a well-scoped and well-defined problem, you need to do research. On Stack Overflow or for other programming questions, that means you need to have done standard debugging techniques first. If you’re getting a specific error message, first search the Internet for it. If you find possible solutions, try them. If they didn’t work, reference them (or, even better, link back to them) in your question. On other sites, this may mean reading books or blogs or articles and understanding those and explaining why these other things aren’t helping you.

I think there are also a few things to understand about Stack Overflow in particular.

First is its size - it gets about 6000–12000 questions per day (during weekdays, it tends to be well over 9000 questions/day), between 5000 and 12000 answers per day (during the week, over 10000 answers/day), between 9 million and 27 million page views per day, and between 3 million and 10 million visits per day. There are simply not enough people willing and able to give individual guidance to everyone who doesn’t understand the system, especially when many people are drive-by users who dump low quality questions and never engage with the community. Once you have 5 reputation, you can use the Meta site to ask questions about the site and once you have 20 reputation you can use various chat rooms to seek out help and guidance. For someone who has read the rules, it should be pretty easy to hit the 5 and 20 reputation marks.

Second, the mission of Stack Overflow (or any Stack Exchange site) has never been to help you get an answer to your question. It has always been about building a repository of high quality questions and answers about a topic to help a broader community solve their problems faster. In Stack Overflow’s case, that’s about programming. It’s a victory when someone has a problem, they go to Google to search for it, and the first hits are questions on Stack Exchange sites that answer their question.

I used to really love StackOverflow when I first discovered it, but now I'm quickly losing interest in it. I'm a fairly new computer programmer that just graduated from school. When the documentation was hard to understand (some aren't worded too well) for something or if I knew how to do something and I needed a quick refresher, I would google it real quick and go to the first SO post that matched what I was looking for. Then I would read the first post, which would usually have the most votes and someone with a high rep answering it.

Then I started to participate in SO and my experience and p

I used to really love StackOverflow when I first discovered it, but now I'm quickly losing interest in it. I'm a fairly new computer programmer that just graduated from school. When the documentation was hard to understand (some aren't worded too well) for something or if I knew how to do something and I needed a quick refresher, I would google it real quick and go to the first SO post that matched what I was looking for. Then I would read the first post, which would usually have the most votes and someone with a high rep answering it.

Then I started to participate in SO and my experience and perception of it changed dramatically... First, getting those first points were a huge pain, and not commenting was a real drag (I would have to edit my post as part of commenting). I knew how to answer many of the questions, but a lot of people would get there quicker and get all of the points. Then I started to notice how it worked. Those with the highest rep would answer quickly, with a very brief explanation and a link to the documentation (sort of a RTFM style response). Then a bit lower down with 0 or much less points would be someone with low rep that explained the same thing much better without the snobbery. I never noticed this until I started participating. Now I always scroll down for every answer...

I also quickly started to notice that the only questions that got good answers were ones in the middle. Questions that were too basic were seriously trashed. I'm not talking about downvoting, which is okay if it's irrelevant or not following guidelines. I'm talking about direct and really rude insults, things you would never say to someone to their face unless you wanted to start a fist fight. Questions that were too complicated were ignored, either just silently dying off or being closed as not being clear enough.

From my own experience I've just starting using the site and I've already seen why everyone talks negatively about participating in SO about *ssholes and unfounded snobbery.

Once I answered a question where someone asked about a better way to deal with double quotes in a JS string in part of their code. The code had multiple strings and those strings had double quotes because the strings were actually html tags and attributes that were populating divs using innerHTML. My response was to use jQuery and to use .load on those strings to keep things a bit cleaner so they aren't embedded in the code and instead in separate files as templates, and then there's no need to worry about the double quotes. I received 5 downvotes and a bunch of insulting comments about "poor design" and to not mention my "favorite library", even though jQuery has become pretty commonplace for JS manipulation. Note someone else mentioned in a single sentence just to use jQuery and only received 1 downvote.

Another situation was when I was asking about Python bytestrings. In particular, if a bytestring is a stream of bytes, then why does the interpreter read my characters as actual characters instead of bytes? for example, why is 'a'.encode() returning b'a' instead of b'01100001' (2^0+2^5+2^6=97), even though bytestring shouldn't have any interpretation? I received several really snobbish remarks about my question. One was about how I should RTFM (even though I tried my best to way before I posted the question). Another was lecturing on how bits are bits, just how we decide to interpret it (which didn't answer the question, I knew this already). Finally, after a bunch of unnecessary douchebaggery, someone (still chock full of snobbery) mentioned how python uses the __repr__ magic method to try to represent the bytestring in human readable form if possible (I'm assuming in ascii, that part wasn't explained either). Then I was still confused because you could write a bytestring using "with open('mytxtfile', 'wb') as f: f.write(b'a')" and a text editor would still read that properly as a string. Then someone again with some snobbery mentioned that I strongly don't understand the basics, and explained that even text editors will try to interpret the bytes if it can (again I'm assuming in ascii, that part wasn't explained).

Some of my questions may have been too (possibly?) advanced to get responses for the site because they received no answers or comments. One of them was about how to include static files for a python package in setup.py. Again I read TFM and SO and it still wasn't working, and I explained this. I explained how I used a MANIFEST.in file (and other solutions I found on SO) and it still wasn't showing. Nobody replied, and I eventually found out how and turned it into a wiki. Another one was how to create multiple styles in a row (such as partially emphasized text) for a Python TreeView in Tkinter, and received nothing.

I guess my questions and answers are too stupid for SO to begin with, but it's given me a very negative view of programmers and the potential communities I'll be joining in the working world, and it's making me second-guess my decision to become a programmer. I've very much lost interest (and respect for the site), and I can fully appreciate the complaints about the site at this point.

Agreed. I wish I could reply to Anonymous's arguments entirely, but I'll just respond to a few things:

Anonymous: "experts spend their valuable time giving answers completely free. What do you thing is their motivation for giving answers?"

Me: They do it for the points. Having a lot of points on SO gives them respect in their community, which means more job opportunities.

Also, their rude answers might garner up-votes too among other rude people, which means more points. Nice people do not downvote so they don't have to worry about them.

Also, there are a lot of people who are able to help wi

Agreed. I wish I could reply to Anonymous's arguments entirely, but I'll just respond to a few things:

Anonymous: "experts spend their valuable time giving answers completely free. What do you thing is their motivation for giving answers?"

Me: They do it for the points. Having a lot of points on SO gives them respect in their community, which means more job opportunities.

Also, their rude answers might garner up-votes too among other rude people, which means more points. Nice people do not downvote so they don't have to worry about them.

Also, there are a lot of people who are able to help without being rude. If someone can't reply without being rude, I suggest they just don't reply. I certainly answer questions without being rude or expecting anything in return.

Anonymous: The community is against the practice of spoon-feeding and will discourage any post that the community think, lacks research.

Me: Answering a question is not "spoon feeding". It would be crazy in real life to act that way. People do not say "Google it" in real life every time someone asks a question.

Anonymous: If you think a comment,a question or an answer is rude you can simply report it.

Me: I doubt it would matter, since SO encourages rude behavior. I think SO's rules encourage meanness, and that they do it for SEO purposes.

Overall, I actually blame Google for showing StackOverflow results at the top of the list. I think Google's big data search algorithms reward SO due to their lack of dupes and other mysterious things. SO has no financial incentive to encourage people to be polite. There probably are much better sites that do not rank as highly, but people never see them so they do not get the traffic.

Overall I also blame the nature of people. Obviously being rude is wrong. I can't believe there is any question about that. But some people just go through life being rude. I don't know why, their upbringing, family life, DNA, testosterone, being spoiled, I just don't know enough about psychology, but there are a lot of rude people out there who make human race look really bad.

I'm (still) among the 100 Stack Overflow users with most reputation. I've got the unicorn t-shirt and everything, but... I haven't used Stack Overflow except while following Google links for a while now.

As Stack Overflow evolved, it evolved into something that, to me, just isn't interesting anymore. Take my 5 most voted answers: three of them are for questions that have been closed or locked! And so are many of the answers I'm most famous for.

While I felt increasingly more uncomfortable with the policy guiding where Stack Overflow was going, I kept being an active member of its community. That

I'm (still) among the 100 Stack Overflow users with most reputation. I've got the unicorn t-shirt and everything, but... I haven't used Stack Overflow except while following Google links for a while now.

As Stack Overflow evolved, it evolved into something that, to me, just isn't interesting anymore. Take my 5 most voted answers: three of them are for questions that have been closed or locked! And so are many of the answers I'm most famous for.

While I felt increasingly more uncomfortable with the policy guiding where Stack Overflow was going, I kept being an active member of its community. That stopped, however, when a question I felt (and still feel) was completely legitimate was closed.

I asked for feedback, and then made a new question keeping strictly within the feedback I was given (which was much more strict than Stack Overflow's FAQ). No luck, though: it was closed too.

The thing is... the Stack Overflow community is hostile towards questions it can't answer because they lack the knowledge or whose answer they don't like. They like mildly difficult questions, where they can show off their average knowledge without making much of an effort. If your question falls outside that range, they'll close it because it's too "obvious", or because it's "difficult to understand what's being asked" or "subjective".

I'd trade today's Stack Overflow for first year's Stack Overflow any time.

Anyway, I think that's the whole problem with Stack Overflow: it's hostile to those who fail to keep within its comfort zone, which is obviously intimidating to new users.

There's no need to feel intimidated by Stack Overflow, so long as you respect the time of its inhabitants.

Stack Overflow has two, very specific goals:

1. To get people quick accurate solutions to their programming questions, and
2. To collect a useful repository of programming knowledge for future visitors.

In order to accomplish those things, Stack Overflow has to do one thing very well: attract experts. Without experts, there can be no answers.

To attract experts, you have to make the place interesting enough so that they will freely give of their precious personal time to answer people's q

There's no need to feel intimidated by Stack Overflow, so long as you respect the time of its inhabitants.

Stack Overflow has two, very specific goals:

1. To get people quick accurate solutions to their programming questions, and
2. To collect a useful repository of programming knowledge for future visitors.

In order to accomplish those things, Stack Overflow has to do one thing very well: attract experts. Without experts, there can be no answers.

To attract experts, you have to make the place interesting enough so that they will freely give of their precious personal time to answer people's questions, without getting paid anything except imaginary unicorn dollars in the form of reputation points, and the satisfaction of doing something good for a fellow programmer.

Questions must have certain qualities in order to be interesting to experts and provide useful information for future visitors:

  1. They must be clear and answerable without requiring lists of things, product recommendations or writing a book.
  2. They must use the English language in a professional manner (i.e. proper capitalization, spelling and punctuation, no personal attacks or ranting, etc.)
  3. They must demonstrate that the asker has a working knowledge of the question's subject matter.


Some Things Stack Overflow is not good at:

  1. Troubleshooting your code for you. Fire up a debugger, or write some more unit tests.
  2. Writing your code for you. Demonstrate that you've put prior effort into your problem by showing up with substantial and relevant code that you've already written.
  3. Engaging in speculation, debate, arguments or lengthy discussions. Stack Overflow is not a forum.
  4. Predicting the future. Stack Overflow does not know when Microsoft will release that shiny new thing. Ask Microsoft.
  5. Helping you find stuff on the Internet. That's what Google is for.
  6. Performing customer support for some company's product or service. We don't know if Apple will approve your app or not. Call Apple; that's what they're there for.
  7. Teaching you how to program from scratch. That's what books, classes and tutors are for.


So
why do new users always seem to trip over these? Mostly, because they didn't read this: How do I ask a good question? Why don't they read it? Maybe for the same reasons that they didn't take the time to read those things that probably would have answered their question in the first place.

  1. Keep forum clean so when other people searches for some serious question they dont end up with spam questions. For example if you are looking for question like facing error in reversing string, you dont want 1000 answers you need few that pretty much explains all sort of issues that you might end up facing while progamming it. So makes your life easy when you are looking for specific types of question.
  2. If you ask silly questions people get irritated. Especially obvious once, it just goes on to prove that you have not done your homework before asking question.
  3. If you are looking for expert to hel
  1. Keep forum clean so when other people searches for some serious question they dont end up with spam questions. For example if you are looking for question like facing error in reversing string, you dont want 1000 answers you need few that pretty much explains all sort of issues that you might end up facing while progamming it. So makes your life easy when you are looking for specific types of question.
  2. If you ask silly questions people get irritated. Especially obvious once, it just goes on to prove that you have not done your homework before asking question.
  3. If you are looking for expert to help you, please dont waste their time and your opportunity. Do prior research first and then ask SPECIFIC question, so they dont feel like you are just using them to get your work done. There is nothing wrong with you askin for help, but asking to finish your work is wrong.


So i think it pretty much explains. You are not googling the questions and doing your homework before asking. As soon as you face bug without even trying you are asking, hence you are getting negative votes.

Also people aks question on StackOverflow only when there is no option left over. In another words, they looked up all resources and searched through StackOverflow, and still didnt find solution; i think that would be pretty good time when you should put a question up there.

At the risk of offending my colleagues, you need to look at the type of people who make up the community, right?

This scene kind of sums it up:

Developers are often, not always, but often socially inept and, as a result of a wide spectrum of insecurities combined with hard won and impressive coding skills, can often be arrogant. A very easy funnel for frustration release and an opportunity for temporary good feeling is to gleefully put another individual down, especially in a public forum wherein you can at once be sadistic and a show off.

Unfortunately, this is

At the risk of offending my colleagues, you need to look at the type of people who make up the community, right?

This scene kind of sums it up:

Developers are often, not always, but often socially inept and, as a result of a wide spectrum of insecurities combined with hard won and impressive coding skills, can often be arrogant. A very easy funnel for frustration release and an opportunity for temporary good feeling is to gleefully put another individual down, especially in a public forum wherein you can at once be sadistic and a show off.

Unfortunately, this isn’t just my opinion — Stack Overflow’s reputation speaks for itself and it exists for a reason.

One of the nicer, but typical, nerd sniper fire-exchanges you see:

Personally, I think you find this less with people who have started coding later in life, but guys I know who started coding really early tend to be more of the above mentioned type (usually has a lot to do with being socially isolated…who knows? Maybe they’re on the spectrum and as brilliant at coding as they are hopeless with girls? ).

That said, Stack Overflow is an amazing resource and acts as a giant, collective brain. If you ask thoughtful questions, and show that you’ve made effort to try and solve your issue, more often than not you will get a useful response from the community, which on the whole is amazingly knowledgeable.

I have been visiting and asking at Stack Overflow (website) for so many years. I never felt that I am being pushed down because I do not know something. In fact it is just opposite.

You need to understand that Stack Overflow (website) is different from Quora in philosophy and soul.

Quora is website for all kinds of questions to which many people can relate to easily. Therefore is Quora has more generic questions and on all topics possible in the world like What is the best superpower to have? or Will we still be using Unix in 2050? or What are the Python features you wish you'd known earlier? Fo

I have been visiting and asking at Stack Overflow (website) for so many years. I never felt that I am being pushed down because I do not know something. In fact it is just opposite.

You need to understand that Stack Overflow (website) is different from Quora in philosophy and soul.

Quora is website for all kinds of questions to which many people can relate to easily. Therefore is Quora has more generic questions and on all topics possible in the world like What is the best superpower to have? or Will we still be using Unix in 2050? or What are the Python features you wish you'd known earlier? For these questions you already know the answer. You simply want to expand your knowledge or are asking for other people's opinion.

Stack Overflow (website) on the other hand is a programming questions-answer website for programmers solving real world problems or discussion computers themselves.

It has mostly questions which are very specific about a given problem, to be solved on a given technology/language/platform and with a given method for which there is no obvious answer out of text books.

People answering on Stack Overflow (website) really want to answer as elaborately as on Quora if not more. They want an engaging discussion. But they don't want to do your homework or job assignment for free while you relax. They want you to look for possible solutions, try searching previously asked questions and some reading. You might want to look at the page How To Ask Questions The Smart Way.

They push you to learn more by engaging yourself. It doesn't make sense to to help everyone with "Hello World" or printing patterns of stars as you can solve these yourself. Every learner faces these problems. So answering these separately for everyone would create a lot of noise and the site would loose its quality.

P.S. There are wiki-like answers on Stack Overflow (website) which are Quora-like, very famous and treated like knowledge bases, for example, Hidden features of C. But these are a small percentage and not encouraged to be opened again once they have been sufficiently answered.