In the comments of a previous post, some commenters and myself began talking about the idea how the term “developer” is overloaded – that is to say, what is a developer, anyway?
Now, more than ever, when we have a culture that’s aiming to get more and more people learning to code than ever before, and when we have more technologies with which people can write code (and I do mean any kind of code – anything from HTML to assembly), we’re also paving the way for so many people to call themselves a developer [of sorts].
And you know how it goes: If everyone is a developer, then no one’s a developer. Yes, that’s a little trite. Perhaps a better way to say it that: if everyone is a developer, then everyone must develop the same type of things.
And those in technology know that that could not be further from the truth.
So, What Is a Developer?
To me, this is a matter of specificity. That is to say that what it means to be a software developer in the 70’s and 80’s has changed a bit. In fact, I’d say that the shift really began to happen in the 90’s and just accelerated once to hit the 2000’s.
By that, I mean that if someone said they were a developer, there was a very clear and/or concrete idea as to what it was they did for a living:
- At one point in time, it meant that people used punch cards in order to make computers do something.
- At another point in time, it meant that people were using languages like Assembly and then C to make the computers do something.
- …and then as technology progressed, it meant that people were beginning to create more and more things using different tools, languages and so on.
At this point in time, we’ve got more people labeling themselves as a developer than ever before. This rubs some people this wrong; others don’t really mind.
Though I’m of the latter camp, I understand why it bothers some (and I’ll come back to this in a minute).
For Everyone Else
When it comes to talking with the average person – and this has nothing to do with intelligence, but the average person as being someone defined outside of technology – then when asked what it is you do for a living, then saying “web developer,” “software developer,” or just “developer” is fine.
I say that because it means very little to me if someone is a commercial high-rise real estate developer or a mid-sized residential town home developer. In most cases – that is, unless I ask them to specify – saying they are into construction or they build high-rises or a homes for a living is usually sufficient.
Similarly, if someone tells me they are a doctor or they are in the medical field, then unless I’m really interested, I don’t push any further than that because there are so many variations in which a person can work in medicine that the odds of me understanding the nature of their job is pretty slim.
Along those same lines, people aren’t going to care if you’re a software developer who works with .NET and its associated technologies anymore than they’ll care if you write security software for financial institutions or if you build applications for iOS. To them, you just “work with computers.”
Unless someone asks you to clarify what it is that you do for a living, I don’t think it’s worth saying that you’re a front-end developer who works with HTML and templating languages as well as client-side scripting languages and CSS preprocessors to create the presentation layer of web applications.
Snore.
That’s jargon and it doesn’t matter (but programmers, for one reason or another, often think that it does and so it’s offered up as their first explanation).
For Developers
Obviously, this is where it’s worth being more specific. After all, if I was to tell any one of you I was a developer – or vice versa – then it’s likely you’d follow up with asking “what kind of developer?” or “what languages and tools do you work with?” and I’d likely follow up the same with you.
It’s not because there’s any attempt to one-up one another (although I do believe some programmer-types are exactly like that), but it’s out of sheer interest and curiosity for what you do for a living because it’s likely that I’ll not only have a surface level of familiarity with it, but that I’ll also be genuinely interested in hearing the kinds of things you do each day.
And this is typically reciprocated, as well.
So the whole point of this entire post is basically just showing that:
- The term “developer” is overloaded such that it it’s very, very generic – arguably now more than ever – but unless you’re part of the same field, it doesn’t matter.
- Fellow developers are the ones who will likely care the most about what you do for a living.
Of course, this won’t stop certain people from arguing that you should specify exactly what it is that you do for a living, nor will it make other people care.
So, yeah, the term is overloaded but only is so far is how we use it among the company we keep. To that end, be as specific as the situation warrants. At least, that’s what I find to work the best.
A few weeks back I wrote a couple of related articles on the differences between a designer and developer which also touched on ‘what is a developer’.
The designer role and the developer role
Not quite sure what went wrong with the first link but here it is again http://foxdellfolio.com/wordpress-designer-vs-wordpress-developer-the-designer-role/
Thanks for sharing, Chris – I like reading others perspective and take on the topic. I know it can be discussed way too much, but hearing other people share their thoughts on it makes for a nice read, IMHO.
I almost never refer to myself as a developer, but I’ve been writing code for 20+ years. I use the more accurate term of Keyboard Jockey or Code Monkey. In all honesty I prefer the term Software Engineer, it has a nice hoity toity sound to it but ‘Meat Puppet’ is probably more accurate. Most of my co-workers simply refer to me as ‘the geek’ or ‘our geek’ or ‘el geeko’ or ‘that creepy guy who thinks he works for the railroad…’
LOL!
Yeah – there’s certainly a level of pride that comes with carrying the title of ‘engineer’ and there’s also a level of expectation among peers. I’m still learning what all it entails (I was labeled this at my previous job, but since going as self-employed, I’m just tell people I am self-employed :) and I think I will for years to come (as to anyone who cares about their career), but then I also know people who care more about just getting something working than anything else and they refer to themselves as engineers.
If you were to translate that to a field in the world world such as, say, architecture then I would hate to have someone assemble a bridge that “just works,” rather than having done enough research, calculations, and deep knowledge of physics to make sure it supports and is resistant to, you know, all the things that bridges should handle.
Regardless, you Meat Puppet, thanks for the comment. Really funny, but really honest and true, too.
The same thing happens with genres and sub-generes in music. One person says they like “techno” and every DJ/producer goes insane.
Yeah — I think it’s a behavior that really transcends industries. It just happens to hit closer to home to those of us who spend a lot of time on (and/or working on) the Internet, you know?
It’s interesting to hear your take on this topic, because I come across people in the field debating this ad nauseum. I think you’re right, in that the average person doesn’t know, or care, the specificities of what the term means. To the point that “web designer” and “web developer” mean the same thing to most people. No clue, and don’t care.
I cautiously describe myself to clients as a web developer, meaning I develop websites and small plugins for the web using an array of languages, and I suppose technically that makes me a front-end developer. But most people don’t care. And I certainly don’t place myself among those who build applications and themes/plugins that mean to put them in the WP repo or for commercial purposes. I have no interest in going into the products biz because from what I’ve seen, it’s more of a service venture, and I’d rather build one-offs for clients than constantly work a support desk.
But I’ve noticed there are many in the internet room that are very tempermental and protective of the terms ‘developer’ and ‘programmer,’ and to me, at least there’s a discernible difference between those two. I would describe you, and anyone else, that has a more formal education in CS and can write code prosaically and discuss using programming languages philosophically as a programmer, or software engineer–definitely another league at least.
The problem seems to be that there aren’t any real certifications or designations to separate the cream from the crap for “developers” and have no hooks to hang their hat on. Which, possibly understandably, vexes those that consider themselves the poster-children of the profession (and confuses outsiders). Even though at one time they those developers didn’t know any more than my dog about computering, but immediately want to disassociate themselves with anyone they feel knows any less than they at any given time.
As someone whose family consists of a number of real estate developers, your analogy to real estate developers is astute- it’s the same situation there, as there aren’t any real designations for that field, no matter whether you’ve built 1 shotgun shack or a multi-billion dollar waterfront complex. And it’s a group that relies upon mentorships/apprenticeships/doing it yourselfing to fight their way to success. You can’t go to school and learn how to become an actual real estate developer. I actually wish there were more of a way to categorize exactly where “developers” fit in the field, in both cases, if for no other reason to shut people up about who is and isn’t a “real” developer, but it certainly would help maintain standards and promote and direct learning in the many areas developers have to dwell. And make it easier for the user-end of things to identify who they’re doing business with. Maybe with all the coding schools cropping up and recent emphasis on web development that will become a reality one day. In any case, good food for thought.
Yeah – I almost didn’t bother sharing about it, but sometimes I write about things that, when people ask my opinion, it’s easier for me to share them a link to a blog post then it is for me to rewrite something that I’ve already discussed, thought about, or shared elsewhere so I took my chances ;)
I agree that there’s a difference, but some get so caught up in how they want to be known, that they don’t let their work really do the talking for them. Not everyone is like that, and I’d like to think that as a programmer matures it becomes much more about the work they do and much less about what they’re called.
Case in point: I’ve had people tell me that because I write a lot of PHP [these days] that I’m more of a scripter than a programmer because PHP is a scripting language. Okay, so there’s that. I don’t really care.
Admittedly, it can be debated all day, but if I’m able to apply software development techniques in a scripting language, what does that imply?
So around it goes into a discussion and ends up as turtles all the way down.
I don’t understand this behavior, but I recognize it and I dislike it, as well. It’s a sense of elitism and I’d rather see people lean in the direction of helping those along (I love the software craftsmanship movement with masters, apprentices, et al.).
But I guess that’s human nature – you’re always going to have some on one side, and some on the other.
What if a percentage of the code schools that are cropping up are employing educators who don’t necessarily know the best way to engineer something — just how to get something working?
I’m playing devil’s advocate, of course. Surely anyone that reads this blog or knows my involvement in other sites knows that I’m all for educating others in the field of writing code :).
I’ve worked for a couple of organizations who insisted that every employee have an appropriate title. That means I’ve been a Web Service Coordinator (who wrote and edited articles, took and edited photos, designed graphics, wrote all the PHP/HTML/CSS/JS to put a page online), an iOS Developer (writing JavaScript for a PhoneGap-based app), and a Web Developer (working with WordPress and external APIs). It can get pretty screwy trying to find a title that accurately encapsulates what it is I actually do on a regular basis.
The newest title that makes sense is DevOps, since I do everything from server config and maintenance, server-side coding/scripting, front-end development, DNS updates, domain management, content editing, etc.
When it all boils down, the thing I tell people when they ask what I do: “I build websites.” It’s so much easier that way.