I can guess, that to the most of Meta residents I looks like no more than some irritating rascal, only good for raising unrest and harassing people.
That is not so true.
Great most of time I spend on Stack Overflow, writing useful and polite answers silently, without disturbing anyone.
So, this my job, along with some recent discussion, led me to a question:

What does Stackoverflow do to encourage writing of good answers?

Please note, this is NOT a question of sort "what is your self motivation".

This is a question of 2 parts:

  • What does Stack Overflow do to encourage people to write answers in general?
  • Same as above but for good answers that require some considerable efforts?

Only 2 possible things come to my mind:

  • Most obvious one: a reputation.

Beside of the fact that this virtual number being totally useless itself, it doesn't work either. (an example has been removed as at attracts irrelevant attention)

  • Another one: May be, some support from the authorities?

Sure. The only support you can get is mostly in the form of barking. Stack Overflow is good with whips but what about carrots?

While many people think that answering questions is just a sort of fun and entertainment, for the good answer it is not so true.

A good answer requires

  • some time to get into question's conext (most people even have no idea of that, their answer just triggered automatically by a keyword found in the text).
  • some research
  • some time to write a code, run a code, debug a code
  • some time to write an explanations
  • for the non-English speakers it takes more time to write in English

Also, it requires some skills:

  • some knowledge on the matter
  • some experience to judge if particular knowledge is applicable to the particular question.
  • some experience in answering questions and educating noobs. A noob require completely different answer than a pro. And just a pro can't answer noob's question properly. A perfect example can be seen in this question: 75k rep guy failed while I succeeded because I understand what is behind the scenes of the phrased question and how to explain it.

So, by bringing these skills and considerable efforts, what I get in reward? Some "narcissism" and vague possibility to get a better job by showing an employer my enormous rating (If I ever consider to find one, as Joel says in his book only 30% of programmers constantly seeking and the rest 70% just doing their job)?

Okay, to make this question more personal.
I am not really asking for the rewards. Don't make me that greedy. But what about support?
I often hear that I can be more valuable to the community if I rein my temper.
I dare to say that I am already valuable to the community. At least to these members who got enlightened by my answers. Real good answers.

But how a community being valuable to me?
Do I get any help when a question being swarmed with self-appointed experts who have no idea on the topic, nor practical experience, who even didn't bother to read the question throughly but eager to share their ignorant 5 cents and got angry when I merely point that out?
Do I get any help when I see completely wrong and misleading answer but it just looks more attractive to the unsuspecting noob?
Sometimes I have difficulties in communication, I have to admit. Do I get any help in this? The only threats of throwing me out.

To back from personal mode.
What are reasons for someone to spend considerable time, efforts, intellect and nerve to educate a stranger whom he never will see anymore?
Is education and enlightening among this site goals at all?
What are these official goals, by the way? To answer most simple questions in most big numbers, it seems.

  • I think you should checkout my answer here as it is related to your question and I partially feel the same. – Octavian A. Damiean Apr 5 '11 at 10:33
  • 1
    That example with 8 upvotes is indeed painful. It's why I would support this close reason and not giving reputation for answers in questions closed that way – Pekka Apr 5 '11 at 10:42
  • Some of my previous thoughts on how to separate 'good' answers from 'quick' answers. If appropriate rewards could be built into providing the good answer, then that may help support this: meta.stackexchange.com/questions/73991/… – Kris C Apr 5 '11 at 10:45
  • +1 just because of "most people even have no idea of that, their answer just triggered automatically by a keyword found in the text". – Shoe Apr 6 '11 at 17:34

Dear Colonel,

You spend a lot of time on stackoverflow in tags that attract a very high volume of the clueless. Many people with little or no formal training end up 'programming' in PHP by oozing over from HTML. Some of them have worse problems than a lack of training.

You fairly clearly have a low tolerance for fools. Presumably, you didn't pick that user name for nothing. You appear to find clueness, stupidity, and laziness provocative.

