Meta Stack OverflowWhy do programmers help each other without pay?
[+30] [51] jrhicks
[2009-09-17 14:09:33]
[ discussion motivation ]

Why do programmers help each other without pay?

What are some analogies to other professions?

(1) @Mehrdad:… ...covers some of the same ground, and… could almost be considered a subset. - Shog9
(54) One of the best ways to learn anything is to try explaining it to someone else - Rich Seller
(4) If this belongs at here all it should be in Community Wiki... - Nathan Taylor
(1) should be community wiki - Samuel Carrijo
(1) Feels like a meta question to me... - 0xA3
(2) Man I butchered the grammar on that comment. :( - Nathan Taylor
(10) What in the world is this question supposed to do on meta? - balpha
(2) Maybe Welbog is trying to send a secret message? - balpha
(4) People are apparently really suggestable... this definitely doesn't belong on meta. - Powerlord
can it be migrated back? is SO the right forum? or should it be closed? - Rich Seller
No, it can't be migrated back, for reasons only Jeff knows, and if it belongs anywhere, then SO. - Ladybug Killer
(4) How is this not StackOverflow/StackExchange related? This is a question about why the StackExchange idea works at all. Why do ANY technical experts give away the knowledge that they could be paid for. They are increasing their own competition! - devinb
(1) @devinb: Is this question Stack Overflow related: "Why do so many websites render links in blue? e.g. Google, Facebook, Stack Overflow, Coding Horror, craigslist" - balpha
(3) It's a human behavior / psychology question. Belongs on - Shog9
@Rich Seller: I agree, it's a way of the poster to flex their muscles. Day to day work challenges are minimal but when the challenge arises what do you have to offer. It's almost the equivelent of physical training in the armed forces. - Chris
(1) You seem like a really nice guy. Despite that this question really belongs on meta. Maybe that's an answer: SO contains less noise. - GvS
possible duplicate of [Why do you help in stackoverflow? ](…;) and Why do programmers help each other without pay? - Gnoupi
Sorry, I didn't know about meta.stackoverflow. And yes, this question seems to be a duplicate of the aforementioned ones. - New Talk
[+63] [2009-09-17 14:12:30] JRL

For a lot of them - they're doing it from work - so technically they are being paid lol :-)

I heard someone say they don't put their Microsoft "MVP" on their resume for such a reason... - Chris
Confirmed, me too. Lots of MVPs at SO that prefer not to disclose it. Most of them. How it got that way is a long story, but boring. - Uphill Luge
[+40] [2009-09-17 14:13:47] Nathan Taylor

To get more Stack Overflow rep.

(1) Woot! 1000 rep! - Nathan Taylor
(7) Over 9000! - Randell
[+27] [2009-09-17 14:33:10] warren

Because it's fun.

I like learning from other people, and if I can contribute back, that's cool.

But really, for me at least, it's fun.

[+19] [2009-07-27 16:13:12] David Stratton

I help because people on Stack Overflow have helped me. Returning the favor seems only right.

+1 when I get 15 rep and come back. - Bratch
[+19] [2009-07-27 16:24:27] Welbot

I do it for purely selfish reasons.

I'm tired of seeing really awful code in production systems. If I can do a little bit now to help bad programmers do a little bit better, then maybe I'll have fewer fires to fight in the long run or when I switch to different companies.

one of the best reason. - Sanjeevakumar Hiremath
[+18] [2009-07-27 16:36:30] Jon Skeet
  • I like helping people. It's a good feeling to know that you've made someone else's life better.
  • I like doing things I'm good at - don't we all? I'm reasonably good at explaining things, and I know a reasonable amount about the subject matter of SO, so...
  • Yeah, the rep and badges help too. It would be stupid to deny there's an ego boost.
  • It shows me what other people are having trouble with. This is good both in terms of extra-curricular activities (writing) and it gives me a heads-up about what I might run into myself one day.
  • It's a great way to learn more about a topic: pick a question which you don't know the answer to, but think you can work out with a bit of research. Everyone wins.

(3) +1 for "It's a great way to learn more about a topic". I've learned a lot from lurking SO and as someone who loves learning this is a big reason why I read it, but not so much why I participate. - Welbot
I tend to learn more by doing than reading - but questions give me a direction in which to explore :) - Jon Skeet
[+18] [2009-09-17 14:14:12] Josh

