?

Log in

No account? Create an account
Semiformalishmaybe

Types of Programmers

Being someone looking for a cool job in line with my programming interests, I find it frustrating that not everyone is using the same set of terms for the kinds of programmeers.

To me, the term "systems programmer" is a fairly broad one, referring to the people who understand/debug/write bits of software that's primarily used either by other bits of software (we write the APIs and the things beneath all the way down to what's barely above the metal) or by very sophisticated users and developers. We tend to have software aesthetics focusing on function; our tastes run from barebones to plain, and we don't (directly) talk with normal people. We're the natural counterpart to systems administrators, and those of us who are willing to learn "best practices" (which we probably have to do anyhow to some extent when we support sysadmins) make fine sysadmins, particularly when we master a few domain-specific additions (learning advanced networking hardware, clustering technologies, etc). We're great at debugging things, writing libraries, abstraction layers, and most of us could whip up a kernel or compiler if we have to. We're full-stack people, but our ability to/interest in applying (rather than service) the upper layers of the stack tends to be lessened.

Apparently, the term is sometimes used in a much more narrow sense, referring to kernel and core system library (think libc and the like) specialists.

Other terms that sometimes are used for what I'm talking about are "DevOps" (referring to a combination of Development - software people, and Operations - sysadmins) and SRE (site reliability engineer - probably pioneered by Google, but I've seen it as a job title at a number of other places).

I wouldn't care so much what it's called, except it makes it hard for me to title the positions I've worked (few of which had official titles, so I've taken the liberty of providing my own titles), and I'm looking for a job right now, so... Well, that, and it's kind of handy to have a good name for the specialisation to make it easier to build communities of people focusing on our arcane specialisation.

(stdplug.h: Please pass my name to recruiters as someone worth talking to if you're working someplace I'm likely to want to work in NYC)

Comments