blog.onlysimpler.com

A blog... only simpler.

What Kind Of Developer Are You? - 19 March 2007

I've worked with lots of different developers. Some good, some bad, and some really, really bad. But everyone is pretty easy to categorize...

Political correctness note: The following paragraphs refer to developers as being male. This is simply to make the article a little easier to read and because I don't have the patience to type (s)he or his/hers everywhere. So don't make a big deal out of it.

Tongue In Cheek Note: Also be aware that this should be taken with a grain of salt, try not to take it too seriously. However, we all know there's a little bit of truth in every joke.

The Cobbler: The cobbler doesn't really like coding, he just does it to pay the bills. As a result, he as absolutely no interest in doing anything properly. He just beats away at the code, cobbling it into shape until the unit tests pass. Once he gets that elusive green bar, he checks it in and moves onto the next task. No time is wasted on comments or writing code that someone else may actually be able to read one day, that stuff just slows him down. If the tests pass then that's good enough. Cobblers tend to slow the entire team down as other developers often have to clean up the mess that they have left behind.

The Academic: The academic never actually gets anything done. He spends all day reading up on the latest design patterns and architectural best practices and running performance metrics against the code. Academics are typically very intelligent, and tend to write pretty good code. The problem is they rarely get around to actually writing any code. If they could just put down that whitepaper and get coding they might be able to get some work done! Academics are sometimes called "Mirror Men" as they are always looking into things.

The Modeler: The modeler is a close cousin of the academic, and gets about the same amount of work done. Typically a modeler has just completed his masters and thinks the real world is just like a university assignment. As a result, he spends much of his time drawing fancy diagrams that nobody either understands or cares about.

The Wannabe: The wannabe wrote some Pascal at high school and thinks that writing Excel macros qualifies a programming. His CV consists mostly of acronyms and he is convinced he's experienced in every programming language ever invented. Unfortunately, wannabes are typically clueless and cause more harm than good. Put them on a side project with the academics and the modelers to keep them away from your real code.

The Hardware Guy: The hardware guy is actually very useful to have around. He can build you a load balanced Linux cluster running RAID 5 in an afternoon with his eyes shut. In his spare time, he likes to dabble in programming. Unfortunately, he couldn't code his way out of a wet paper bag. But so long as you keep him busy building hardware, and keep him as far away from an IDE as possible you'll be ok.

The Architect: There are two kinds of architect - those that were once (and often still are) excellent developers and understand how software development works, and those that became architects because they sucked at programming. If you're unfortunate enough to work with the latter then you might have to sprinkle a little fairy dust throughout your code now and again to get their impossible ideas to work.

The Hacker: Hackers are usually far more interested in writing Linux device drivers for their cell phone than those boring projects thrust upon them by their real jobs. The good news is that they are often exceptional developers and if you treat them right, you might actually convince them to do some real work for you now and again.

The Old Timer: These guys are old enough to have worked with Von Neumann back in the day. Buy an old timer a few beers and he might just tell you a few stories about "the good old days" of programming with punch cards and lab coats. Old timers tend to fall into two camps. There are those who kept up with technology and know absolutely everything there is to know about computers. Be nice to these guys and maybe you'll learn a thing or two. Then there are the old timers who didn't quite manage to keep up. They often struggle to use a mouse and don't quite understand what this "internet" thing is all about.

The Consultant: The consultant works for one of those big clueless consulting companies that charges way too much for developers that deliver far too little. Consultant programmers often have arts degrees and don't know the first thing about programming. But with their snappy suits and a bit of charm, somehow they manage to sneak through anyway.

The Historian: Historians like to party like it's 1981. Their tool box consists of vi and the command line. They tried an IDE once upon a time, but didn't care for it, so went back to their pre-historic development practices. If you ever need to know how to write a vi macro then the historian is your man. However, if you need some code written any time soon, ask someone who uses an IDE.

The Genius: The genius is a rare beast. He writes readable, maintainable, well designed, stable, bug free code. Basically he just "gets it" and does things right. Not only does he get the job done, but he takes the time to do it properly. If you manage to find one of these rare developers, do anything you can to keep them happy. I mean it, anything.

link