Three Programmer Archetypes – What’s yours?

I was at the Columbus Ruby Brigade Meeting last night and having forgot my laptop, I started to take traditional notes on the first lightning talk. It occurred to me at some point during the talk that there’s really 3 kinds of programmers and the kind of programmer really has to do with what they love and where they play. Usually I’ve seen programmers major in one and minor in the other, or sometimes there’s no minor, just a major. First, here’s the 3 types:

  1. Language Fundamentalist – These are the types that love the ins and outs of a language, compiler optimization, how memory is managed, they can explain why a certain language is great or sucks.
  2. Language Craftsman – These are the types that love a certain language, they can tell you the ins and outs of that language’s core API but they are resistant to changing an language once they’ve become adept and skilled at it.
  3. Language Minimalist – These are the types that do as little with a language as possible, they might work with a defined content management system like Joomla or WordPress or if they built a system it might consist of an open source system with 5-10 frameworks or other scripts used to get the job done.

Now based on what type you are you usually dabble/play in some of the following areas:

The Language Fundamentalist

  • Different Languages
  • Abstraction Patterns
  • Algorithms
  • Compilers

The Language Craftsman

  • Language X APIs
  • Frameworks of Language X (they can tell you just about everyone pros/cons of each)
  • Next versions of language X
  • How language X is better than all the rest.

The Language Minimalist

  • Ins-Outs of how to customize a few different systems
  • Learning newer better or next versions of similar or same systems
  • How to integrate these systems with other ones

Whether or not these three are all inclusive or accurate, I’m not sure since I am neither a psychologist or a sociologist, but I am a programmer and have seen these kinds of programmers.

Personally I’ve majored in Craftsmanship with a minor in Fundamentalism, I don’t usually care about compilers unless they are preventing me from doing something, I also don’t care for most frameworks as they are someone elses often poor attempt at abstraction or simplification.