This is not, if you ask me, a recipe for a happy way to spend time, and there's no easy answer -- certainly no answer related to the design of the site. I feel fairly confident in asserting that no structure of badges or reputation will stop steam from coming our of your ears when you read a question (let alone answer) that evinces acute foolishness.

Maybe you'd be happier leaving PHP alone, and looking for opportunities in other tags where you have some expertise?

All the tags have some level of nonsense, but the PHP tag is, to mangle Orwell, 'more equal than others'.

| improve this answer | |
  • Thanks. This answer appears to be thoughtful yet makes me ponder. – user145842 Apr 5 '11 at 12:06
  • 5
    This is a very wise and friendly answer. Although I'm not sure whether the PHP tag is that much more special than others... What I sometimes see in the Java tag makes me shiver as well. :) – Pekka Apr 5 '11 at 12:13
  • 4
    I agree, on these sites as well as in life: "Never argue with a fool, onlookers may not be able to tell the difference." Most of us have probably provided an answer only to have the OP come back with an even crazier question that shows they need way more help than just "how to do [simple task]". Or posted a correct and complete answer only to have a horrible work around chosen because they didn't want a correct answer, they wanted a quick fix. This is frustrating, but the system doesn't prevent these for several reasons. Your best bet is to avoid/ignore these situations/posters. – theChrisKent Apr 5 '11 at 14:55
  • Also, the PHP tag might be a little crazier, but it seems many of the tags get worse on the weekends/evenings (EST). I have no proof of that of course, but in my limited experience, the general question quality degrades and the level of appreciation for and understanding of good answers decreases. So, I generally avoid answering questions posted at these times because I'd rather not deal with the hassle. I don't want to stop these posters, but I can choose who to give my answers to. – theChrisKent Apr 5 '11 at 15:05
  • 3
    @Pekka's trolling account - Let's just face it. The PHP tag is in danger of becoming a ghetto. If we toss in the stuff you don't see due to mod intervention, yuck. – Tim Post Apr 5 '11 at 19:16
  • @Tim Fair enough - I can imagine. :) – Pekka Apr 5 '11 at 19:31
  • By the way, +1. – Tim Post Apr 5 '11 at 19:32
  • This answer makes me feel better about life. – Lightness Races in Orbit Dec 27 '11 at 20:44

While you may never have experienced this, I'd venture to say that a significant amount of the people in our community have at least once thought to themselves:

I wish I could quit doing what I'm doing and just teach.

Stack Overflow, along with the rest of the Stack Exchange sites provide experts with a venue to teach. This implies the learning aspect. Reputation is a nice incidental that also allows us to trust you with more abilities on the site, but the main reward in answering questions is knowing that you made life easier for your fellow programmer by transferring some of your knowledge.

How you transfer this knowledge dictates how well it will be received. That transfer might involve

  • Providing a well researched, tested and comprehensive answer to a question
  • Alerting someone to a flaw in their answer
  • Encouraging the question asker to wonder if they are, indeed, solving the right problem

Going through your questions:

Do I get any help when a question being swarmed with lamers who have no idea on the topic, didn't bother to read the question throughly but eager to share their ignorant 5 cents and got angry when I merely point that out?

You lost me at the word 'lamer'. It is extremely easy to mistake someone being candid with the intent of being helpful as someone being rude. As soon as that happens, communication breaks often to the point where it can't be repaired.

Do I get any help when I see completely wrong and misleading answer but it just looks more attractive to the unsuspecting noob?

Yes, you do from everyone else who spots the issue and expresses the same opinion through votes and constructive, friendly comments. The person suggesting that a question asker parse HTML with regular expressions needs more help from us than the person asking the question. You have to deliver that in a way that it will be digested, or you are just making noise.

Sometimes I have difficulties in communication, I have to admit. Do I get any help in this? The only threats of throwing me out.

I don't know how to better explain the term "be nice". Realize that egos are sometimes fragile and that you're communicating using a medium that does not provide diction or inflection. You won't please everyone, but you will avoid unpleasant entanglements with many if you consider how what you're saying will impact the other party equally with the point you hope to make.

What are these official goals, by the way? To answer most simple questions in most big numbers, it seems.

