Ask HN: Programmer Personality Types
Here are the Programmer Personality Types as I see them. If you can think of any more, post them below, I can't think of any more though.

Ace
Also known as a ninja, rockstar, hero, or wizard- this guy (or girl) does more work than ten other programmers. They can work alone like nobody's business, and as soon as they have an outline, they are programming, not making UML diagrams, not conducting user surveys, they're just building. They'll be done before their boss believes they could've started! Put them in a group with others, and tell them to work at the pace of everyone else, and you'll kill their productivity (and probably drive them to quit your company in the process).

Paycheque Programmer
These guys (or gals) took very great care in deciding their college (or university) diploma (or degree). They folded the pages just right so that they could compare the earnings charts between Electrical Engineering and Software Engineering. They noticed that Electrical Engineering averaged 80k after five years, so signed up. After one semester of EE, they realized that it was too tough, and they couldn't hack it, so they went with the second highest income - Software Engineering! "Hey," they reasoned, "I'm sure I'm just as smart as that Microsoft dude, and if not, I can always get my mom to get me a job at MegaCorp!" And after a couple years of school (and a co-op placement at MegaCorp), that's just where they ended up. They have their own cubicle, and although they don't really understand Object Inheritance, recursive functions, or any algorithms at all, they've impressed their boss by buying him (or her) coffee for three years straight, and have enough seniority to be considered for a management position. They'll never leave MegaCorp, and if they do, they won't be able to interview successfully in software ever, unless they meet an interviewer with the same philosophy as themselves.

Process Nut
This guy has read 'Whiteboard Excellence' cover-to-cover seventeen times, knows every UML diagramming symbol like the back of his hand. Loves Java, and uses it for everything. If you want a program done by Process Nut, you better have a spec that can instantly be translated into a mess of symbols and relationships. Although the Process Nut can't program terribly well, he can hand off his specs to the Ace, and it'll turn out pretty much exactly as the spec indicates. Wait a minute, on second thought, the spec could've gone directly to the Ace, and then that Java Servlet wouldn't even need to be interfaced with the final perl script.

Hacker
No formal education, experience consists of building web pages for everyone in the family, fixing computers since age 5, knowing every linux command (and parameters) by heart. Half system guru, and half command line whiz, the hacker can be found in virtually every medium sized office (if they can be pried away from WoW long enough to get a resume in order). A hacker gets a spec, and immediately decides that 'awk', 'grep', 'head', a perl script, a php script, a ruby interface, and two dedicated boxes will be neccesary. Mind you, the project doesn't really need servers, they will just want the boxes as zombies, and will password protect them, (after installing remote formatting software (just in case)). They get their program to work, but no-one can understand how to maintain it. Even the ace would be wasting their time trying to discern how all these disparate parts fit together. But it works! And will continue to work until you put the hacker out of his job. At which point in time, all your backups will be mysteriously deleted, and your entire network will be infected with home-brewed viruses.

Manager
This type of programmer is born to lead people, you can see it in their interactions with other programmers, and with other business people. This is the only programmer who will willingly lunch with non-programmers, and the only one who actually schedules meetings. They're not exactly programmers, as in, they can't really program. But they know how to ask for a spec! And they can answer questions in business-talk that real programmers would have trouble translating into non-programmer lingo: From 'Well, you'll need to sudo up on the debian box to change that crontab' to 'I'll do it for you right now.'