A friend and I were discussing recently the interesting phenomenon where despite us having highly unrelated jobs/passions with unrelated skillsets, we are both considered “software engineers” because we happen to write code. I believe this happens because when, say, family asks what we do, it usually feels like they’re mainly interested in the day-to-day as opposed to the core purpose of the work. This makes perfect sense and is fine, but between two people who write code it is probably reductive communication.
This prompted us to strip back the code-writing part and come up with a new job title for each of our occupations; my actual job, and his primary interest. The new titles were far more descriptive of the core work we both do that is probably more salient on a fundamental level than the programming part.
Mine was “software engineer” -> “video compression researcher” His was “software engineer” -> “web platform designer/developer” (using developer in the name still feels like cheating, but we couldn’t think of anything else)
SWEs (or CS students): Do this for yourselves. What does this look like for you?
My last job was: PowerPoint presentation and poster designer, educator, communicator and mind reader.
Tried to be software developer in science, turns out that I had to spend much more time promoting whatever little coding I do to interested parties, and creating software based on guesses what they could need and what the right thing probably should be.
It was a mess, for many reasons.
Now I’m an actual software architect and engineer.
As a metaphor, somewhere between apprentice dark magician (when sprinkling in some fancy things not many others would be able to do), gardener (need to clean up a lot of weeds, tidy up and revitalize the decomposing codebase, trim some rotten code branches) and strategist (when conceptually working on the mid and long-term planning and high level goals).
Oh dang, last year I left a job I was in for 8 years, where I was writing software for scientists and researchers (or attempting to). You do spend a lot more time in meetings discussing your software than you do actually writing code. And those projects have the bad habit of being cancelled three quarters the way through, because funding gets pulled, or the researcher just leaves, or quite often they find an off-the-shelf software product that is a better solution.