Programming personality type No. 2: The CYA Specialist
For some programmers, documentation is a talisman for warding off middle-management evil. They write paragraphs and paragraphs about mundane routines like queryDatabase. Did you know that the routine will work for Oracle and Postgres 8.5 but not MySQL or Postgres 9.0+? It doesn't matter if you're running only one database, the CYA Specialist has you covered.
If you're lucky, your CYA Specialist will be a frustrated novelist who is happy to inject a pun or two into a boring pile of code. But the worst kind is the one who lords their documentation over others during code reviews. If a bug appears, the CYA Specialist says it was a limitation that was "well-documented in the 17th paragraph of the method's comment."
Some CYA Specialists perform job security by obscurity, handing over a binder full of printed-out code, as if you're going to leaf through 700 pages of monospaced, unsearchable type. They know that if you measure the work product in pounds, there can't be any debate over what they've done.
Car: Stack of Chilton manuals
Relationship status: Married to a 48-page prenuptial agreement
Household chore: Relabeling the spice rack
Role model: Wikipedia editor of the year
Pet: "Come over to see the photo montage of Scrappy that used to be just a wall."
Favorite programming construct: The comment block
Drink: Triple-filtered water
Programming personality type No. 3: The Future CIO
They can write code if they have to, but a PowerPoint slide about UML documents is their genre of choice. And you'll know you're in a meeting with one because your smartphone will beep with a LinkedIn invitation from them within five minutes of sitting down.
The Future CIO is keen to always seem ready to help, but if you push for more than a quick scan of a document, they'll resort to their favorite programming pattern: delegation. "This is probably better handled by Chris over there."
For the Future CIO, everything is an organizational argument made up of subpoints about skill sets, procurement, and process.
Car: Expensive lease
Relationship status: Applying Kanban principles to stalking the boss's daughter
Household chore: Recharging the iPad
Role model: Steve Jobs
Pet: "You think my hair just does this itself?"
Favorite programming construct: UML
Drink: What the CEO is having
Programming personality type No. 4: The Old Guard
If a problem comes up, they say, "We solved that years ago with Multics" or some other long-dead pile of code. They too often reminisce of the days when there were only one or two bugs because the entire program was just a few bytes long. And how they could toggle in their code in less time than it takes your fancy machine to boot and churn through all of the startup code and virus checks.
The real Old Guards like to point out that their favorite computer didn't need to boot because the iron-core memory didn't shut down when the power disappeared. They can talk for hours about how they would take a 2KB array of iron core over a 2GB stick of RAM any day. After all, most hassles that database programmers endure are problems simply because the RAM fails when the power disappears. The old iron-core machines never needed to worry about transactions or synchronization algorithms because iron-core just worked.
Relationship status: Married to high school sweetheart
Household chore: Studying a home's history by looking at the molding
Role model: John Adams
Pet: "Those are Fido's ashes next to my grandmother's on the mantle."
Favorite programming construct: JZ EQU
Drink: Old Fashioned