I recently read an astonishingly bad article by Tim Bryce on “managing programmers”. The purpose of the article was to help other IT managers better understand their software developers. Instead, the article just reinforces the stereotype of the “Pointy-Haired Boss” that inhabits the Dilbert comics. It actually scares me that this article was read by people who manage programmers. Let me give you a taste of Mr. Bryce’s idiocy:
Regardless of the image they wish to project, the average programmer does not have a higher IQ than any other worker with a college degree. In fact, they may even be lower. Most exhibit little imagination and require considerable instruction and coaching in performing their job. When they have mastered a particular programming task, the source code becomes a part of their portfolio which they carry from one job to the next. So much so, that copying or stealing source code is actually the predominant mode of development in most companies. Consequently, there is little original source code being produced in today’s software.
I’m not sure why he had to make the remark about programmers possibly having a lower than average IQ. Where is the data for that? First off, IQ tests don’t accurately measure intelligence. Secondly, IQ tests are all about problem solving, something a programmer has to do everyday. I’m sure your average computer scientist would score better on an IQ test than your average manager who knows nothing about science or engineering. In fact, here are is a break down by major of average GRE scores (not an actual IQ test, but close):
http://www.iupui.edu/~philosop/gre.htm
Notice that computer scientists rank higher than business majors in all 3 categories. I’m not saying computer scientists are super smart, but it’s certainly unfounded to make comments about them possibly having a lower than average IQ.
And the comment about programmers requiring “considerable instruction and coaching in performing their job,” that sounds like something you’d say when you’re talking about how to train your dog. Any manager that thinks that way is going to foster an unpleasant working environment. No one likes to be patronized.
Programmers tend to perceive themselves as free-spirited intellectuals who possess the magic of technology. Whereas the knowledge of the language is vital to performing their job, programmers often use it to bamboozle others and heighten their own self-importance. To outsiders, programmers are viewed as a sort of inner-circle of magicians who speak a rather cryptic language aimed at impressing others, as well as themselves. Such verbosity may actually mask some serious character flaws in their personality. Speaking in a foreign language may be amusing to a listener for awhile, but will inevitably alienate people over time.
The author’s contempt for programmers becomes pretty apparent here. “Magicians”? “Aimed at impressing others”? These comments sound almost like jealously. Here are some more gems:
“There are very few true artists in computer programming, most are just house painters.” – Bryce’s Law
Without basic organization and discipline, programmers will become mentally lazy.
Basically, the programmer’s task is to convert human understandable specifications into machine understandable instructions. From this perspective, a programmer can best be characterized as a translator.
This last quote states a gross over simplification. If some engineers were to build a car based on a list of features someone requested, would those engineers simply “translators”? This statement alone shows that Mr. Bryce doesn’t know what he’s talking about. There’s more to software development than simply translating human specifications into instructions that a machine understands.
It’s actually flabbergasting that someone who obviously knows very little about programmers would write an article in such an authoritative tone. Not surprisingly, Mr. Bryce took a bashing in the comments section of this article. In his final reply back to his antagonists he states:
These are the same people who believe corporate cultures should change to suit their needs as opposed to the other way around. It just doesn’t work this way.
Unfortunately for Mr. Bryce, supply/demand is such right now that programmers have a choice in where they want to work. If you want to run your company like an ass, the good programmers will go elsewhere. Maybe this is why Mr. Bryce has so much experience with the “house painters”.
As a final aside, here are some real tips on managing programmers:
1. Have a good understanding of the technology you’re using / developing.
2. Thoroughly plan out what you want before having your programmers code it up.
3. Make sure your programmers have plenty of work to do. As a plus, make sure this work involves some thought of their part.
4. Free soda. Maybe this is more of a perk, but I seriously think every office would be better served if there was an all you can drink soda fountain.
For those of you who are interested, here is a link to the actual article:
http://blogs.ittoolbox.com/pm/irm/archives/theory-p-the-philosophy-of-managing-programmers-4993
Good read, I especially liked the part where Jenny directed us to his website.
“Please vacate the Internet and take your 1990s web site with you.”
http://www.phmainstreet.com/mba/
haha, yeah, it’s a pretty campy looking website. I can’t believe he hasn’t tried to update / redesign it. Though he probably doesn’t know how, and I’m sure no one is lining up to help him.
Pat-
1) Hopefully I can do this, but you have to remember I sold out and became more of an architect. 🙂
2) I try to keep a tight schedule. I have more work for you than I think we have time together.
3) I fully trust your technical expertise and respect your opinion. You know you can always hit me up for more work. The last thing I want is a bored programmer – especially one of your talents.
4) This one is tough. I like the fountain soda idea. Lemmie work on that one. 🙂
Cool blog my man – keep it up.
Bubba.