I like to help people out because as much help as I give, I also take.

[+17] [2009-07-27 18:41:23] Andrew Moore

To tell you the truth... StackOverflow feels like a game to me.

I browse the site, filled with puzzles I can solve and I get points for solving them properly. Yes, sometimes you get beaten by someone with a less thorough answer than you (I like to answer in the most thorough way possible), but it is very rewarding to see you have helped someone solve their puzzle!

Also, for the past week, I wasn't able to sleep until I had hit my 200 cap on SO.

[+12] [2009-09-17 14:12:25] Stevo


Some things are more important than money.

I can't link to other professions as I don't know them, but I believe this is a general human trait.

[+12] [2009-09-17 14:13:23] user136030

I believe, that helping out a fellow programmer allows to both build credibility for yourself and improve your overall understanding of the underlying problem, programming language, etc.

[+11] [2009-09-17 14:14:34] Matt Hamsmith

The non-selfish reason is simple professional courtesy. There have been far too many times in my career when I have a problem that I just can't get past, but a different set of eyes finds the solution immediately. If I can be that set of eyes for someone else, I'm happy to help.

The selfish reason is self-promotion. Pro bono help here and there can build reputation (in the general sense) which might lead to new contracts, book deals, etc.

[+10] [2009-09-17 14:12:42] James

To show off....its all about the rep

(5) Definitly. Takes dating to whole new level. I can't wait until I can offer "Want to come to my place so I can show you my diamond mod tools?" - Filburt
[+7] [2009-09-17 14:30:17] MarkJ

Because they need a "third place" besides home and work. They might tend to be working hard and not have much free time, so virtual communities are attractive. Like Joel said in 2003 [1].


Must. Resist. To. Mention. Company. Content. Filter. - Filburt
[+6] [2009-07-27 16:33:04] Shog9

Like Welbog [1], i'm tired of seeing poorly-written code. I'm also tired of seeing poorly-written questions on other forums. I don't ask a lot of questions, anywhere - I google them first, and chances are i'll find a match. But it's also rather likely that the match i'll find has been asked so poorly that it has failed to garner any useful responses*. So my goal when i signed up for SO was to gain enough reputation so that i could edit such questions, hoping that others would do likewise. Having done so, i tend to only answer questions that interest me in some way - i'm not especially entertained by the rep game.

A side-effect of these motivations is that i consider "Don't do it" a valid answer [2]. I don't care that your boss is forcing you to build a routine that punches users in the face, and told you to build it using nothing but cryptically-named global variables for state... If there's even a slim chance that i'll ever have to use such software or look at such code (and since all Q&A is public, that chance is pretty good...) i'm going to do my best to dissuade you. Selfish? Yes. But i don't think SO needs to be yet another site packed full of bad ideas and ugly hacks - again, there's always the MSDN forums if that's what you're into...


*The MSDN forums are particularly bad in this regard. Often the only response will be a request for clarification and a link to an article on the general topic - apparently, MSFT folk are unaware of how flaky MSDN links are...


(4) MSDN links are the real WTF. It's like the documentation team forgot that if you can't find documentation you can't use it, no matter how good it is. - Welbot
(2) +1 for linking to Welbog. - Hilarious Comedy Pesto
I like linking to Welbog, because unlike linking to MSDN the links still work later. - Shog9
(1) Also I'll agree to the way I answer questions now. I'm tired of answering the same questions the same way over and over. It's sufficient to me that a question has a good, correct, non-WTF answer. Who cares about rep? The benefits of having a repository of good answers to common questions severely outweigh any perks I can gain from having a high reputation. - Welbot
[+5] [2009-07-27 16:48:51] user132422

In Spanish we say: "hoy por ti, manana por mi", which roughly translate to “Today I can help you, tomorrow perhaps you could help me”.

[+5] [2009-09-17 14:20:00] JDunkerley

That warm feeling when you get the accepted answer on Stack Overflow.