The official goal of Stack Overflow is to help programmers get better at what they do by collecting and organizing a huge sum of knowledge. That's pretty easy to gather from the FAQ.

The motivating force for each individual user is really only known to them, until they make it apparent through frequent and consistent contributions. Yes, some people seem to just enjoy the number under their name incrementing, however I'd venture to say that the vast majority of users with over 10,000 reputation participate because they enjoy teaching and receiving positive feedback from their peers.

In most cases, inaccurate information can be corrected through a polite, brief conversation and a subsequent edit. If you are finding this to not be the case most of the time, you might consider looking at where communication is breaking down.

| improve this answer | |
  • 4
    The comments on this answer have subsequently degraded into profanity laced point shoving contests. I have removed all of them, because removing just a few would result in a very broken conversation. Let's keep it clean, shall we? In the spirit of this answer (and in accordance with the rules), if you can't express yourself without profanity, please refrain altogether. – Tim Post Apr 5 '11 at 17:43
  • I'm not surprised it happened... – BoltClock's a Unicorn Apr 5 '11 at 18:05

I saw instantly where the "most valued by the community" argument breaks down first: the community is unlikely to value an answer in a niche subject, however good it may be. Even though arguably those answers are far more valuable than some trivial explanation of a basic Java concept, as they are much harder to obtain by other means.

At the end of the day you just bite the bullet and help for the sake of helping, or maybe a thank you from the person who asked the question.

Maybe a revamp of the bounty system would help, but I'm not even convinced about that.

| improve this answer | |

Maintaining a great programming resource

We all use and value Stackoverflow as a programming resource. Because we rely on the quality of answers when we're asking a question or searching for an answer, we know we must provide good answers when we're answering questions. You might say it is a kind of altruistic barter system.

Low quality content

When you encounter a bad answer you should downvote it if you feel that is appropriate. You may also want to leave a polite comment explaining why, and avoid arguing with the poster.

When you encounter a bad question you should do the same. Downvote and explain as you see fit. Often times you'll find someone asking the wrong question. I think the best way to handle this is to answer the question directly and also provide a better way of handling the problem. Or just walk away.

Be nice

Because Stackoverflow is a community of professionals helping each other, being argumentative, disrespectful, or just plain rude will cause everything to break down. If you rudely point out why someone is wrong, everyone will focus on the tone of what you said, not the content. Please avoid being rude, and simply avoid those who are rude. This will make Stackoverflow a better place, and will help encourage good answers by keeping the focus on content.

| improve this answer | |
  • avoid arguing with the poster. is the point where I fail, lol. The rest is inapplicable. I am being rude extremely seldom, at the last degree of despair. May be I should'n care that much.. But it cuts both ways - if I wouldn't care anymore, why to bother at all? – user145842 Apr 5 '11 at 11:26
  • 9
    @col you're obviously passionate about programming. That's a good thing. But consider this: many people around here only know who you are because of rude things you've said. Those things may account for a very small percentage of your posts, but they have gone a long way as far as your (real) reputation is concerned. A little bit of rudeness undoes a mountain of helpfulness. – user27414 Apr 5 '11 at 11:29
  • by the way, speaking of the real irony, not intended one, there was a question. repeated several times. But no matter if it was rude or polite, none of you, courtesy-crazy people ever bothered to answer, although being extremely polite and correct. That's what I call REAL impoliteness. That's why I'd prefer mere programmers over pompous courtiers who smile in your face with dagger in a hand. – user145842 Apr 6 '11 at 6:29

To speak for myself. I like helping people (as long as I have enough time), so that is enough encouragement to write answers.

And yes, the easy answers will get more upvotes because:

  • easy questions get more traffic so more voting potential.
  • easy answers are better understood, so there is more voting potential.
  • but with easy questions it is important to be first and right. Else you will miss the boat.
  • easy questions won't give you any bounty.

Hard questions don't attract that much traffic. So the opposite is true. Less voting potential. But fewer competitors. So it pays to spend some time (and possible some research) to answer the question. And the upvotes will come in the end. Just be patient.

