Utility software

Programmer Personality Types: 13 Profiles in Code

Programming Personality Type No. 10: The Hand-Coder

They could use the data structures that come with that library, but then they wouldn't be able to optimize the code for their particular subpattern. And they're able to deploy at least three arguments about how they're saving the company so many millions because of the inherent limitations of the library. Perhaps it won't scale to 3 trillion users. Maybe the library uses method names that weren't certified by the ISO. Or perhaps they're just worried that support for the open source library will fade in seven years.

The best Hand-Coders actually deliver the performance boosts they promise, but all too often they triple development time for a modest gain of 2 or 3 percent -- all the while ensuring their own job security supporting their hand-polished masterpieces until retirement.

Car: Built from a kit in the back of Popular Science

Relationship status: Working on home-built robot that says, "Yes, dear"

Household chore: Cutting down trees to build a new wing for the house by hand

Role model: Dr. Frankenstein, Robinson Crusoe

Pet: "A mutt? No, this is my own custom cross-breed optimizing personality with disease resistance."

Favorite programming construct: compiler

Drink: Bathtub gin

Programming Personality Type No. 11: The Agilist

Agilists are easy to find if you can just remember the schedule for the five different scrums. They're usually by the coffee machine, but the database team is experimenting with scrumming on the tightrope across the quad because simply standing still wasn't enough to keep everyone on task.

The most devoted Agilists like to hold code reviews where they get the whole department in the room to rewrite the code. If two pairs of eyes are good, why not get every pair of eyes, including the receptionist and the landlord?

Car: Motorcycle with sidecar

Relationship status: Refers to spouse as co-family developer

Household chore: Rearranging the modular sofa

Role model: Siamese twins

Pet: "I try to emulate Noah with all of my animals."

Favorite programming construct: refactoring

Drink: Constantly mixing scotch with water

Programming Personality Type No. 12: The Paranoid

If one layer of encryption is good, why not put in 10? And throw in a few digital signatures for good measure. But it can't be a keystroke-based signature because the key loggers can compromise those passwords. This will use a combination of mouse gestures and a custom USB dongle.

The Paranoid can be very useful when you're under attack, but they often fail to stand down the rest of the time. Why, they're probably still talking about adding security layers to the PDF of documentation you deliver for free.

Car: Retrofitted SUV with armor plating and hermetically sealed driver's compartment with oxygen backup

Relationship status: Still waiting for clearance

Household chore: Rekeying the lock to the bathroom

Role model: Can't tell you

Pet: "Doberman Pinschers and Rottweilers get along very well, you know."

Favorite programming construct: AES

Drink: Why do you want to know? Do you want to poison it?

Programming Personality Type No. 13: The Cutting-Edge Coder

Sure, last year's buzzwords were great, but that was then, and the latest experimental code is already boosting efficiency or response time by 1,200 percent. Or maybe it's scalability. Let me check my Twitter feed.

The folks on the cutting edge are already working with the committee to name the replacement for NoSQL. They've already rejected SQL++, SelectSQL, and SQL3000. The code isn't even sketched out yet, but choosing the right name will set the tone.

Car: Concept car from auto show

Relationship status: Casual and seeking upgrade

Household chore: Upgrading showers to latest bathing instrument

Role model: Q

Pet: "Labradoodles are so 2011."

Favorite programming construct: Node.js for the next three weeks

Drink: Anything small-batch, artisanal, and handcrafted

Subscribe to the Daily Downloads Newsletter

Comments