I am somewhat active in the Stack Overflow community, and among other things, I find it an very interesting case in behavior, partly due to the reputation system that they've employed. It also makes me worry about the community of software developers that currently exists. Jeff Atwood, one of the creators of the site, famously talked about the 20% Programmers, as referenced in this other post:
There are two "classes" of programmers in the world of software development: I'm going to call them the 20% and the 80%.
The 20% folks are what many would call "alpha" programmers -- the leaders, trailblazers, trendsetters, the kind of folks that places like Google and Fog Creek software are obsessed with hiring. These folks were the first ones to install Linux at home in the 90's; the people who write lisp compilers and learn Haskell on weekends "just for fun"; they actively participate in open source projects; they're always aware of the latest, coolest new trends in programming and tools.
The 80% folks make up the bulk of the software development industry. They're not stupid; they're merely vocational. They went to school, learned just enough Java/C#/C++, then got a job writing internal apps for banks, governments, travel firms, law firms, etc. The world usually never sees their software. They use whatever tools Microsoft hands down to them -- usally VS.NET if they're doing C++, or maybe a GUI IDE like Eclipse or IntelliJ for Java development. They've never used Linux, and aren't very interested in it anyway. Many have never even used version control. If they have, it's only whatever tool shipped in the Microsoft box (like SourceSafe), or some ancient thing handed down to them. They know exactly enough to get their job done, then go home on the weekend and forget about computers.
There is no better demonstration of this than in the Stack Overflow community. On that site, you have the 80% programmers who ask the most basic, mundane questions, that are easily answered by a simple Google search, and then you have the 20% programmers who are kind enough to Google the answer for them in return for "reputation". In many cases, no Googling is necessary... we just know the answer.
It's an interesting study in instant feedback and gratification. It seems that there are a whole host of people who, when faced with the simplest of problems, refuse to do even the most basic searching for an answer. Instead, they head over to Stack Overflow and ask the question. Odds are that within 30 seconds they'll have a correct answer. Often times that question has already been asked, and Stack Overflow will even tell you about potential duplicate questions as you are composing it. But despite this help, people would rather ask their own version of it.
On the one hand, it is a tribute to how useful and well designed the site is. Think about... in 30 seconds, you can have an answer to a question. And yet... in 10 seconds you could have found it yourself. So what did you get in exchange for those 20 extra seconds? Confidence. If you really don't know the answer, then a Google search may give you the correct answer in the top couple of hits, but how would you really know? With the community vote system on Stack Overflow, you have a distributed fact checking system at your finger tips.
And yet, when you answer the same basic question over and over again... it really shakes your faith in the programming community. Are there that many programmers out there who don't know the difference between a Static and an Instance method? Are there that many programmers who don't know the difference between and int and a float? What does it say about programmers who would rather have answers spoon fed to them, rather than go out and discover the answer themselves?
I'm all for being helpful. I like to think the answers I've provided on Stack Overflow show that. But at a certain point in time, I wonder if it's really worth helping some of these people.