Here is a good question for you: what do you call yourself?
What is your job title?
More importantly, what should your job title actually be?
There are quite a few job titles that describe people who write code for a living.
- Software Developer
- Software Engineer
- Senior Software Engineer
- Software Architect
In my career I’ve officially held many of these job titles while being employed, but what your official job title is and what you call yourself are two different things.
Of course now I am self-employed, so I get to call myself whatever I want.
The job title debate
More than once, I’ve been involved in the debate over what people who write code should call themselves, what the difference is and what the different job titles actually mean.
Let me tell you something right now, before we even go any further:
Job titles don’t mean jack!
That’s right, you can’t know anything about a job or a person by their job title.
I’ve seen some companies call their most competent coders senior software engineer, I’ve seen others give that same group of people the job title architects, and I’ve seen some call them software developers.
Now obviously some job titles appear to have more clout than others, and obviously some titles would be more desirable for a software writing professional to have, but a job title alone doesn’t convey any real information.
Still, over twitter and occasionally over a blog post, I’ll see this long debate about which job titles mean what and what we should call ourselves.
The problem I have with almost all of these debates is that they are based on the ludicrous assumption that there is some actual real official designation of titles and their meaning that exists somewhere.
If there is one, I’d like to see it, because as far as I know we are just making this stuff up as we go along.
So what should programmers call themselves, then?
Good question… How about, oh I donno, programmers, maybe?
But wait John, I don’t just program computers! I gather and analyze requirements, I design mock ups, write unit tests and I attend all kinds of meetings. You may be a programmer, but as for me, I am a software developer. Oh, and since I’ve been doing this for a while and I am awesome at it, I shall bestow upon myself the title of senior software engineer.
I get what you are saying; you’re important, you’re hot stuff, you don’t just program computers.
Heck, you probably spend a majority of your time not writing code. Most programmers do.
But let me ask you this question.
What thing do you do that provides the highest value?
What is your most specialized skill set?
Now, not everyone is the same, but most people who write code for a living will have to admit that although they do many other things that add value and are required for their job, primarily what makes them valuable is their ability to program a computer.
If you took all the responsibilities and activities that senior software engineers do and you let someone else do them that could do all the functions of the job except for writing code, what would you call that person?
At the same time, you could remove just about any other job function from a typical senior software engineer’s responsibilities and still easily call them a senior software engineer.
All this is to simply say that the thing of importance is the ability to program computers.
So again my answer to what you call yourself is the function you do that provides the most value: programming the computer.
(By the way, Amazon tends to think programmer is the right term, since the biggest book category under computers & technology is programming.)
It’s not what you do most that counts, it’s the most important thing you do that counts
If throughout our careers, we chose our titles based on what we did the most, we’d have titles like the following:
- Sr. Professional Emailer
- Customer Handler
- Pretender of Doing Hard Work
- Unit Test Writer
- Build Breaker Extraordinaire
- Meeting Engineer
- Legacy Code Maintainer
- Browser of the Webs
- Corrector Of Wrong People On The Internet
You may spend 90% of your time not writing code, but if writing code is really what your value primarily derives from, I see no good reason to call yourself something other than a programmer or a coder. (Although coder is a bit ambiguous and programmer is pretty much right on key.)
But wait, if I do that John, then people will think I just write code all day. They won’t know that I have all these other skills that are required to develop software.
Once again, I get what you are saying. I understand your concern, but it is ridiculous.
Just like no one thinks lawyers spend all day everyday in court arguing cases.
Most people will get that when you say “programmer,” you don’t mean that you just write code.
If you don’t believe me, then let me ask you again what it means when I say I am a software developer.
Does software developer or senior software engineer or architect more adequately describe the 50 job responsibilities of a programmer other than writing code?
I don’t think so.
But, at least the word programmer makes it clear to anyone, even someone who knows nothing about the field of software development, what the valuable thing you can do is.
It’s really not a big deal
Don’t get all worked up about this though. I’m telling you right now because I know some of you are sure you understand the true meaning of the various programmer job titles out there.
I’m not asking you to call up your boss and demand that your job title be changed to just programmer.
No need to correct people when they call themselves software engineers or architects. (And yes, I am grouping lowly software engineers in with architects, because if you are writing software, but you aren’t architecting it as well, you shouldn’t even call yourself a programmer, and if all you are doing is waving your magic wand and drawing architectures for others to implement, I’ve got news for you, you’re not adding any real value either.)
In fact, around this blog, you’ll find that I often say software developer, because it is a term I agree with and more people relate to it than programmer. So, I’m not even that adamant about using programmer, myself.
I’m just saying, when someone asks you what you do for a living, spare them the grandiose speech and flowery words, just say “I’m a programmer” and leave it at that. There is no need to say “I’m a software engineer”; to which they inevitably respond with, “oh, but what do you do?” And of course you respond with some detailed description of what exactly software engineers do which could have all been summed up in the beginning by saying you were a programmer in the first place.
YouTube video for the week
Oh, and don’t forget to check out my YouTube video for the week, where I talk about why you should fake it till you make it.
Get Up and CODE
And here is the link to the latest Get Up and CODE episode, where Iris and I talk about healthy eating. You can also listen to it below.