Recognizing Programmer Breeds
29
January
Last week’s post about The Anti-team by Jemery Miller reminded me of a book I picked up a while back: Herding Cats: A Primer for Programmers Who Lead Programmers by J. Hank Rainwater. In his book, Rainwater offers
tips and management techniques on everything from code reviews to managing a distributed workforce. With good humor, he discusses dozens to topics which relate to a software manager’s every day.
Per Amazon’s Editorial Review:
While many titles on software engineering and management lean toward the theoretical, this book’s candid and practical focus help distinguish it from the crowd. It also helps that the author is a good writer and mixes quotes from a variety of sources (including Jack Welch and Andy Grove). This is one of the few titles to concentrate on the all-too-common problem of good programmers promoted to project leads, where management and people skills, rather than raw programming chops, will often determine success.
I recommend this book to software development leaders with a request that special attention is given to the section entitled “Recognizing Programmer Breeds.” Here, Rainwater “stereotypes” developers for the purpose of understanding and identifying ways to work with them. He groups the breeds into three categories: major, minor and mongrel. Majors refers to the most common types you’ll find in the workforce. The minor breed are sometimes seen, but not as frequently as the major ones. Mongrels, are not very desirable, but the do exist in the workplace, and as a result you need to recognize them. Mongrels can work out fine, as long as you help them build up their skills to overcome the weaknesses they inherently bring to the coding process.
As Rainwater notes,
Any individual can be an amalgam of the characteristics identified with a breed — this makes working with that person a challenge but well worth the effort. Programmers are a wonderfully complex people. Relish the differences and unique styles of each breed. You’ll probably recognize many of these traits the next time you look in the mirror.
Here are the developer personality types which Rainwater dissects in his book:
The Major Breeds
The Architecture
The Constructionist
The Artist
The Engineer
The Scientist
The Speed Demon
The Minor Breeds
The Magician
The Minimalist
The Analogist
The Toy Maker
The Mongrels
The Slob
The Intimidated
The Amateur
The Ignoramus
The Salad Chef
You may recognize a few (without having to pick up a copy of his book.)
Update: You’re in luck. As Jon Rowett points out, Recognizing Programmer Breeds may be found at Apress.com for free.



[...] Herding Cats - A primer for programmers who lead programmers looks like a good book (via Johnny Coder. You can read one of the chapters, Recognising programmer breeds, for free here. I’ve tried to relate to some of the more positive programmer stereotypes described - I think "Constructionist" comes closest to my perception of what sort of coder I am - but somehow I can’t shake the suspicion that I’m really a "Salad Chef": A love of cooking up software reigns here. This breed consists of a bit of the engineer, the slob, and a not-so-gifted artist combined, but the ingredients are out of proportion. The result is a smorgasbord of coding styles and add-on components, and a general disorderliness of code. It might look appealing, but one bite and you know you’re going to die. [...]
[...] Original post by bgriswold [...]