Not too long ago Jerry Low wrote this really interesting post about the changing nature of front-end development and how the job title “front end developer” has now become ambiguous due to the range of potential areas of expertise it can cover. I think he was really on the money here and did a great job of bringing into focus this problem.

However I don’t agree that this situation is new. Over my years involved in this industry, I’ve often been frustrated by the different job titles wafting around and various different interpretations possible for each.

For example at Realise, we have “Designers” who work purely in Photoshop or Sketch, and never touch code. There are of course plenty of “Web Designers” who do both the design work and implementation, getting dirty with coding and sometimes going as far as working server-side.

I’ve also spoken with my fair share of “Web Developers” who have baulked at the idea of working with JavaScript in any other sense than configuring a jQuery plugin. The advent of powerful JavaScript engines and MVC frameworks like Angular and React has made the playing field even more complex. Far more is possible on the front-end now, bringing the need for mindsets that would have previously ended up working server-side or in more traditional software development.

The field of web development is broad. So broad that most individuals can’t hope to become competent across all facets of it, and so focus on a few particular fields. A wider understanding of the sector remains though, with individuals still able to operate in, or at least understand other areas, just not to the same depth.

Words themselves, let alone brief job titles, cannot convey this complexity. So to better visualise the landscape, I propose a spectrum like this:

The Web Development Spectrum

At the far left is what I would refer to as an “Engineer” — focused on coding, data structures and functionality rather than visual appearance. Those who (traditionally) might have done a degree in Computer science. Continuing beyond this end of the spectrum would take you to the land of software development.

Then at the other end, we have what I will refer to as the “Designer”. Here the focus is on visual aesthetics and appearance. The land of print design would lie beyond this end of the spectrum.

Those are the two extremes, so what’s in the middle? Well, all the stuff specific to web development. Moving from left to right you could include (the order may of course vary):

Server-side development

Server configuration

Security

Deployments

Build tools

JavaScript frameworks

Performance

Browser support

CSS preprocessors

Analytics

SEO

Accessibility

Animation

User experience

Interface design

So let’s start with myself as an example. I studied Computer Science at university, but always found myself more interested in making stuff happen on screen than understanding concepts like binary search trees. So my strengths are definitely towards that end of the spectrum, but then I also have a solid understanding of most of the fundamentals of front-end web development. My design skills are appalling, but I can recognise a poor design when I see one, so that’s where I properly start to trail off.

Spectrum for David Storey

Now we’ll consider Chris Coyier — creator of Codepen and CSS Tricks who describes himself as “web designer and developer”. Chris definitely understands design and UX, he is also an expert on making this stuff come to life on the front-end, but I believe (with the greatest respect) his “technical” knowledge would start tapering off quite quickly towards that end of the spectrum.

Spectrum for Chris Coyier

Let’s compare that to Val Head, design advocate at Adobe and industry expert on animation on the web. Like Chris, she exists mostly at the design end of the spectrum, doesn’t extend as far towards engineering, but has a distinct peak for her knowledge of animation.

Spectrum for Val Head

Finally we’ll look at Douglas Crockford, father of JSON and JavaScript linting. Douglas got started writing 8 bit games so definitely lives at the “Engineer” end of the spectrum. Whilst he definitely works and plays in the world of web development, I believe his focus lies firmly at the coding end and design concerns wouldn’t be a forte of his.

Spectrum for Douglas Crockford

So there are just a handful of examples of “Web Developers” but with vastly different shapes to their spectrums (or spectra I believe the plural is).

But what about “full stack developers” you ask? At the risk of causing offence, I think the spectrum for most “full stack developers” would look like this:

Spectrum for a “full stack” developer

Broad but shallow. Covering all of the bases, but without any particularly high peaks. There will of course be those highly talented individuals who will be really good at lots of things, and their line sits slightly higher up but I firmly believe you can never be an expert at everything.

I like to think in terms of old-school role-playing games where when creating your character, you have a set amount of points to allocate across all your different “skills” (Strength, Agility, Intelligence), this can result in widely varying characters (e.g. the barbarian — high strength and combat skill but low intelligence and charisma) but ultimately all balance out the same. The same is true for web developers/designers (maybe next I’ll knock up some Character Sheets for well-known developers).

So what is there to learn from this? I’m certainly not proposing that every job listing should include one of these charts. And in reality those charts would probably have far more peaks and troughs, and would need revising every second week.

The point is that the same, or even just similar, job titles hide vastly different ranges of knowledge underneath, all of which are valid and valuable. Don’t judge yourself against others, especially those who get paid to speak at conferences and publish content online — that’s a fast route to imposter syndrome. Judge yourself against you, where you were a year ago.

Job titles hide vastly different ranges of knowledge underneath, all of which are valid and valuable.

Any web/front-end/back-end/UI developer/designer/engineer/whatever could sit down with someone with exactly the same job title and be able to teach the other person something new (and vice versa). I would by no means compare myself equal to any of those examples from above, Chris Coyier, Val Head or Douglas Crockford, but I bet I’ve got at least one thing I can do that they can’t.

And I bet you do too.