September 10th, 2012


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)


Interestingly problematic

A few weeks ago I came across an article on AlJ by Anatoly Karlin, a Russian-born political commentator who now lives in the United States; he keeps two blogs, one of which focuses on western perceptions of the United States, the other offers general political commentary. He's an interesting guy; opinionated, possibly-centrist with some hints of radical individualism.

I thought I'd talk a bit about his flavour of feminism; it's of a flavour fairly distant from mine, much closer to the first wave, one that aims to preserve separate gender roles for women and men while achieving legal and blunt structural equality.

Collapse )

I don't see myself as balancing between a first- and third-wave so much as having a set of beliefs about social justice, the means we use to seek it, and the society we hope to build that happens to have a classification; the second wave was a very broad camp and had factions with a number of their own problems. There is a certain linearity in the development of the waves (with a few branches needed for a deeper unstanding), with what I regard as a fortunate backlash against the third wave's excesses that has provided some energy for alternatives to what once looked like an inevitable consensus on the thirdwave's notion of the nature of SJ. Just as there is now a hunger for an alternative to marxism that is also an alternative to capitalism, new theories are needed, and the best soil from which to grow them is in the space between the insufficient and the horrific; the First International and the Second Wave of Activisms are our soil, and let our theories be as moderate as possible while achieving their needed goals.