I've seen this kind of post before and frankly it's annoying. The typical template is "I tried to answer 2 questions and didn't get 1000 points so it sucks" or some variation revolving around faster answerers or whatever.
Rather than being a problem, SO is a superb solution for the person asking the question because they do get fast answers.
Compare this to forums or mailing lists which I abhor as a means of asking programming questions. You'll often get no replies or useless replies (eg a bunch of people who don't understand the problem telling you that you shouldn't be doing that or asking you why) or the right answer might be buried on page 17 when the thread descended into an OT discussion on page 7.
There are certainly low-hanging fruit on SO (reputation wise) and people do compete for those. In my case, I used SO to learn things because of the quick feedback loop you got when you said something demonstrably wrong.
Now I barely go there because whether there's something to answer or not is pretty random and I really don't have time for the waiting game anymore. Other priorities now.
But to complain about a system where there are too many people answering questions is, to be perfectly blunt, ridiculous and narcissistic ("what about me?" rather than what about the asker).
Also, the questions are, for me anyway, a lot less interesting. For a lot of topics, they've now been covered. New questions are rarer and cover increasingly edgier cases. So you're reliant on new languages, tools and problems, which doesn't seem to come at the same pace the earlier questions did, which were basically backfill.
Let me also say that there is an art to answering questions on SO. The OP bemoans the quick answer getting the points while you write a thoughtful answer. My response? To paraphrase Steve Jobs, "he's doing it wrong". SO teaches you this.
If the question can be answered in one line, this is what you do. If more comments will add to the value of the answer, explain deeper issues or perhaps help in cases not necessarily directly relevant to the OP but possibly relevant more generally, then you edit your answer as you go, adding as necessary.
And if you think you can't write thoughtful answers on SO, you obviously haven't looked at some of the great answers that are there.
Stack Overflow became and is the best place to get answers to programming problems because of the community it has been able to build. There are always competent people ready to provide an answer and they do it quickly. However, the problem is that the community is difficult to participate in. You need rep to do anything and you don't get rep until you do something. You also need to compete with a lot of other people in order to contribute usefully, which makes the barrier even higher. Ultimately, this undermines the community, which is what makes Stack Overflow good.
You can say that these effects can be ignored because answers are still given and you'd be right. But the difficulties do exist. I have enough rep on SO now to do most things (maybe not down-voting), but it was hard to get, so I can attest to what the OP was saying. I can only imagine it's harder now after the community has grown and rep inflation has kicked in.
This prompts the idea: is there some sort of way that new users could quickly and reliably gain a minimum amount of rep by doing a bit of maintenance on the site? Say, flagging spam or suggesting correction which must be approved by someone with lots of rep? If this is possible, why don't more people know about it.
I _can_ provide insight.
every once in a while I find somewhere that I can provide some value or insight, whether via editing an answer with a url that's out of date, a comment expanding on the answer, etc... and it seems like I never can.
I don't care to jump through the hurdles to get to that point. I didn't come there to ask a question. I didn't come there to sift through questions to answer.
I came looking for something. I stumbled upon something where I could provide value and was shut down because I have better things to do with my time than to jump through hoops.
It's fine for the power users who want the world to see their rep, or the people trolling for questions regarding their pet projects. It sucks for the casual user.
So, yes, in theory the rep hurdle is quite low. I've just got better things to do with my time. -- Which I already wasted trying to help someone in the first place.
Worst of all, my question went unanswered, and the bounty was just claimed by the system.
I haven't earned back enough reputation to be a normal user again, although I have stumbled across many SO questions/answers that could use my insight. Since I can't use the site correctly, I just leave.
It sucks for the casual user.
Which I already wasted trying to help someone in the
Programming is my full time job and I ask questions on SO somewhat regularly when I get stumped, and occasionally peruse for questions I can answer, but I don't make any efforts in particular to raise my rep for its own sake, and I just reached 100 rep after being a member for a year. I feel like I fit into the 'casual user' camp that he's referring to in the OP since I'm still pretty limited in my participation even though I FEEL like a somewhat invested member of the community. But I don't think these issues would really apply to you at your level of activity (and kudos to you for that, btw :) ).
You're right that the system can't know my insight. But the community can. It is a community right?
I'm cool with going through some sort of approval process. If it means that it takes a few extra minutes for my changes to get in then so be it.
The way I view it it's just a particularity of the way Stack Overflow has been set up. I think cletus is correct - rep cannot be your goal or you're bound to get frustrated as the OP found out.
Peter Programmer knows Python very well and is a highly skilled programmer, but there is a rep hurdle Peter can't pass because there are already tons of eager Python programmers answering every question at least as good as Peter. This means SO doesn't need Peter or his contributions. At all.
If your contributions are unique and useful, you pass the rep hurdle easily.
So I trolled the "new" queue for five minutes, found a C++ question, answered it, and POOF, I had some rep. It helps that I know C++ REALLY well.
Eventually those Android answers started getting upvotes, and now I have somewhere around 400 rep, which is enough to do what I need.
The badges bust me up. It's like a video game -- for programming questions! In any event, being able to comment and vote on answers was what I wanted.
This isn't that bad since I can still be part of any discussion, but it makes feel unwelcome and a little frustrated when I see something that should be downvoted.
However, I'm quite happy to use my time and energy to tend the garden and pull weeds, and plant something new when I happen to have a really great seed. HN and SO both tell me they don't want me there -- fine, their sites, their rules. But I do feel this encourages a high noise to signal ratio, eventually clogging the site and making it less useful.
SO had been out of beta for a 4-5 months before I really started answering questions. I had dipped my toe in the water a couple of times prior with varying results: one particularly successful answer, several unsuccessful answers.
Granted, now is not a few months after launch. Questions tend to be more esoteric, there are more question snipers/campers and so on. But IMHO the same principles still apply: be quick and be concise. You can expand a concise answer with a longer answer but you can't usually ignore the concise answer.
Now some consider that a bad thing. Me? I think it trains people how to give good answers and not just for SO but in their work life in general: front load the information people ask for and then expand on it.
As for getting the initial rep: getting rep to vote to close and so on takes awhile but do you need that? The more annoying levels are when you can't comment or upvote. That you can get fairly quickly just by asking 1-2 questions if not answering them.
My own experience is that newbies who ask good questions or give good answers I (and others) will upvote them simply to get them past these points (to about 50 rep).
As for the barrier to entry and community aspects, there are issues here. In fact, I raised this very issue 1.5 years ago  and I still have mixed feelings about it.
Ultimately though, an abundance of answerers I don't consider to be a problem. With attrition, others will replace them. I'd only worry if no one is answering.
I don't see the value of SO is being in the community per se. Not in the same sense that the value in Quora (IMHO) is entirely in the community (which presents real long-term risks).
What SO did well, which obviously affected the community that grew around it (and Joel has spoken about this), is that it made bad behaviour hard, something people would actually complain about. Example: a common complaint is that SO makes discussion hard. Well, that's actually kinda the point. Discussions are 99% noise in the context of Q&A. SO allows good answers to float to the top with the voting mechanism.
Remember: rep isn't an end, it's a means to an end. It's also a way of solving problems that would otherwise require human intervention. For example, the minimum rep for editing answers. This isn't a de facto claim that a certain rep threshold means you know what you're talking about. It's simply a way of expressing the site's trust in you, as a contributor, rather than attesting to the accuracy of your technical knowledge.
Better that than Wikipedia-style revert wars that require constant mod attention.
SO is an excellent system for askers and answerers of programming questions. I'm simply unconvinced that this models translates well to other areas (as per the StackExchange model for other sites).
I've never tried to participate in Stack Overflow as a hyper-active question answerer, but as a sometimes-user of the site who ends up there via Google often when performing coding question searches, the site still suffers from what has been dubbed "The Fastest Gun in the West" problem. I can usually find answers that are at least a useful starting point to solving my core problem on Stack Overflow but they are very often not the top ranked answer and are often way at the bottom sitting with a 0 rating due to having been posted "long" after the question went live (and by "long" after I usually mean like the next day). The top rated stuff is often superficial junk answers that just happened to be the best available when the question was still a hot one.
So I'd argue that even from a non-poster's view, the site is broken (because I have to dig through it more than I should have to) though still ultimately useful.
For example, glancing at my top five answers, one of them was posted the day after the others in the question and got four times as many votes as the next top answer. I remember that at the time I wrote my answer, a very low-quality answer from somebody who didn't know Ruby very well was accepted, but now mine is accepted and the other guy graciously deleted his.
And that one's still getting votes. People come across those old questions and vote the good answers up years later. So the site can correct itself as long as people are willing to do that.
Oddly enough, I created the account specifically to upvote the answer that solved my problem of which another member had asked about, but I am unable to do so until I submit a problem of my own that has not already been answered.
Something that would have kept me there is something along the lines of this:
If I could filter questions by minimum rep, I could look for questions that aren't by complete noobs - and the noobs are getting into the 2-5k rep range now owing to repeated asking of simple questions. It would be more stimulating to answer questions that stump expert users; as it is, I fear that the site is driving away these people post haste.
A more explicit version of my motivation for asking is in the original version:
... but it was downvoted as people seemed to be misreading me.
It's those hard questions I love StackOverflow for (and there's no rush of people sniping them).
You want an even faster answer?
Ask on IRC.
As far as programming questions go, freenode is usually the best place to go (with a minority or apps and projects off on some other irc networks, sometimes).
That said, HN, forums, mailing lists, usenet, and SO are usually better for preserving answers for others to learn from once the question has already been asked by someone else.
The quality and depth of the answers can sometimes be better in these other media that are more well suited to longer, uninterrupted, essay-like answers.
On the other hand, that's not always the case, since on IRC there is a much higher level of interaction and you also have the ability to interrupt the speaker and ask for clarification on any point, with immediate feedback.
As a very rough analogy, I generally find IRC to be more like having a real-time spoken conversation with a teacher (or teachers). Whereas those other media are something more akin to correspondence via letters and email.
Of course, you don't get upvotes or points for answering questions on IRC. But the system works very well anyway. And, honestly, who really cares about these silly tokens anyway?
Having spent a long time on IRC, I can attest to seeing many people's questions getting answered there constantly, and usually (on the active channels, at least) very quickly (ie. often within seconds or a minute or two). Fifteen minutes is usually considered a long time to wait in an active channel for an answer to a question that isn't really obscure.
Of course the likelihood of an answer decreases with the obscurity of the question, the lack of popularity/appropriateness of whatever it is you're asking about, and depends on when and how you ask the question. The same goes for any other medium of communication.
I'm happy that you've had a positive experience on SO, and sorry that you haven't had much luck with IRC. But that doesn't mean that your experience is a typical one.
This attitude of yours says more about your lack of experience with and appreciation of IRC than it does about its relative merits in respect to SO.
As to inexperience, I'll admit I've only been on Efnet's #help since 1997-ish and Freenode since around 2005, but that's still much longer than I've been on SO.
You have no idea how devs actually function then.
Almost every open source project that is active and of a certain size has an IRC dev channel where they hash stuff out.
I've worked at more than one company where dev and ops idled in private IRC channels as well.
Nearly every time I asked a programming question on IRC I've had bad experiences with arrogant users who think you're wasting their time with your noobness. Now of course I don't believe that everyone on IRC is like that, but it's really the last place I'd recommend for newbies.
EDIT: Incidentally, freenode is also the home of the unofficial HN IRC channel (#startups).
Some channels, like #help (or most other channels with the word "help" in them, like #linuxhelp) are especially patient with newbies.
That said, it certainly does help to know and follow IRC netiquette , and know how to ask questions.
 - http://www.catb.org/~esr/faqs/smart-questions.html
But you're right about the searchability of SO. That is one of the strengths having a good, searchable archive of questions and answers. Forums, some mailing lists, and Usenet also share that strength, to some extent.
On the other hand, some IRC logs have been published, and google search results do sometimes happen upon such public logs.
You can also keep your own long-term logs, just by turning on logging in your IRC client, and leaving your client idling in the channels that interest you.
It takes time not effort, but I think that's the point.
Occasionally I see an answer there that is mostly right, but has one or two things that are not quite right. My first impulse is to add a comment--except I am not allowed to add comments.
edit: That's not necessarily a bad thing, and I don't think that "StackOverflow sucks," but it does means that it sucks for new users trying to become useful contributors.
Next, you criticize him for being narcissistic but forget to detail that the SO site is built around reputation, which is an INCENTIVE system for encouraging/discouraging participation, and thus actually encourages narcissism. After all, most people on that site are essentially working for a form of virtual currency to their personal brand. How much more narcissistic can you get? It's all about yourself, with an illusion that you're there to help others. Whenever reputation systems are in play, it's likely impossible to leave narcissism completely out of it. It would have to be anonymous, but even then, some people are still narcissistic privately.
Then, you go on to mention that the questions are less interesting to yourself (how is that not more about yourself than the posters on the site?)... I mean, the hypocrisy is thick here.
Sure, the OP is being critical of SO, but he brings up some good points. He's not really whining about not getting 1000 points after 2 posts. It's evident that he's used the site for a reasonable amount of time and then made some observations that he just can't deal with anymore.
You're obviously smart, perhaps more than most. Perhaps a more constructive reply to the OP of the article makes more sense than simply tearing him down? He makes good points, from his perspective.
I personally see the degradation of SO due to these problems. Less experienced developers can only earn reputation by knowing more than they do, because they are unable to ask repeat questions on simpler topics. Newbies still continue to do it, and thus the site is flooded with repeat questions, and more experienced users get annoyed and condescending. There is no warm culture there, and it's purely self-administrating, other than by some reputation filters. Contrast this to HN where PG and others help to continually curate the community personally and not just with software implementations.
Writing a thoughtful response takes time, and when 7-10 other people are writing thoughtful responses, don't you think that's a bit discouraging? Especially when you think the subject matter is less interesting as you have progressed?
If SO wants to grow a good community, they're going to have to make some serious changes.
Actually, I have made similar experience also on SO when a question becomes a bit more special. I hate it to justify why I want to do it this way. But I was told that it's just the way it is on SO.
(I've even found my own answers via Google when I have forgotten how to do something)
That is SO's first and foremost use case. And I reiterate - it works extremely well.
The community features are secondary to that (it's not Quora), and there are thousands of users who will tell you that it is not 'impossible' to use.
I've asked two questions (C#/.NET so there's a large pool of potential answerers) and neither question ever got the answer it deserved, even though both got answers from genuine experts (Jon Skeet and Eric Lippert). I found the answer to my first question on some MSDN blog after I asked on StackOverflow, the second question is still unresolved.
And now, some people experience problems with SO. This opens an opportunity for something even better than SO. I wonder what that would be?
A (hopefully) more common workflow would look something like this:
- a developer googles a problem, the StackOverflow answer floats to the top, and he notices this is a particularly good answer.
- this keeps happening, and the developer gets impressed
then one of two things happens (or both):
- he googles a question, and finds an old question without a great answer, and adds an answer. Yes, old questions don't get as many upvotes on their answers, but they do get upvoted, and at 10 points an upvote, it doesn't take long to get to 50.
- he googles a question and doesn't find an answer, so he posts a question
Neither of these require any rep, and you only have to do it once or twice with a good question or answer to get to the magical 50 karma. And 50 karma is the only milestone that matters on StackOverflow, in my opinion.
And as far as I'm concerned, gaming Hacker News to get karma is much more useful than gaming Stack Overflow. 500 karma is required to downvote, and it takes a long time to hit 500 karma.
Of course, now that I have the 500 I rarely downvote. I wish I would have known that earlier. :)
In my opinion, PG should adopt the Stack Overflow downvoting rule (you lose karma for downvoting), and lower the required threshold. It's hard to tell if downvoting is being used more for good than evil, but it's definitely used to express opinion more often than it should be.
Hard question? Here’s some loser’s gut feeling of “can’t be done” in exchange for +2 karma, and then a knowledgeable follow-up a day later from someone who has actually been there, done that, and figured it out.
Example: Someone with 82k karma posts a non-answer rudely telling me I should be using another technology altogether, a cheap and worthless move that earned +2 karma: http://stackoverflow.com/questions/4696128/bash-script-deter...
So often it’s apparent people are just throwing best-guess answers out there for karma, and this is hugely unhelpful. There should be a large penalty for stating incorrect guesses as fact.
It’s to the point where I instantly mistrust any answer from someone with over 10k reputation as I learned there is a good chance they are just shooting from the hip for karma.
The system seems to work. The top-voted answer is the one you accepted.
A million points gets you what? An award for most wasted time?
I wish HN had an option to turn off points on an account, I can't even block it with adblock because there's no element id.
There's more to life than meaningless "points".
When I started coding it was a certain Jon Skeet that was helping out almost everyone on the C# newsgroups including the newbie coder that was myself. I'd like to return that favour to the community and points are a close equivalent to one's helpfulness.
In any case, one can reasonably argue that stackoverflow actually HELPS one get work done faster. Many times a thoughtful response to a pointed question saves hours of fumbling around with unclear documentation.
For the folks doing the answering, there is a strong benefit that comes from writing down some cogent prose. NOTHING solidifies expertise in a subject like helping or teaching someone else.
I was actually contacted by a certain multi-national company who specializing in search and advertising off the back of my SF contributions, to suggest that I might like to apply for one of the openings they had at the time. They contacted me (rather than the other way around, I'm not even job hunting ATM) which is as exact opposite of being put off by someone's contribution to that family of sites.
If they take high rep on those sites seriously (from a beneficial view point) then I'm guessing many other companies with similar positions to fill will as well. Links to my SF and SU accounts are certainly going on my CV next time I am properly job hunting.
Although quantity is important too -- even if it's not a definitive answer, a partial answer is better than no answer to the questioner. It's just that when I'm hiring, those definitive answers really indicate somebody who knows what they're doing.
[edit: answering here because there are several good responses, who are all right. The most important thing to do as a potential important employer is to read a few answers rather than just blindingly accepting the karma. You can't do that for everybody, but you can do it for your shortlist.]
The question was easy. Since a large number of people felt that they could determine the right answer and thus voted for it.
The answer was well written. Good this is what we are looking for.
The question was somewhat political. People tend to get in there and vote when they feel strongly about the answer.
The question was about something mainstream. Pretty much the same reasoning behind the is easy question. Playing a numbers game requires numbers. Answering questions about the factor programming language isn't going to net you a huge rep no matter how eloquent you are.
Except some sites start recognizing that the work you put in on Stack Overflow actually means something about you (beyond wasting time on line). Case in point, my latest startup (http://letslunch.com) specifically recognizes HN karma and Stack Overflow karma. "because you're worth it" :-)
Hmmm. I wrote it for FireFox and haven't used it recently, after switching to Chrome, but it appears to install in Chrome too (oh; but the total top right is not removed - am looking into why now).
Note - it also "unhides" most greyed out comments.
Most of the questions I answer these days on SO are outside my areas of expertise, but I know enough to know where to look for information that can help me come up with an answer.
And even in answering noob questions you at least get practice in understanding people who don't know enough to articulate what they want and in writing clear, concise, simple answers. Both of those skills are valuable to any software developer.
Now, I can understand if you have a question you need answered having it answered in a relevant way by experts is great. And if you can help someone else, that's great. That helps float all boats. But what is the drive to collect points? I don't get the point thing. On HN either, I just don't get it.
The only major broken part (IMO) of SO is that the SE network is becoming so disjointed and your rep doesn't transfer between sites.
By design, I would argue. And a good decision, too.
To use a facetious example just to illustrate my point: without separate reputations, one could build up a huge reputation on http://apple.stackexchange.com/ and then use that influence over at http://askubuntu.com/ to provide a mediocre answer.
This mediocre answer could then get upvoted to the top by those who do not know a better way purely because of this user's reputation. Meanwhile the perfect answer provided by a newcomer to the SE network may remain hidden in second place.
N.B. I think the "bonus" reputation points that can be transferred are a way of addressing this imbalance while pushing people to use other SE sites at the same time.
Now THAT would break the system.
Edit: I created an account on Cooking, and it gave me the linking bonus everywhere. I guess I hadn't created accounts on any Stack Exchange sites since reaching 200 rep on one of them.
Putting rep aside, I don't even know what all the other development-related SE sites are, let alone can be bothered to monitor them all. This means that there are interesting questions I'll never see because I only visit StackOverflow.
I don't see how people other than complete SE junkies are supposed to stay on top of this site creation and forking extravaganza. Good for them, but I don't have the energy.
If I have demonstrated I'm not a spammer by having a solid score on SO then I should be allowed to post a comment straight away on cooking.
That's the reason for the 100rep liking bonus - it's a grandfather clause
edit: I was asked a question which was perfectly answered by rtg. Should've provided more substance, but I wanted to endorse this as being exactly what I was talking about.
But, in the C question, I provided some more information by adding a comment instead of editing my post. Result? Comment deleted with a snotty note. In the Objective C question, I called the language "Objective C" instead of "Objective-C". Result? My question edited to fit someone else's idea of good style: http://stackoverflow.com/posts/2669817/revisions
It's that last one that really gets me. Someone with more karma gets to put words in my mouth? And my name gets left on the edited post? Wow. Done.
I get why they allow it, they want the site to be more searchable. And in a way I'm glad, because I get a lot from reading answers to things other people ask, but I will never again write anything there myself.
Keep in mind that StackOverflow isn't just about answering your question; it's about providing a large searchable knowledge-base so others with similar questions can easily find ready-made answers.
Like it or not, collaborative editing of this kind is a cornerstone of the site, and is explicitly addressed as part of the FAQ.
People are not computers, and we're touchy about stuff we write. If you want to add a tag to my question to make it more searchable, fine. If you want to let me know I have a typo, or used the wrong word or something, whatever. Just editing someone's question, especially for subjective writing style, comes across as rude.
If it's not supposed to, or if the rest of that community doesn't mind, I'm happy for them. But it's not for me, and it's not for a lot of other people either. So, I agree with the OP.
It's a really poorly-thought-out feature: new users who can't write coherently get taught that they don't have to, because someone will come along and fix it for them; new users who can write are more likely to be annoyed by other people playing copyeditor on their posts. Guess which group sticks around?
But just to be clear: When somebody edits your post, it's noted on the post and anybody who's curious can click to see what they changed. They are not "putting words in your mouth." They are cleaning up the question so it is more useful to others (and will get you better answers as a bonus).
Form a cabal of vote sharers, who always vote for each other's posts. Post a bunch of semi-plausible content once a day and you'll have tons of karma in no time.
Post quick responses that have little insight. You'll always get votes for being first.
Post LOTS of trivial questions. More people will upvote than will downvote on the whole.
However, plenty of people do feel that it's worth it, and certainly the barrier to entry keeps out (some of) the griefers that inevitably show up in online communities.
For me, participating on SO is like the Weather Channel. I've got another other things I could be doing rather than waiting for "Weather on the 8s" to come around.
It's quite likely that a user Googling for their particular issue might find an incomplete or out-of-date answer on Stack Overflow. When they finally solve it they are unable to improve the existing entry, which is unfortunate as for many "long tail" problems they are best placed to contribute.
Firstly it's accepted by the questioner - who by definition knows the least about the subject, otherwise they wouldn't be asking!
Even if it is correct and well written - then it stays accepted years later when it's no longer the best way to do something.
I wish there were a feature whereby as a question-asker, you could say "I've dutifully read all the provided responses, and none of them answers my question. Marking this as 'unsolved'".
And then the "unsolved" questions would not count against your percentage in "accept rate". When new answers come in, you'd need to go back and re-evaluate whether or not the new responses answer your question or not.
The original idea of publishing askers' accept ratio is to encourage people to "give credit where credit is due". But it also has the unfortunate side effect of encouraging people to accept sub-par answers at times.
Apart from that I love the site, and hope Jeff makes a bundle (or at least a happy existence) from it.
Never happened to me. Sometimes I even noticed that the author had deleted the original wrong answer and left a positive comment on mine.
I think if SO is hindering you into getting a good rep, probably you don't have enough domain knowledge.
PS: I've been there since the beginning and I still got 114 rep. I love the place because it has gotten me solutions at times without even asking.
Other than that admittedly nitpicky detail, the article is accurate and provides insight on a problem that I, too, have experienced. However, I don't think that StackOverflow is broken, I just think it's overcrowded. And for a question-and-answer style website, isn't that a good thing?
1 Upvoted Answer (+10) and 1 Upvoted Question (+5) or
1 Question Upvoted (3 times) (+15) or
3 Upvoted Questions (+15)
(It is actually 14, since you start off with 1 rep)
That is really not a lot of activity/work needed from an individual.
Most likely a next user would have seen the answer on rails and voted by now.
Or are you using it as a tool to discover solutions to programming problems?
I'm a complete coding noob (http://www.7bks.com/blog/179001) and along the way to learning programming have relied on StackOverflow for about 10 questions.
For every single one I have received complete, thorough, helpful and patient answers. In short, I could not be happier with SO. As a beginner it's been a phenomenal resource both for searching and for answering specific issues.
The post makes the point that newbies can't answer questions - and for me this is one of the reasons the quality of the site is so high. If you let anyone answer then you don't know how good quality the response is. As a beginner how am I to know if a given answer is correct?
Of course, any community site still has problems like this and SO is not immune to it but IMHO this is one of the ways they keep the quality bar higher than any other Q&A platform out there.
Exactly :) Stackoverflow has built-in breaks to control growth. Maybe HN could benefit from this ;)
Given this (and I'm no stranger to accumulating high levels of karma/followers/whatever by natural participation on sites) I only use Stack Overflow as a user now and rarely answer anything. It works great for that and I can sift through the answers and pick the one that works best while ignoring the score. It's clearly not for me in terms of participating fully but I can live with that.
I would actually argue that Stack Overflow works great. This article is an excellent example of how their badge system creates a strong desire in their user-base to contribute answers to and participate in the site. Maybe I'm just weird because I could care less about karma and just want to get my questions answered (by the karma obsessed trolling the new questions list :).
Man, money is too hard to get. I wish this damned CEO wasn't getting a 600k salary + bonuses. Blog post upcoming.
If I hit a wall while working on a problem, I toss into the gladiator pit known as Stack Overflow, and after it has been mawed to pieces by a bunch of brilliant people, I stop by and get my answer and can continue whatever I was doing. Usually this all happens in the time it takes for me to get some coffee and maybe take a short walk.
It is a beacon of hope and joy to someone who has wasted too much time in the past trying to find the answers to hard problems.
So they are at each-others' throats trying to out answer other users so they can increment up a point counter. Gamefication is a great motivator, and I am happy that I don't have to use the typical motivators of begging, pleading, or -ugh- paying for quality technical support.
Emotional reactions to the competitiveness is the success of a very well designed game that has the outcome of great answers to problems that are typically hard to find.
Fast forward to today, and now there are a critical mass of people willing---even eager---to answer questions, so that every new question has a surplus of answers, many of them wrong. SO might well improve their signal/noise ratio by reversing their policy and requiring higher karma for answers than they do for commenting. As the poster points out, a newb is unlikely to come up with an answer not already posted, but nonetheless might have some unique experience or insight on that answer that could be helpful.
If you look around the top contributors to the python tag you'll realize there is a lot of room for people to submit good, thoughtful answers. If you take the time to write something good then it will get voted up and if that's what you want you'll be all set.
It seems like no worse of a way to spend your time than anything save perhaps reading a good technical book and let's face it there aren't very many of those.
So it feels like questions that move down in the queue with a few proposed answers are basically dead.
I find it amusing that SO's creators chose the term "reputation" for their participation points, as opposed to "karma" or something else, because in this aspect it's pretty similar to real-life reputation. When supply is high, it's hard to gain reputation without gaming the system. That's not SO, that's life.
Don't get me wrong - I love the fact that there's a place I can go to ask a question and get it answered by knowledgeable people. But what does that have to do with points? If people want to help each other, then great. If not, then don't.
Newsgroups used to fill this role quite well without points, but came with all sorts of negatives (as detailed above). The benefit of the Stack / Quora stuff is that you don't have to wade through irrelevant stuff to find what you need. but points?
My only concern is that I think the exchange community might get fractured/diluted if there are too many separate stack exchange sites.
On the surface it seems to make sense: People who are helpful/insightful get lots of karma.
In practice, it fails on two fronts:
First, karma systems in and of themselves work based on popularity, under the mistaken idea that popularity = correctness/insightfulness/suitability. Quite often, the most insightful or thought provoking ideas are unpopular (or speaking the truth is unpopular). What you get is a system that automatically filters out the ideas that the majority are unconfortable with, and so you end up with an echo chamber which doesn't admit new ideas.
Second, the policies formed around the karma system grow biased AGAINST new users over time, which leads to community stagnation:
The initial couple of years are great. The early adopters are all eager to participate in meaningful ways, and build a thriving, vibrant community.
Then the gamers join in. They learn how to game the system to gain points. They do this just to show that they can.
Closely related, the karma whores move in. Their sole goal is to gain points for self-worth. The community is meaningless; points are everything.
As the gamer's techniques become more widly known, the spammers move in, automating the techniques to promote their spam, and the cat-and-mouse game begins, usually at the expense of making things more difficult for the users. These measures are almost always done with consideration of the already established user base, using them to determine what a "normal, real" user is like.
Once you hit this point, it starts to become prohibitively expensive for a new user to join in, thanks to the biased notion of a "normal user". Stack Overflow is a prime example of this, where you have to jump through all sorts of crazy hoops just to be able to even comment or gasp edit your own question because upon re-reading, you decide it's not as clear as it could be.
And so you complain. But people don't like complainers, so they all jump on you and say "It's not so bad! I went through the red tape and so should you!" and "If you don't like the red tape, there's no place for you here!"
There's a word for this: Bureaucracy.
As a service provider, you should be doing everything in your power to make things MORE accessible to new users, not LESS accessible. You should be ENCOURAGING participation, not throwing hurdles in their way. New users are fickle. Their first experience on your site will largely shape their perception of it forever. Start them off with a bad experience and they'll refuse to participate. Rampant bureaucracy is a sign of severe failure in the system.
The easiest entry is to ask a good question. The next time you run into a poorly documented problem, do some research, and eventually work out an answer, reformulate it as the question you wish Stack Overflow contained and ask it. You can always comment on things in your own question so you can guide the answers if they are going wrong.
• Two question up votes and you can vote things up.
• Five and you can comment anywhere
NOT participating in SO is neither a solution to your problem nor a decision that a pretty smart guy would take.
Give it a shot buddy! and I am sure you will NOT write an article about how awesome SO is because you won't find the words to describe SO awesomeness.
But, then I decided to give SO another chance just now. I posted two answers and in ten minutes got enough upvotes to get me out of the 15-rep new-user jail.
So consider my mind changed and I don't see what the big problem is, now.
It is ironic to hear it from a guy who complains that he can't comment without enough reputation points on a site visited by millions.
Really bad, bad article.
As it happens, I've come up with an algorithm that would solve the most common problems with Q&A sites (included the ones cited in this article) and am in the process of building a prototype.
Admittedly, I don't participate in StackOverflow that much right now - I sort of go through an ebb and flow where I get really gung ho about answering questions, then it sort of wears off for a while - but this guy sounds a lot like he wants to game the system, and is only in it for the points.
I'm not trying to put words in Jeff/Joel's mouth, but I think the "answer before you comment" system is constructed the way it is so that noise can be reduced. By that, I mean that the system wants you to actually contribute something to the site to get used to how it works before you can "join the discussion". Comments aren't downvotable, presumably because they don't want to silence dissenting opinions in a discussion, and the average comment doesn't get upvoted at all. If anyone could just walk in off the street and leave a comment, you would end up with a bunch of "YouTube comments" being left by random passersby.
For a newbie, your only way to contribute to a question is to write an answer. Answering has a different social contract than does commenting. When you answer a question, you are expected to provide, well, an answer! If your answer is incorrect, then it will be downvoted to distinguish good information from misinformation. Downvoting is a way of saying "this content is harmful", and this is a perfectly valid response to a bad answer, but not a valid response to a bad opinion (i.e. a comment you disagree with).
If the OP provided answers on StackOverflow and was downvoted, then his answer most likely was simply wrong. I haven't seen many, if any, correct answers with negative scores on StackOverflow. The system tends to be fairly self-correcting in that respect. If someone is downvoted wrongly, there is more often than not another user who will upvote the answer back to zero. If the OP is simply lamenting that he isn't receiving upvotes (in contrast to the idea that he's being downvoted, which is a separate concept), then maybe his answer simply isn't as good as he thinks it is, and the "flawed answer" he wants to comment on simply isn't that flawed.
If the flawed answer is indeed flawed, then there is no harm in adding a new answer. Simply write your own detailed answer and include evidence explicitly proving that the current top voted answer is incorrect. When you post an answer, the site will kick the question back to the front page of the site, so you should get the opportunity for your "correct" answer to get exposure, and if it's any good, it should get upvotes.
What I take the most issue with in this article, however, is the OP's lament that any question he wants to answer is already answered. That's the whole point of the site! If the question is already answered, then the system is working. The site doesn't exist for answerers to get points; it exists for askers to get answers to their questions. If a question gets a lot of responses, that is a Good Thing.
Now, OP used to have a valid point about having a lot of "in progress" answers being posted. This was the so-called "Fastest Gun in the West" problem, and was solved by modifying the site to display same-scored answers in a randomized order. At this point, an "in progress" answer which doesn't yet provide enough value shouldn't have any upvotes, and therefore a new answer would have the same opportunity to be viewed as that answer. If you get your answer into a steady-state first, then you will get upvotes and you will get views. If someone else does, and gets upvoted, then at least the asker will get a proper answer to their question. If you're complaining about other people giving "minimum viable answers" which nonetheless help the asker, then you're probably just "rep whoring".
For my part, I tend to answer questions in the same way. I'll quickly add an answer which provides a technically correct answer that at least gives the asker enough to finish the answer on their own (for example, "This can be accomplished using the some_function function" is enough of a hint that it's useful - the asker can look up the some_function documentation and learn for themselves). Once that answer is in place, I'll go back and edit the answer to include links to the documentation (I'll usually save at this point), then add a thorough explanation of how the answer works and how to use it.
I've been commended by askers and other users for my in-depth answers to questions, and I've even beaten the "horde of already submitted answers" due to my quality. O a few occasions, I've come to a question that already had 5+ answers with "minimal correct answers", some of which have upvotes, and have written an answer with a lot of detail which ended up either the highest voted, or accepted by the asker (or both).
Basically what I'm saying is that if you're only trying to be a "rep whore" then yes, the system is against you, but that's a Good Thing. If you're in it to actually help people, then taking the time to write a detailed, quality answer is the best way to go, and it'll often net you points to boot.
You are correct that the answer you linked really wasn't one of my best. I suppose that answer is a good example of failing to see the forest for the trees (rather, I didn't see "the trees for the forest" in this case).
When I read that question, I interpreted it incorrectly as being an issue where the textarea was formatted specifically for the screen, but that needed to be resized for printing. I then generalized the problem to "print styles" in general and gave an answer to that.
I went through a period in Nov./Dec. where I spent a lot of time answering questions on SO. I gained somewhere around 2000 rep in that time from my answers. Other than the question you linked, I was only downvoted on one question, but I deleted that answer when I discovered that I was wrong (specifically, I misinterpreted an svn feature I've never used, and my answer appeared to work on my single-user repository).
My point is that I actually take/took pride in crafting an answer which explains exactly what's going on, and how to fix it. Really, I don't care about gaining reputation on StackOverflow, and I'm offended by the accusation that I'm a "rep whore" when all I've ever tried to do is help folks, and I try to go "above and beyond" with my answers to make sure the asker is clear on what's going on. If I dropped the ball on this question, I'm sorry (since you seem to take this question personally), but I think it's more an outlier than the norm.
Gordon, you downvoted my answer and left a misleading comment because you
assumed that a user wouldn't edit the textarea? For shame. Your solution is
not "pure CSS" but rather uses PHP to duplicate a textarea and then
hopes that the user doesn't its content before printing.
To phrase it differently: Try to avoid being the guy from this Xkcd. http://xkcd.com/386/
Epic fail at life.
And you don't see how that's significantly better?
I know it is tempting to gain reputation points by answering simple questions.
Simple questions will have tons of responses.
Instead try to pick the tough ones and answer them.