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.