I wrote a post last summer where I identified myself as a web designer in light of my experience in front-end web development. The response was pretty overwhelming and has stuck with me ever since.
What stuck with me most is how relative job descriptions are in web development. I might be a web designer standing next to one person, but a web developer standing next to someone else. Creating exact labels (and job descriptions, for that matter) is an inexact science. When it comes to designing, building, and maintaining websites, it’s hard to pin down labels, despite all our best efforts to do it.
What if we were able to properly categorize and label what we do into neat buckets?
I tried to do that and it gets very messy very fast. In the chart below, hover over the red dots to see different technologies placed on a spectrum.
See the Pen Web Terminology Matrix by Geoff Graham (@geoffgraham) on CodePen.
Feel free to disagree with the placement of the dots. This is more to illustrate the idea that our world is a spectrum. I’m not trying to pigeonhole anyone or anything.
I made that to see where my understanding of general web terms falls into the spectrum of four different disciplines: design, front-end development, back-end development and IT. Chances are you would move the markers based on your own work and experience. Please do! Comparing each other’s would be interesting.
This helped me see how blurry the lines have become between these four disciplines. I remember a time when my job was to “lay out” web pages in Photoshop and send them off to IT for implementation. Many of us would chuckle at that workflow today, but it was a reality then and a sharp contrast from modern workflows. Where design and development used to be in stark contrast to one another, we now have more shared tasks.
Let’s try a different type of chart.
My thinking after creating the spectrum chart led me to think that a scatter-style chart was a bad way to visualize the differences between disciplines. So I made a Venn diagram instead:
See the Pen Web Terminology Venn Diagram by Geoff Graham (@geoffgraham) on CodePen.
The blurred lines are (hopefully) easier to see in this visual. This still gets messy and complicated as our understanding of new techniques and skills evolve.
So, what’s the point of all this?
Looking at datasets is fun.
More importantly, this has a lot less to do with job descriptions, personal labels and specific skills. What I see is a movement beneath the surface that is re-drawing our understanding of what makes up the web spectrum. I was so focused on buzzwords and where they fall on a chart that I believe I may have overlooked the buckets that make up the actual chart.
Our jobs are not contained in anachronistic terms like React, Bootstrap, Grunt and SEO. Those things will come and go and perhaps even come again. Instead, our fundamental understanding of what it means to design or to develop are evolving and, in many cases, overlapping. If the past is any indication of where things were and where they are heading, then I would expect to see the plots on any chart like this start to collect toward the center of the spectrum and for the circles in a Venn diagram to continue becoming more like a single circle.
Or perhaps we’ll see a chart where there is only one circle called The Web© and around it will be many, many other circles that slightly overlap it. Who knows? That’s really the fun part of what we do: continue learning and evolving.
I especially love this line:
“Our jobs are not contained in anachronistic terms like React, Bootstrap, Grunt and SEO. Those things will come and go and perhaps even come again.”
Every time a framework/tool/process comes out there seem to be people saying you need to know X, Y, or Z or else you’re not a real developer or designer. Your quote is a nice way of reminding everyone to keep the perspective that we’re not defined by the framework of the month but instead our willingness to learn, create cool things, and help people.
Thanks for this post!
Excellent comment! (We need an upvote button around here…)
While i agree with the general point of the article there are some big misunderstandings here like grouping SEO with React, Bootstrap and Grunt. SEO is based on optimizing your site to rank higher in search engines while the others are frameworks and a build tool.
To be honest I don’t really feel this kind of merge. I feel more like it’s the opposite. These fields are becoming so complex these years that maybe soon or later there won’t be any fullstack developers :) You have to know about sooo much. Especially frontend is a heavy stuff because of it’s ever-evolving nature. The tools/methods/tricks you used last year can easily become “old” next year. The only thing you can do to make sure your knowledge is up-to-date is to learn, learn and learn. But what about people with family, with full-time jobs (where in many cases developers are treated as factory workers with less chance to evolve)?! My opinion is that these areas will become much stronger and you have to choose in which one you would like to become an expert.
I feel you Victor, and I think that as it takes more and more time to stay up to date hopefully more companies will start accepting the idea of letting employees learn at work. After all, if part of your job is keeping up with modern standards, shouldn’t they at least build in some time to do that?
I agree, lately I’m feeling the need to separate the roles more. This because stuff is becoming so different that one person can’t just know everything.
For example in my company, in the front-end team, where we all work on the same JavaScript app, I’m more focused on HTML/CSS/interaction, while others are focused mostly on models, controllers, routes and stuff like that.
Sadly most companies still need their new ideas to be made by yesterday so they being hard on their employees and cannot think in long-term.
Agreed.
The company I’m working for at the minute (a huge online gambling company) have a project on to convert the main web app from Flash to HTML. I have been brought in to write CSS, just CSS.
It’s a client-side JS app, everything built from the ground up (no third party frameworks). I’d actually love to get a involved in the JS development, but unfortunately I’m considered a CSS specialist, and this company would like to divide each responsibility as much as possible and only hire “specialists” in those fields, to ensure quality.
So… what am I now? Am I a CSS developer? a UI developer? My job title says I’m a Software Developer, but I’m only required to write CSS (not even any HTML, seriously).
My point is – as much as I’d like to learn many more areas of web development, like Angular and Node JS etc (which I have started learning in my own time), I seem to find myself writing more and more CSS, not because I want to, but because I have bills to pay.
I like the last sentence:
Well if someone wants to be an expert in many fields he may get a neurosis. It feels like the time goes faster today more than ever before, you just wake up, go to work and it’s 8pm! I like to learn about everything that is making a buzz in the web, but I can’t sacrifice some necessities.
Well that’s what happens when you get up at 7.30pm. :D
Interesting post.
Also,
Shouldn’t that be ‘develop’?
It’s so nice to know I’m not alone in my seemingly random skillset. I just always learn what I need to in order to do something, I don’t categorize it while I’m doing it. Then when it comes to titles…I have no idea. I make websites (that are sometimes glorified animated presentations with GSAP) and I use the tools I need to to make them.
“Chances are you would move the markers based on your own work and experience. Please do!”
I actually tried doing this on your Pen. Would’ve been cool!
It’s all about how much a company is willing to pay for your service. If you have “Developer” or “IT” associated with your job function, they feel like they have to pay you more. But a “Designer”? Well, all they do is pretty pictures. Can’t be that hard!!!!
Wake me up when it’s over….
I can really relate to this topic as someone asked me recently what was my job, to which I have always answered in the past “I’m a Web Designer”, and to most people this means something as ‘normal’ people ( and I mean those that are not in the online industry ) know what that means to them ( “So, this guy builds websites. Cool.” ), but to those in the industry, I feel that this so broad that at best it means nothing and at worse, it is thought that you make nice layouts and that you have no idea of the technology involved.
Personally, I would put my self closer to a Front-end Developer role than a Backend one, as my interests lie there more, but as pointed out here the lines are so blurred at times that it too doesn’t fit. So right now ( today, as it could and no doubt will change tomorrow ) I would say I’m a Front-end Designer & Developer.