I've been posting/moderating slashdot for years, but just started with stack overflow. Here's my experience.
I definitely agree with and have seen what the articles are driving at. In particular, the "The Decline of Stack Overflow" is absolutely 100% on the money.
I answer questions. At least five / day. In a short time [about a month], I amassed 1000+ rep points. I'm now in the top 0.5% for the quarter. The article's comment about "SO hates new users" is true. Before I got to this point, I used to have more difficulty with certain people. As my point total got higher, the snark level went down. Ironic, because I was doing [trying to do] the best job I could at all times. My answers didn't change in terms of quality, just the tone of comments I got back.
When I post an answer, I take several approaches. Sometimes, a simple "use this function instead" is enough. Sometimes, "change this line from blah1 to blah2". If the OP has made an honest effort to be clear, but the posted code is way off the mark (e.g. has more than two bugs), I'll download it clean it up for style [so I can see OP's logic before I try to fix it], fix the bugs [usually simplifying the logic] and post the complete solution with an explanation of the changes and annotations in code comments.
This is the "cut-n-paste" solution. I may be just doing somebody's homework for them. But, usually, it's just somebody who spent days on the code and is "just stuck" [I've asked some OPs about this]. The controversy is that "if you do that, they'll never learn anything". Possibly. But, it's part of my judgement call on type of response to give. IMO, in addition to research and traditional classes/exercises, one of the best ways to learn is to read more advanced "expert" code. Compare one's original to what the expert did and ask "Why did they do it that way?!". This may foster more research on their part and they will have an "AHA! moment"
Unlike slashdot, one can edit a post [either a question or an answer] and you can delete them. Comments can edited for five minutes and deleted anytime. Now this will seem goofy: If you comment back and forth with a given user over an answer one of you gave, either a collegial discussion or a flame war, eventually an automatic message comes up asking if you'd like to transfer your "discussion" to a chat page. Also, because comments are limited to 500 chars, I sometimes have to post a partial, incomplete answer because what I need to say needs better formatting/highlighting than a comment and wouldn't fit in a comment, even though it's more appropriate as a comment.
The goofy thing is that you start with 1 rep point. You can post a question or a full answer. But, you can't yet post a comment!?
On SO, people edit their questions and answers, based on feedback in the comments. The answer may be edited several times before questioner accepts it. Sometimes, for complex questions, it can take a day or two to come up with the right answer.
Despite all this, once and a while, I get a "heckler" who doesn't like an answer [even though it's correct]. It goes several rounds in the comments, usually the other person doesn't understand the problem space enough to realize the answer was correct [or more subtle than they realized]. So, it goes back and forth, and each time I explain how I was correct, adding clarification or highlighting what I said originally. Eventually, the heckler says "Your answer doesn't answer the question". This is for an answer the OP questioner has "accepted" as the best one.
I've seen reasonable questions downvoted within minutes [I upvote them back]. I've seen people threaten to close the question as unclear, requires opinion, or can _not_ be answered as described. The last one is funny, because the question is clear to me, and I provide a correct answer [that eventually gets upvoted and/or accepted]. Sometimes I send the commenter who is threatening doom a message [you can direct a comment to a specific user--like twitter] and say "Hey! The question can be answered--as is. Please see my posted answer".
Because I have particular domain expertise, I tend to see some of the same people active on a question that I feel qualified to answer.
Some are superb angels:
- Always polite
- Extreme kindness to newbies [even if the newbie "doesn't get it"]
- Always provide a helpful and correct answer.
- Plus, a ton of helpful comments, even when not posting a full answer.
- Often, post a helpful comment, and come back with a full correct answer an hour later
- May post a comment about how an answer was wrong. They're usually right--I've had this happen to me once or twice
Some are what I'll call "keepers of the faith" or KOTFs:
- They will comment "consult man page" [without explaining _which_ manpage].
- Or [and this is popular], "please post an MCVE". An MCVE means [IIRC] "Minimally complete verifiable explanation" in SO jargon. This is even for questions that are already clear, concise, etc.
- Note some "angels" will say "do MCVE" but the difference is tone: angels do it with love--and question is unclear. KOTFs stay polite but it comes off as abusive
- The KOTF crowd camp on the SO moderation pages. They do direct moderation, but the pages operate mechanically more like slashdot's meta-moderation section.
- The problem is that KOTFs will moderate based on form rather than domain expertise (e.g. a bash programmer moderating a question involving python)
- They moderate question as "should be deleted" because the question didn't fit the MCVE requirement--or so they thought.
- Because they don't have the domain expertise, they're not qualified to judge whether the question is clear to a person who is "skilled in the art" of the particular domain (e.g. unclear to bash person, perfectly clear to python person)
- KOTFs also leap on the littlest missing char in OP's posted code, even when it's obvious that it's because SO's posting mechanism is to blame [SO uses markdown, and you have to indent four spaces before each line of code]. SO doesn't allow a direct uplink or clean paste like pastebin
- Also, downvoting a question costs the downvoter only 2 rep points, so KOTFs can (and, unfortunately do) downvote quickly and frequently. Shoot first and ask questions later.
- After downvoting, KOTFs are likely to start commenting on a page about MCVE, code is terrible, consult man page, why are you asking this.
- For some, in separate comments as they gradually think of new things to snipe/carp about [*]
[*] I saw this literally on a page that had the question upvoted to +5. Multiple commenters [myself included] were, using the comment system, helping OP to test/debug his code in real time (e.g. "try this", wait, "what result?", "okay, try this")--this is unusual, but not that unusual. We were "online" with OP for about two hours, before OP got so intimidated by the KOTF that he deleted the question page. Fortunately, OP had gotten enough hints from the angels, that he was able to find his problem, and he reposted his question next day with a completed answer.
Frankly, even when I'm not the target of this, it can be difficult to watch. If the KOTF is genuinely wrong, I'll sometimes comment back to them directly, because it's clear their primary mission is to make OP feel as bad as possible. Doing so takes time/energy on my part that is better spent answering a question, but otherwise, KOTFs can run [and do] run amok. With the "online" example, I finally saw the KOTF, composed a message telling him to back off, but the page was deleted 10 seconds before I could send it.
Still, overall, SO still works. But, it could use a facelift
Most OPs try to post a good question. Sometimes, they're newbies, and need help to formulate it. Ignoring KOTF comments, others will ask for more specific information: post this, and this, and this. With the commenter's help, OP can edit the question enough that they can get a good answer back. Usually, they're more than willing.
An expert answerer doesn't always [and frequently doesn't] need a perfect question to provide a good answer. So, if they're asking, it usually means that they or anybody else needs the info.
However, some OPs do take offence at being asked to post more information, even if it's needed. Sometimes, a further explanation by commenter as to why they need more info gets OP over this. Sometimes, OPs drop the question at this point. I can only surmise this is due to ego crush, even when it's an angel asking. Some OPs do have a sense of entitlement that if they post a question, it should be answered--quick. They're also the hardest to get adequate info from.
And, sometimes, it appears [to me, at least] that OP thinks the code they held back [even if not proprietary] is too "special" to "give away for free". They never say this outright, but, after several rounds of multiple commenters asking for additional info, that is not provided, what other conclusion does one draw? This is more likely to happen with newbie programmers or newbie SO posters (e.g. "I'm working on my first singly linked list implementation, but mine is going to be special and revolutionary for the world").
So, I will continue to post answers. Yes, I do "work" for "points". But, I also, in addition to getting my answer "accepted" [worth points], I frequently get a comment from OP: "Thank you! Everything is now so clear". And, that, as much as anything else, is the reason to do it.
It's what allows me to continue through the minefield of SO's version of "The Good, The Bad, and The Ugly"