The plethora of names for our profession is an occupational hazard. Chris Oldwood considers those he’s encountered.
A recurring (though some may say repetitive) theme of this column, and the software industry in general, is that of naming, and nowhere is this more apparent than in how we refer to ourselves on a professional level. For the most part it doesn’t cross my mind, but every ten years in the UK we have a census and so are faced with struggling to fill in the box marked ‘occupation’. It also used to be a perennial question from family and friends, but I think they all settled on ‘something to do with computers’ and just moved on. This latest test comes from looking for a new contract and being faced with the onslaught of questions from LinkedIn as I update my profile once again. It seems that despite the industry’s newfound ability to create electricity guzzling machines which can write poetry, it’s also lost the ability to do simple pattern recognition on free text and now I need to manually select any (and all) relevant matching job titles from a humungous list of seemingly similar entries. Do I really need to add both ‘programmer’ and ‘computer programmer’? Have we also lost the ability to do fuzzy matching too?
Before I went to university back in the late 80’s, I didn’t really know that the messing around on my home computer I had done in my teens was even a career option I could explore. (I only found out after getting my first programming job that my late uncle had been a programmer in the 70’s.) It felt natural at that time that someone who programs a computer would be known as a ‘programmer’, and I was happy to go with that until I met my (now) father-in-law. He informed me that a programmer was a lowly job and that I should be looking at the more superior position of analyst/programmer (which was the level he had obtained). In his experience (at a huge aerospace company) a programmer just typed in code provided by someone else, whereas he also did the thinking and design too! Luckily, he had someone else to do the testing though…
During that conversation, I began to see why the title of Software Engineer had probably come about and why I might need to be more careful about how I referred to a role on my CV. At that time, the list of responsibilities for a Software Engineer appeared to be more encompassing than for the traditional programmer roles, though in retrospect it was likely more due to the differences in environment – shrink-wrapped desktop applications versus in-house mainframe programs. Either way, being a Software Engineer got my father-in-law off my back by appearing more honourable.
In some countries you can only call yourself an engineer if you have an official qualification or recognition from a formal body. I do have a degree in an engineering subject, so I felt a little justified in adopting that title, but I can also see why Software Developer might have sprung up because of the backlash against the use of engineer for what is an incredibly young industry by comparison, despite it being used at the NATO conference back in 1968.
Once I became established as a freelancer and was freed from the shackles of HR I went with the flow and adopted the developer moniker because I liked the terseness of ‘dev’ in direct contrast to the rise of ‘title inflation’ that seemed to be taking hold, at least in financial circles. I once remember interviewing a candidate who was Vice President of Some American Bank. In my head, a vice-president was second only to a president, and, like the Highlander, there can be only one. Apparently not: the bank had a gazillion vice-presidents, directors, chiefs, etc. This departure from traditional titles means a Property Developer now sounds like someone who only writes getters-and-setters.
In the intervening years the variation in job titles has increased, which shouldn’t be surprising as the nature of the job itself has changed substantially over time. We write code for so many different reasons now, which are not necessarily part of any product or service delivered to an end user – programming is quite often a means to another end. I recently spent a couple of years largely working on the build pipeline for an in-house programming language and quipped on my socials that I should change my job title to ‘Software Plumber’ on account of the time I was spending fixing pipelines of various kinds. I also suggested growing a moustache and wearing dungarees into the office. I was quickly informed that ‘Build Engineer’ was the correct term for that particular role.
Some jobs might have had engineer or developer in the job advert but when you get there you can find that it’s largely about shifting data from one place to another. I was tempted to use Data Hygienist to describe one role as I spent so much time trying to clean up the data from a bunch of legacy back-end systems to avoid polluting the internals of our codebase with special case logic. It was on the same project that our illustrious CVu editor coined the term Data Marshaller to reflect his role of shepherding data to/from the database. I suggested he probably needed to wear a high-viz jacket and hard hat too, though falling asleep at the keyboard was the only real hazard.
I’ve always liked Chris O’Dell’s notion of a Software Gardener as it felt like it really captured the organic nature of modern systems development. When you get in early and can let the design emerge and blossom, it’s incredibly satisfying, plus there is always some pruning to be done. Gardener would also be a suitable name for those people who just seem to spread crap all over the codebase.
And that metaphor provides the perfect segue into the world of AI-based tooling. Programming was never just about writing code – despite where the job market might once have positioned it – it was always about solving problems, typically by producing software, and that includes a whole bunch of other skills. Although I might have to jump on the AI bandwagon at some point to remain competitive, I never want to lose the ability to handcraft code the old-fashioned way. I look forward to the day when I can update my LinkedIn profile to Artisan Programmer.
plush corporate offices the comfort of his breakfast bar. He has resumed commentating on the Godmanchester duck race but continues to be easily distracted by emails and DMs.
is a freelance programmer who started out as a bedroom coder in the 80s writing assembler on 8-bit micros. These days it’s enterprise grade technology from