Saturday, April 30, 2005

Two types of programmers

There's a funny industry saying that goes: There are two types of programmers, those that think there are two types of programmers and those that don't. Well, for a long time I was in the former category and I got this from reading the old Robert Cringely book called "Accidental Empires". In the book Cringely actually says there are three kinds of programmers, but no one in their right mind would admit to being the first type. I was searching around the web and actually found the original excerpt from Cringelys book.



The two programmer subspecies that are worthy of note are the hippies and the nerds. Nearly all great programmers are one type or the other. Hippie programmers have long hair and deliberately, even pridefully, ignore the seasons in their choice of clothing. They wear shorts and sandals in the winter and t-shirts all the time. Nerds are neat little anal-retentive men with penchants for short-sleeved shirts and pocket protectors. Nerds carry calculators; hippies borrow calculators. Nerds use decongestant nasal sprays; hippies snort cocaine. Nerds typically know forty-six different ways to make love but don't know any women. Hippies know women.


In the actual doing of that voodoo that they do so well, there's a major difference, too, in the way that hippies and nerds write computer programs. Hippies tend to do the right things poorly; nerds tend to do the wrong things well. Hippie programmers are very good at getting a sense of the correct shape of problem and how to solve it, but when it comes to the actual code writing, they can get sloppy and make major errors through pure boredom. For hippie programmers, the problem is solved when they've figured out how to solve it rather than later, when the work is finished and the problem no longer exists. Hippies live in the world of ideas. In contrast, nerds are so tightly focused on the niggly details of making a program feature work efficiently that they can completely fail to notice major flaws in the overall concept of the project.


Of course this is mostly bull crap, but I still occasionaly use these categorizations as a mechanism for picking a strategy for interacting with someone. It's not perfect but at least it's a starting place.


Update: In response to Don's comment query I offer the following picture of myself from 1990, around the time Cringely's book came out.


Post a Comment
 
The Out Campaign: Scarlet Letter of Atheism