The n Types of Programmers

Posted on 5th July 2010 by Ryan Somma in Geeking Out - Tags:

In the tradition of Matt Groening’s Life in Hell

Abstraction Guy

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

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

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

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

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

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

Workaholic

“Going home already? Must be nice…”
Pros: Work ethic of steel.
Cons: Works harder, not smarter.

Fanboy/Fangirl

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

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

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

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

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

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<

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

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

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

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. : )

6 Comments

  1. Hmm, I think I may the theorist. On the other hand, I work for a 5-layer hierarchy of buzzword bumblers. My favorite though was standards sociopath. That guy sits next to me, and has succeeded in bifurcating the organization into those who follow all the relevant processes – and those who finish projects.

    Comment by Stacy — July 5, 2010 @ 8:05 pm

  2. I must admit that I have been many of these over the years. I started out as a Cargo Cultist (I had a month there when I was the Train Wreck), was a Google-Whiz for a long time, now I’m sort of the Abstraction Geek… I find myself using design patterns all the time, even when there’s minimal advantage to doing so.
    : )

    Comment by ideonexus — July 5, 2010 @ 10:28 pm

  3. […] inaccurate was my perception? Ryan Somma recently authored The n Types of Programmers, a collection of software developer stereotypes on his blog. Each type of programmer is accompanied […]

    Pingback by RHOK and Programming Stereotypes « TGAW — July 6, 2010 @ 11:43 am

  4. Hah! These are great. I think in my current incarnation, I’m half “Local Guru” and half “ReWrite Renegade”.

    By far, the “Buzzword Bumblers” are the worst to work with/for.

    Comment by Dave — July 11, 2010 @ 10:35 pm

  5. I’m definitely none of them. I’m the best programmer myself :D

    Besides I’ve translated this excellent post to Chinese and put it on my blog. I wish you don’t mind.

    Comment by louie — October 21, 2012 @ 9:06 am

  6. I’m glad you like it! I license all content I create on this blog Creative Commons, so you are more than welcome to repost in any language you like! Thanks for sharing!

    Comment by ideonexus — October 22, 2012 @ 12:05 pm

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.