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