Both kinds of questions are a different game. And yes, with the first it is easier to get rich soon. But you have to be lucky and visit the site often.

It would be nice if hard questions could generate more points, but it is extremely hard (not imposible) to automatically detect if a question is hard or easy. So that is not a feasible way to solve this.

| improve this answer | |
  • Well, I see: no carrots. Narcissism only. Thanks. – user145842 Apr 5 '11 at 11:51

What does Stackoverflow do to encourage people to write good answers that require some considerable efforts?

Nothing, though it would be more accurate to say that Stack Overflow doesn't do anything specific to particularly encourage great answers that require more than simple effort.

Stack Overflow optimizes for good enough answers to good enough questions with reasonable speed.

Just as in many areas, you have to choose between great, cheap, and fast, and you can only choose two.

Stack Overflow is Cheap and Fast. It also happens to be good enough, but it's not often great.

When you see greatness, and it actually happens many times a day on Stack Overflow, it's a perk of the system - an aberration due to an individual's peculiar commitment or extensive knowledge in a given response. It is nothing that is specifically encouraged or rewarded for.

The Bounty system does, to some small degree, attempt to cover this base (replacing cheap with great) but there are more great answers to regular questions than there are great answers to bounty questions. Great answers happen organically, and honestly I don't think there's a good way to encourage them without fundamentally altering the great/cheap/fast scale.

It's worthwhile pointing out that your question is handily answered by many people who responded to the FGITW question several years ago.

Lastly, and perhaps most importantly, Stack Exchange is a question and answer system. In all the examples you pointed out the OP received their answer, and got past their problem. They didn't need the comprehensive "great" answer that would take someone an hour to write. There's really no need to encourage people to write extensive texts on a given problem.

The system does take care of the simple case of the wrong answer - people downvote it. It only fails when there aren't enough eyeballs on the question to downvote it, but more importantly, the OP can test each solution and find the one that works so it hardly matters if someone posts a wrong solution. It's easy to test it out and downvote/comment once it's determined that it doesn't meet the needs of the op.

If you are looking for a forum where it's ok to abuse people who are wrong, you should consider usenet, where there's a long and varied history of experts battering the heads of lamers and noobs, and where such behavior is generally accepted as long as you are demonstrated to be an expert in the group. Personally I prefer a more mild approach, but I don't think you should be forced to fit into a round hole if you've found that sharp edges work well in your communications - just be aware that not all communities agree with you, and you may have a rough time trying to force your methods of communication on an unwilling community.

| improve this answer | |
  • I am not after great answers. But just good ones. But thanks. It seems nobody need them either – user145842 Apr 5 '11 at 17:39
  • 1
    I would say that the current system of badges and reputation encourages people to try. A handful of those people choose to subsequently improve, but I believe that is self-motivated. – user102937 Apr 5 '11 at 17:47
  • @Robert I think a lot of it depends on one's definition of "good answer". I believe that any answer which helps to solve the problem is a good answer, and in that respect Stack Overflow already excels, so we don't need more encouragement. However, since the OP believes that's not the case, then I assume he either wants "great" answers, or what he really wants is fewer "bad" answers. – Pollyanna Apr 5 '11 at 17:55

So, by bringing these skills and considerable efforts, what I get in reward? Some "narcissism" and vague possibility to get a better job by showing an employer my enormous rating

Ignore the reputation: A body of work on Stack Overflow can tell a lot about a programmer in a way that is difficult to find elsewhere: How they approach problems, how they communicate, what philosophies they have etc. That can be interesting when applying with an employer who knows their stuff, and really wants to check somebody out in a deep way.

You can usually tell what kind of a programmer somebody is by studying their contributions for a while - it's much more telling than a meaningless number, anyway.

That's one thing - and arguably only important if you are looking for work, or looking to participate in an Open Source project for example. Other than that, it's indeed mostly immaterial reward - some positive feedback, which I think is what you call narcissism; some respect from your fellow developers for your abilities; and whatever else comes from interacting with peers (like, learning about new technologies, how and where people work, etc.)

| improve this answer | |

You must log in to answer this question.