(2) In contrast to that other warm feeling when Jon Skeet points out the flaws in that answer. - Filburt
[+5] [2009-09-17 14:27:37] Rob Allen

I love what I do. I want other people to enjoy it too. It's hard to enjoy something when you've been stuck in the same rut and banging your head against the same problems over and over. When you finally find a solution to the problem, the avid programmer wants to share it with the rest of the programming world.

Answering questions here also advances the art of programming in general and will hopefully create better programmers who will then find and conquer increasingly difficult challenges. Its how we as an industry grow. The last Hanselminutes podcast with Uncle Bob [1] touches on that to a certain extent.


You are right, it helped me to be much more productive. - Sergey
[+5] [2009-09-18 10:31:27] Wim ten Brink

For me the reason is simple. By sharing my knowledge for free, I will hopefully encourage others to share their knowledge for free too. Thus, I share a little and gain a lot back from the community for a simple amount of generosity.

I'm old enough to remember the time when the Internet was still a little infant, crying for it's feeding bottle. To learn something new, you had to go to school or buy a book or visit the local library. Gaining new knowledge was slow and sometimes expensive too. When I learned about SQL back in 1988, I had an advantage over others simply because working for IBM gave me access to some of their resources about a technique that was extremely new back then. Learning more about programming in general meant that I had to subscribe to several magazines and hope they would contain some useful articles. To make things more complex, I lived in the Netherlands where such magazines were very limited, thus I had to order them from abroad, making them even more expensive.

The Internet took away the borders for sharing knowledge. As a result, people started to share their knowledge, hoping the Internet would become a huge, cheap knowledge tree. And that's succeeding extremely well even at a point where publishers start to get into problems because no one buys their dead-tree magazines anymore. (And almost no one is willing to pay for subscriptions when the same information can be found somewhere else for free.)

Furthermore, sharing your knowledge will grant you a bit of fame, for which you can be recognized by others. Share a lot and your name becomes well-known at the Internet, making it easier to get a new job and some interesting offers. (Share your email address online and you'll be spammed into oblivion, though...) Just consider the number of companies that are analyzing the topics here at SO/SU/SF/Meta just to find some good candidates.

Sometimes, the things you share online can be used against you, though. If you e.g. share knowledge about how to pick locks, make explosives or your personal view on the monarchy in Thailand and why it should be abolished then you might end up in legal problems.

[+5] [2010-06-09 13:10:23] BenW

By helping others learn, you teach yourself, also nice to see if there are better ways of doing things than a suggestion you have made

It is great when you take your best shot, and then someone comes along and takes a far, far better shot. Because then you steal that shot and add it to your arsenal. Your answer becomes a gauntlet thrown down to trick people smarter than you into helping you on your path to WORLD PROGRAMMING DOMINATION. - Tom Anderson
[+4] [2009-07-27 16:17:01] JoshJordan

A large part of my help is to return the favor. I know the pain and difficulty associated with having a programming problem, and the relief that can be garnered from receiving a practical, proven answer from an experienced developer. Its much more useful and complete, in general, than spending hours pouring through documentation. Also, there are questions that documentation just can't asnwer. Others have done this for me, and, even if I viewed it completely selfishly, I need to do it for others just to help the community go 'round and have my questions answered in the future.

It also helps me realize which questions I can answer confidently. If I can't give a solid answer to a question that I am ready for others to criticize, I need to read the answers that come in!

[+4] [2009-07-27 16:18:02] millimoose

My feeling smart[1] lobe is wired to my pleasure centers.

Also, reputation is like crack cocaine.

[1] resp. being a smartass :)

According to my friend, you win a cookie. - user131465
(2) CrackOverflow . - Won't
You've hit the nail on the head. I am a confirmed smartarse; SO is one of the first situations i've been in which rewards me for being a smartarse. - Tom Anderson
[+4] [2010-06-09 13:12:39] John Burton sums it up for me :)

