More Evidence That Programmers Aren't Smarter Than Other People
So Google App Engine(GAE) came out and it has generated quite a buzz in the blagosphere especially surrounding the idea of sharecropping. But that isn't want I want to talk about. I want to talk about the growing amount of evidence that strikes down the idea that programmers are smarter than the average person.
There is a certain mythos surrounding the idea that some of us can "talk to the machines," while others cannot. This misunderstanding has been capitalized by many programming types to act in a condescending manner against the people who do not know about computers. This has led to the mistaken belief that programmers are smarter than the average person. This is not the case. Programmers are humans like everyone else who have chosen to study an area very deeply. Many other humans have chosen to study other areas deeply as well, for instance, have you ever met a sculptor, or a advertiser, or a politician? Every area where people are engaged they are studying things at a deeper level than average. This deeper level of study does not make them smarter, it just means they have more contextual information. Now that I've introduced this flawed belief of programmer intelligence, I'd like to offer some evidence that caused me to write this article.
When Google release their App Engine, they made a Google Code issue tracker for it. This tracker has since, at the suggestion of Google employees, become a dumping ground for feature requests for GAE. One feature, which I was particularly interested about--being a ruby programmer--, is Ruby support. Now Google Code ranks issues on the issue page by the number of people that have starred an issue and starring an issue lets you receive updates when the issue's status changes (i.e. the feature is implemented). Unfortunately this also means you receive comments every time someone comments to the thread, and unfortunately as well, there are a lot of average Ruby programmers that showed up on this issue thread. The result is that since I have starred the issue, I've received over 300 emails from people who have written comments that say:
Yep that's right, that's all it says. I've been receiving them at what seems like two a minute, though that's an exaggeration. People have tried to quell the mob of idiots by numerous posts telling people to stop, and that it only counts if you star it, but no one listens. They just keep posting "+1" by the hundreds. While these actions were surprising to me, they should not have been. People are going to keep following the crowd and writing plus one because they are people. Programmers aren't different or better. Programmers are still humans.
One last thing I'd like to say that is probably the reason programmers have thought so highly of themselves and in some cases acted condescendingly to non-programmers. I believe that computer programming is an essential skill, along the lines of literacy, and speaking. The reason I categorize it with these is because, just like writing, reading and speaking, programming is game changing. With computer programming people can take an idea and propagate it massively and automatically. Properly programming something can change the way every other human who interacts with that program behaves and lives. This is powerful stuff that shouldn't be relegated to one group of skilled persons.
Anyone with programming skills can work to automate their job of doing menial tasks. For example, when I worked at Caterpillar as an engineering intern, they had about 3 people who's primary job was to make charts and give presentations to management about these charts. The charts graphed the quality of the machines we were shipping and the manufacturing defects that were caught. I noticed that these 3 people were spending at least 3 hours a day using excel to generate these charts. So I created a Visual Basic program (the only programming language I had available to me) to generate these charts automatically in a fraction of the time. The reason I bring this up is not that I think these people should have been writing programs to do their graphs for them. I bring it up because what if they could? What if they could sit down and automate the task in front of them, and then move on to doing other useful activities for the company.
This behavior of automation of jobs at the lowest level is why I say programming changes the game like reading, writing and speaking. When people at the lowest level learned to read and write it changed the game. Literate people can communicate much more effectively with their peers and get their ideas across to a lot of people. This idea automation through literacy is paralleled by task automation through computer programming. Look at what this means, just as you can't have an elite group of scribes that does all your information dissemination, you can't have an elite group of programmers to do your job automation. The idea of a programmer as a skill or trade needs to be broken down before we can see the true gains in productivity that computers promise.
So I kinda jumped around a bit here, I first cut down programmers to average, then I said, "wouldn't it be great if the average person knew how to program." I guess those ideas a bit hypocritical but they both serve to explain why I think that programmers aren't as elite as they signal to others, and that others need to learn programming. I can hear it every time someone goes, "ooh I'm not good with computers."
Questions or feedback? Email firstname.lastname@example.org.