In the tradition of Matt Groening’s Life in Hell…
![Abstraction Guy](https://ideonexus.com/wp-content/uploads/2010/07/abstraction.jpg)
Abstraction Guy
“We really need a Factory Pattern for that Factory Pattern.”
Pros: Produces really really really loosely-coupled systems.
Cons: Output will never escape the layers of code.
![Buzzword Bumbler](https://ideonexus.com/wp-content/uploads/2010/07/buzzword.jpg)
Buzzword Bumbler
“This enterprise needs to move to a service-oriented paradigm in the cloudplex to encapsulate polydactylism!”
Pros: Impresses the heck out of people who don’t know better.
Cons: Someone will eventually call bullshit.
Note: For fun try putting two in the same room to watch them throw nonsense at one another.
![Bleeding Edge](https://ideonexus.com/wp-content/uploads/2010/07/bleedingedge.jpg)
Bleeding Edge
“Why don’t we just replace the company phonelist spreadsheet with a FOAF browser plugged into an object database?”
Pros: Thinks outside the box.
Cons: Must regularly be beaten back into the box.
![Standards Sociopath](https://ideonexus.com/wp-content/uploads/2010/07/standards2.jpg)
Standards Sociopath
“I’m auditing the process, not the person, and this person is not following the process!”
Pros: Will keep your organization ISO 9000 compliant.
Cons: Will make it so that’s all your organization does.
![The Local Guru](https://ideonexus.com/wp-content/uploads/2010/07/localguru.jpg)
The Local Guru
“Oh yeah, this bug is usually caused when a stray cosmic ray flips a bit in the system. I’ve got a workaround for it.”
Pros: Knows every little odd detail about the system bits-to-gigabits.
Cons: Probably put a lot those odd details in the system to begin with.
![Cargo Cultist](https://ideonexus.com/wp-content/uploads/2010/07/cargocultist.jpg)
Cargo Cultist
“Can you help me debug this script I got from scriptkiddies.ru?”
Pros: Great at finding existing solutions online.
Cons: Will copy 10,000 lines of code into a program to make use of a custom replace() function on line 437 rather than figure out the regex themselves.
![Workaholic](https://ideonexus.com/wp-content/uploads/2010/07/workaholic.jpg)
Workaholic
“Going home already? Must be nice…”
Pros: Work ethic of steel.
Cons: Works harder, not smarter.
![Fanboy/Fangirl](https://ideonexus.com/wp-content/uploads/2010/07/fan.jpg)
Fanboy/Fangirl
“This would be so much more [efficient, elegant, convenient] in [Ruby, Python, .Net, etc]!!!”
Pros: Really knows their solution of choice in and out.
Cons: It’s never the solution for the project you’re currently working on.
![Google Whiz](https://ideonexus.com/wp-content/uploads/2010/07/googlegeek.jpg)
Google Whiz
“The answer is.. (tappa-tappa-tappa) …42!”
Pros: Can find the answer to absolutely anything online.
Cons: Will blackmail you over those photos from the party last weekend.
![The Theorist](https://ideonexus.com/wp-content/uploads/2010/07/theorist.jpg)
The Theorist
“Did you see the new min max algorithm in this month’s Communications of the ACM? It saves three steps over the current standard!”
Pros: Produces lots of White Papers on fantastic, revolutionary solutions using pseudo code.
Cons: Never produces a line of actual code.
Warning: Not to be teamed up with Bleeding Edge.
![The Train Wreck](https://ideonexus.com/wp-content/uploads/2010/07/trainwreck.jpg)
The Train Wreck
“Should I have put a WHERE clause on that delete statement?”
Pros: Means well.
Cons: Feeling sorry for them prevents proper dismissal.
![The Curmudgeon](https://ideonexus.com/wp-content/uploads/2010/07/curmudgeon3.jpg)
The Curmudgeon
“Object-Oriented, shmobject-Oriented, it’s all just assembly when you get down to it!”
Pros: Lot’s of great stories about the “old-days” of punchcards and renting time on mainframes.
Cons: Will use Fortran as pseudo code and give it to you to figure out in implementation.
![Linux Elitist](https://ideonexus.com/wp-content/uploads/2010/07/linuxelitist.jpg)
Linux Elitist
“Software crash? That’s what you get for selling out to the Evil Empire. Sniff.”
Pros: Will save you tons of money on software licenses.
Cons: Will cost you tons of money on software maintenance.
![ReWrite Renegade<](https://ideonexus.com/wp-content/uploads/2010/07/rewriterenegade.jpg)
ReWrite Renegade
“Instead of fixing the input, we should just rewrite the whole Cobalt application in .NET.”
Pros: Has fantastic vision.
Cons: Has fantasy vision.
![Normalization Nazi](https://ideonexus.com/wp-content/uploads/2010/07/normalizationnazi.jpg)
Normalization Nazi
“I pulled the area codes out of the customer_phone table and migrated them to a phone_area_code table and added an id to reference them. You’ll need to modify all the database views and procedures.”
Pros: Might actually achieve the fabled 6NF.
Cons: Database will grind to a halt from all the cascades and rule-fired procedures that go off each time you update a record.
![Documentation Dip](https://ideonexus.com/wp-content/uploads/2010/07/documentationdip.jpg)
Documentation Dip
“The variable $i is used as a counter in the following FOR loop which…”
Pros: Makes it look like your team is really good a documenting their code.
Cons: Makes your team look like they can’t read code.
![1-Up](https://ideonexus.com/wp-content/uploads/2010/07/oneup.jpg)
1-Up
“I found an unused variable in that class you just checked in… I prefer not to have such inefficiencies in my code, but that’s just me.”
Pros: Keeps an internal scorecard of every error every other programmer has made in the organization.
Cons: Isn’t keeping a scorecard on his or herself.
Note: These are caricatures of people, stereotypes, not real people. If you know me personally, please don’t think any of these were inspired by you. : )
Comments
6 responses to “The n Types of Programmers”