First, some context
Recently, an image made the rounds on the Internet of Peter-Paul Koch, @ppk on Twitter. It was a still image of him giving a talk, with a slide proclaiming “If you can’t do it without tools you’re not a web developer.” As you may imagine, this riled some people up, and rather than back down a blog response was written, “What is a web developer?” . If you haven’t read it, I suggest taking a look, and perhaps going through the talk’s slides as well, which are linked to from his blog post.
I admit, I was in the camp of those outraged when I saw the still image of the single slide. After going through the full slideshow, I am less outraged, but still not convinced. Essentially, if I’m interpreting the slides correctly, the idea is that we are over-engineering and bloating web apps with libraries and tooling that aren’t needed. I agree -to a point – but I just wanted to provide some context before addressing his follow-on question. I’ll save my discussion of the slideshow for another day.
What is a “web developer”
First, I’ll reiterate my somewhat snarky response (I can’t find the original tweet so I’m paraphrasing myself here):
“A web developer is a person who builds web sites and/or apps on the web.”
As you might be able to tell I’m not overly impressed with the idea of imposing a criteria for identifying an individual as a “web developer.” First, I’ll address my views on why I believe that “web developer” is an inherently amorphous term. Second, and I believe more importantly, I’ll attempt to address why this is or is not even a question worthy of consideration in its current form.
I realized almost immediately after I began looking through the Twitter responses to the above image, that there isn’t necessarily going to be much consensus about what a “real web developer” is because we are often looking at this question through very different lenses. The lens that the original slideshow was created through seems to be that of someone who spends most of their time doing front-end development. Over-tooling on the front-end would be a good concern to have for such a developer, but that isn’t the only lens through which you can view the question of who is a “web developer.”
The “web developer” term, as far as I’m concerned, is much too broad to have any clear definition very different from the one that I proposed. Perhaps if broken down into smaller parts, i.e. “front-end developer” or “API developer” we can get closer to providing useful definitions.
One question that I think anyone working in software (or pretty much any industry) should be asking themself constantly is, “What is the value of this? What do I hope to achieve?” This has been my biggest issue with this entire discussion, and I’ve yet to have anyone give me a convincing answer.
At first glance, the “why” here seems to be about creating an in group and an out group. You’re either a “web developer” or you’re not. It’s spitting in the face of many people who work within the web development industry but don’t meet one person’s criteria. Perhaps the underlying goal is to offer a road map to becoming a “web developer” but that clearly isn’t how it comes off to many people based on the general outrage that occurred. A good point, presented with poor messaging is likely to, at best, be ignored, or at worst, achieve the type of backlash that we’ve seen in this case.
Another potential question for “why” is to establish some goalpost for employability. If that is the case, it’s a poor question due to my previous point of “web developer” being an inherently nebulous term. Front-end, back-end, full-stack? Which is it? Then there are specific skills and knowledge an employer will be looking for when filling a role. Looking for a “web developer” without further clarification of what skills are needed is a fruitless exercise, so it fails on this potential “why.”
Don’t agree? @ me!
Given all this, maybe there are some valid points I haven’t thought of for trying to establish what it means to be a “web developer.” Surely, some will disagree with one or more of my points, and so I encourage you to rant on me on Twitter @_joelebeau.