There’s a book about martial arts called On the Warrior’s Path that tries to understand the differing psychologies of martial artists through the lens of half a dozen archetypes – Seeker, Ronin, Tribal Warrior, and others.
I have not yet read the book, but my friend and regular A&D commenter Susan Sons reports having found it very effective for motivating young and newbie martial artists. “It gave them their first glimpse of what they were trying to become,” she reports, “They both knuckled down not just in the obvious physical parts of training, but in the mental aspects, far more than they had before and far more than their age/experience peers.”
So, Susan had the idea that it might be a good idea to develop a parallel gallery of hacker archetypes to help motivate newbies. We brainstormed this on IRC for a while. One thing that had been blocking Susan is that, by her own report, she sucks at naming things. I, on the other hand, am pretty good at that; I was able to come up with names that helped the archetypes develop more definition.
We don’t think this is a complete set, and some of the names might change. But it’s enough of a start for some public brainstorming.
Also note: no hacker is only one of these, but in talking about a number of mutual friends we found it was always pretty easy to agree on both the friend’s dominant archetype and the secondary one that they display most after it. I think this is an indication that we are, even if imperfectly, zeroing in on real traits.
Here they are. Descriptions mostly Susan, names mostly me.
Algorithmicists: Very good at algorithms and sustained, intricate coding. Have mathematical intuition, and are one of the two types (with Architect) that have the highest tolerance for complexity. They like the idea of correctness proofs and think naturally in terms of invariants. They gravitate to compiler-writing and crypto. Often solitary with poor social skills; have a tendency to fail by excessive cleverness. Never let them manage anyone!
Tinkerers: Hackers who are drawn to crossovers with the physical world – will design hardware as cheerfully as software. One of the two types (with Prankster) most likely to be lockpickers and locksmiths. Know practical electronics (including analog and RF), adept at reverse-engineering. When you can get them to pull their heads out of the details (which they may resist pretty hard) they make terrific whole-systems engineers.
Architects: The guys who are fascinated by, and very good at, blocking out architecture in complex systems. Kings of the productive refactor. Have an acute feel for design patterns and can see around corners in design space. Strong drive to simplify and partition; “It’s not done until it’s elegant.” The Architect failure mode is to lose sight of the ground. Architects don’t necessarily have communications skills; if they do, they can make worthy team leads.
Sharpshooters: Tenacious detail-obsessives who are most comfortable with a bottom-up view of code and like rifle-shooting bugs more than almost anything else. In past times they would have been happy writing assembler. Polar opposite of the Architect, very productive when paired with one (and vice-versa). Not a good bet for managing anything.
JOATs: The great strengths of the jack-of-all-trades are adaptability, fast uptake of new ideas, and mental flexibility. The JOAT doesn’t do any one thing better than the other types, but can do a bit of everything – including people and social engineering. The JOAT failure mode is to try to do everything themselves. A JOAT is more likely than other types to make an excellent team lead, as long as he or she remains aware enough to delegate deep technical decisions to others.
Pranksters: Their natural bent is adversarial – they’re great at thinking up ways to disrupt and subvert systems (or just put them to unexpected and hilarious uses). They gravitate to infosec and test engineering. The really good ones can social-engineer people more ruthlessly and effectively than any of the other types.
Castellans: Supreme control freaks who get their power from focusing on what they’re responsible for and knowing it inside out. Castellans memorize manuals; they love language-lawyering, process automation, and vacuuming up domain-specific knowledge about whatever they’re working on. Old-school sysadmins are often castellans: “That will never happen on my system” is their promise (and of course Pranksters love to prove them wrong).
Translators: The type that bridges between human and machine: tends to excel at UI/UX development, documentation, policy and supply-chain stuff, requirements analysis, user training, and so on. Highly social, less hard-core technical than others, but in a way that helps them help other hackers understand how non-hackers see and interact with technology. Some of them make good project managers, but like JOATs they need to understand their technical limitations and mostly leave the hard decisions to types that naturally swim in deeper technical waters. Of all the types, Translators are the least likely to self-identify as hackers even if they are intimate with the culture and working within it.
What archetypes, if any, are we missing? Are there places where the boundaries need adjusting?
(Oh, and me? Mostly Architect with a side of Algorithmicist and a touch of JOAT.)
Final note: This post is being edited as we collect more feedback. “Translators” weren’t in the first version at all.