(2) I can't access xkcd here, but I bet that's the one with "somebody is wrong on the Internet" - am I right? - Amarghosh
Interesting, that's the first time I ever interpreted that particular comic in a positive light, as opposed to assuming that he was flaming or trolling someone. - Ether
@Amarghosh: it is "Someone is wrong on the Internet." - Peter Mortensen
@Amar, I wish I could give you rep for calling that one from memory. Oh well, a +1 to your comment is just as good. - Popular Demand
@Popular @Peter Thanks for confirming :) - Amarghosh
[+3] [2009-07-27 16:15:48] Lance Roberts

What comes around goes around. Always.

Maybe in some karmic sense, but in this life, right here and now? Not always... - Yar
(1) In the long run. For the appropriate definition of the long run. - Scott Wilson
[+3] [2009-07-27 16:40:57] Chacha102

I help because I like rep. (Don't we all?)

But, there is always that voice in the back of my head reminding me that sometime I'm going to have a really big problem on a project, and there is going to be a bunch of people on StackOverflow that can help me, while simultaneously debating whether the question belongs on Serverfault.

But first and foremost, I like rep. :P - Chacha102
BTW .. That was SARCASTIC. - Chacha102
(1) If you don't like Sarcasm, please upvote this post so we are clear on whether sarcasm is allowed:… - Chacha102
[+3] [2009-07-27 18:48:28] bobobobo

Putting answers on the web. SO is an answer archive.

[+3] [2009-09-17 14:32:16] Christian

There are professional mailing lists in a lot of different domains such as journalism [1] as well.

Scientists are even more extreme. In a lot of cases it costs a scientist to publish a paper. They don't work directly for money but they work for reputation and get funding based on their reputation. Scientists also have mailing lists.

There also the factor that programmers are usually more likely to use technology such as mailing lists, IRC while a lot of other professions are much more likely to pick up the phone and call someone.


thanks for the reference to other industry. - jrhicks
Don't quite understand you point about scientists. Academic scientists only keep their jobs if they can publish papers. Scientists writing papers is like programmers writing software. The mailing lists are a good analogy to stackoverflow, I don't see where the papers come in though. - MarkJ
[+3] [2010-05-29 01:28:29] kubilayeksioglu

Because of the very same reason why people are editing articles in and writing articles to Wikipedia [1].


[+3] [2010-05-30 01:43:58] Joe

Because I might have to work with you some day.

[+3] [2010-06-09 13:10:44] tanascius

This site just makes you addicted ... reputation ^^

But it is very interesting to just follow the activity of a few people (top users like Jon Skeet for instance [there are more ... but Jon is just example #1] or MS employees like Eric Lippert) and see their answers to challenging questions. Great insight!

[+2] [2009-07-27 16:14:43] Lloyd

Just for Fun :)

[+2] [2009-07-27 16:14:50] shahkalpesh

Learning & Helping others.

Sure, I do want to be high-ranked. But, my area of knowledge is shallow, I guess.
There are others who have very in-depth knowledge of things & they are good people to learn from.

[+2] [2009-09-17 14:20:56] Pierre-Alain Vigeant

Because you learn by helping other. And knowledge is valuable.

Sometime, the feeling of doing a good act by helping someone let you clear your mind and focus for the rest of the day.

As for the analogy, just think of a plumber who tell you how to unclog a pipe that is blocked by ice. He just told you how over the phone and he didn't charge you.

[+2] [2009-09-17 14:21:21] Troggy

Because programmers are the only people who completely understand programmers, their mindset, the issues they face, and sometimes you just need help. It is nice to relate to fellow peers.

[+2] [2009-09-18 02:42:26] Unknown

For the females of course.

There are females here? I always thought my yacht attracted them, not my reputation here. :-) - Wim ten Brink
(1) If you're going to insist on calling them "females," I'm not sure any amount of rep will help you.... - Popular Demand
[+2] [2009-09-19 20:44:00] wcm

You can make utilitarian arguments and you can make spiritual/religious/karmic arguments. Strangely, both arguments resonate with me.

I do it for selfish reasons (rep) and because I believe what goes around comes around and I believe in the golden rule and, most importantly, it makes me feel kinda good.

[+1] [2009-09-18 02:14:37] Mark Rushakoff

Another thing is that you're not just helping one other programmer; you're effectively creating or adding to an extremely large knowledge base, thusly helping the community.

For nearly every programming question I Google at work or home, there are about 3-4 StackOverflow links on the first two pages of results, and probably at least 75% of the time at least one of them answers my question.

The way I see it is: why not give back a little?

[+1] [2009-09-18 02:19:48] Randell


(3) We don't need no stinking badges - MarkJ
[+1] [2009-09-18 03:50:46] bobobobo

To put down the answer somewhere so you can refer to it later

[+1] [2009-09-19 20:17:25] John Lockwood

I do it to make me look smot.

[+1] [2010-05-29 00:32:02] Chris

I think it's a way to flex your 'Programmer's' muscle. Day to day work problems are not that often or intense. It's almost akin to physical training in the army. They don't need to run every day in combat but they're ready because they 'trained' up. I see a problem on a forum and I don't know the answer but could figure it out, that's one more merit badge under my belt

[+1] [2010-06-09 13:20:02] Il-Bhima

I would say a desire to help, this is on what old groups like sci.math and comp.sci existed on. However I think its the reputation system that makes the difference. Without it I would just post a link to some site which would help the poster. However, knowing that I'm somehow going to get something in return (recognition in this case) drives me to actually write a nice answer.

This [1] video is by a games designer who initially talks about gaming modern social-network based gaming, but he goes on to why scoring systems like Xbox achievements were a success and how these could be extrapolated in the future (ex getting points for brushing your teeth in the morning, getting points for walking more, etc). I guess Stackoverflow provides one such motivational system.


[+1] [2010-06-09 14:29:47] Randolpho

To succinctly expand (heh!) on @BenW [1]'s answer:


Jeff Attwood's recent blog post [2] reminded me of Dan Pink's talk on drive and motivation, which boiled down to three things that motivate us:

Autonomy, Mastery, and Purpose.

It's an awesome talk, and I highly recommend it. Lately I've been thinking a lot about the talk and I've realized (or perhaps been persuaded) that my own motivations fall along those lines. And one of the best ways to achieve mastery is, as @BenW suggested, teaching others so that and in doing so I teach myself.

I can't yet claim mastership like Jeff and Joel and Jon Skeet, but I'm working towards it and Stack Overflow is part of it.


[0] [2009-07-27 16:15:06] splatto

Ranking doesn't really matter to me. I don't frequent the site too often but when I do come around to ask a question of my own, I like to try to answer a couple if I am so able. Who knows, maybe it's good for karma!

[0] [2009-09-18 02:50:21] Paul Nathan

Information exchange mutually helps them in their skills and knowledge of the field. It is to their(our) mutual benefit over time to share information.

[0] [2009-09-18 09:09:45] RameshVel

Because you are going to get paid very well and become popular (you share, you learn, sometime you taught)

ultimately all the learning will get you the better job with better pay... :)

