Andrew
Walpole

Principal Web
Developer &
Engineering
Manager

Designer
Leader
Teacher
Learner
Maker

Invisible Contexts

Josh Collinsworth recently put out an incredibly well-written article about his perceptions of the Front-end Web Development role being devalued within the industry. If you haven’t given it a read, please do!

Josh sums up his article saying he just feels it mostly. Well I feel it too and I’ve been thinking a lot about why that is.

For me, there are two clear places I see front-end development, and especially front-of-the-front-end (HTML, CSS, DOM-facing JavaScript), being devalued.

The Rise of the Full-stack Developer

The last decade of web development has seen multiple balancings and rebalancings of the importance and need for both front and back-end developers. And so as the latest and greatest client and server technologies waged land wars, we sold away that frustration and uncertainty with the idea of a role that can just do it all and break the hard divide between the two.

The Full-stack Developer was borneth!

It looks great on paper, especially to the payroll department: One person to fill traditionally two roles. But in reality, we know it doesn’t work that way. It may be a role for a technology generalist to thrive in, but one person’s effort is finite, and consistent, quality development across the entire product development spectrum requires focus and expertise. Nevertheless, start-ups soaked up the efficiency, and in a tumultuous churn of web tech it was a decent defense.

Fast-forward a few years, the full-stack idea has remained, but those raging wars have mostly subsided. With React and Node’s grip on the industry, and then a rise in serverless architecture, it seems like both sides have reached an agreement: JavaScript!

History lesson aside, how does this devalue front-end development? Whether it’s mostly truth or just stereotype, the idea has been set: Full-stack devs got by with shirking front-of-the-front-end tech and they still built the apps. Ergo, The front end can’t be that important. It’s the real engineering that matters, right?

I might even venture to surmise that concepts like CSS-in-JS, Tailwind and others were born out of necessity from these types of roles looking to squeeze down the uncompromising breadth of technologies they’ve had to contend with. Once again, putting a message out there that we don’t need the raw, deep capabilities of CSS.

In the same sense that I sure can build a website in plain HTML, they sure can build an App with just Javascript and a Database. This was how software was back in the ’90s and early ’00s. UX was icing on the cake, not yet a competitive business strategy. So sure, you can do that, but it doesn’t prove the argument. UX and design are tablestakes now, and the industry isn’t entertaining a step backward.

The Rise of UX Design

That last paragraph is a perfect segue into the other big reason I think front-end development is being devalued: UX Design has been and continues to be, in the spotlight.

What’s not to love about it? A beautiful, thoughtful set of pretty pictures and content. I see what looks like a button and my built-up knowledge of foundational UX patterns as a digitally savvy user has me say,

“Aha! I can click that! Bravo, designer!"

"An accordion? Yes! I know what to do with that too. How lovely!"

"What’s this boring bit with the words and photo? Oh, it does parallax? That sounds fancy, I can’t envision it exactly, but sure, sounds amazing!”

Don’t get me wrong, I think UX Design is incredibly important. I love that it now is as important as it is. I even switched career paths from Software Engineering to Web Development because I wrote a technical paper on the importance of considering the user experience of functional components when building OS-level software, amidst a dull curriculum of C++ and low-level Windows programming.

So don’t take this as me being mad at UX Designers, I’m not. If anything, they’ve done such a good job in their roles, the hand-off to the next step, front-end development, implementation, feels like someone just shut down the party.

”It’s going to take how long? And there will be bugs at first? And when you’re done it will look the same as it looks in figma, just in a browser? The designer already designed it, isn’t the hard work done?”

Some of it is, yes, but we now need to deal with (and we’re finally at the title of the blog post):

Invisible Contexts

Let’s take charge of the problem: Listen fellow front-enders, we have a marketing problem. To our left and our right, the roles around us are dazzling the project managers, clients and VPs with their voodoo and techno-babble. We have voodoo too, but no one sees it. Our role is filled with detail; minutia. We take beautiful broad-stroked ideas and birth them into ugly reality.

Doing that for the web means taking one or two, or if we’re lucky, three different screen designs and translating them into a dynamic functional system that works on all screens, all browsers, all operating systems, all devices, all users, all functional states, all user journeys and stories, etc. These are the incredibly complex, compounded situations of reality that we must work through, these are the invisible contexts that make up the primary function of the job.

And yet they do remain mostly invisible. I don’t see this work being valued in the same way it is for the UX designer; the credit was already given for the broad idea, this next step is nothing new.

”When do we get to launch? That will be exciting!”

I don’t necessarily have an answer to propose to conclude this post. But I did want to end with a fun graphic and connect one more idea. Chris Coyier pointed out that Design Engineering is having a moment and maybe this is our Fresh Start™ opportunity.

Digital product role spectrum chart: showing Design Engineer as a role that overlaps between UX Designer and Front-end Developer.

I like to think that the role of Design Engineer brings these invisible contexts into clearer focus. It’s a role that shifts left from Front-end Developer, encompassing some UX design responsibilities around synthesizing functionality amidst design, and centers on that transition from rough idea to exact reality: What actually is the experience you build? I like it. I think this is a shift that potentially unlocks new value, value that may solve our devaluing problem.

And we’ve seen it before. The Apple of yesterday was filled with roles that centered on that real experience, and we saw the rewards that came from that, they were next level; like nothing else. And now we see how it’s so easily lost when that focus is lost, and they give in to the devaluing.

So I for one am excited to see this solidify further, perhaps it’s still grass-roots at the moment, but the roles do exist sparsely here and there. The only question left is if we do fully shift left, what becomes of the traditional Front-end Developer? Perhaps it’s the place Full-stack belonged all along.