[0] [2009-09-20 00:42:41] Brian Ortiz

Because they want other people to help them for free as well.

[0] [2010-06-09 13:10:59] David M

I'm on the other side, answering far more than I ask. But that's because most of the questions I've wanted to ask have already been asked, and I use SO a lot to find answers to things like this. I answer questions to give something back.

[0] [2010-06-09 14:01:36] delete

I use the site to learn and get new ideas. That is the motivation for me. Other people's programming problems tend to be quite boring after a while.

[0] [2010-06-12 10:33:08] Carlos Heuberger

I learn a lot from SO (and some other sites) just by following the questions and sometimes trying to answer one or another question.

analogies to other professions:
the teachers of the gliding club [1] I am (not a real profession) also teach without any pay. The only reward they get, despite spreading their knowledge, is being airborne and collecting flying hours.


[0] [2011-01-16 16:51:24] R_Coholic

I answer posts because:

  • it's brain exercise: when you solve interesting problems posed by others, it helps you improve your own skills.

  • to learn from others: sometimes you think you had the right or best answer... Until someone comes along with an even more elegant answer that you did not think of.

  • let's admit it: getting your rep score up does feel like a game, except that it's not something mindless like Angry Birds ( most popular iPhone game).

  • satisfaction when you get appreciation for having helped someone

[-1] [2009-09-19 22:47:46] Chris S

A lot of it is CV++

CV = Curriculum vitae, I presume. - Peter Mortensen