Design engineer

It’s been just over two years since Chris wrote his magnum opus about The Great Divide. It really resonated with me, and a lot of other people.

The crux of it is that the phrase “front-end development” has become so broad and applies to so many things, that it has effectively lost its usefulness:

Two front-end developers are sitting at a bar. They have nothing to talk about.

Brad nailed the differences in responsibilities when he described them as front-of-the-front-end and back-of-the-front-end web development:

A front-of-the-front-end developer is a web developer who specializes in writing HTML, CSS, and presentational JavaScript code.

A back-of-the-front-end developer is a web developer who specializes in writing JavaScript code necessary to make a web application function properly.

In my experience, the term “full stack developer” is often self-applied by back-of-the-front-end developers who perhaps underestimate the complexity of front-of-the-front development.

Me, I’m very much a front-of-the-front developer. And the dev work we do at Clearleft very much falls into that realm.

This division of roles and responsibilities reminds me of a decision we made in the founding days of Clearleft. Would we attempt to be a full-service agency, delivering everything from design to launch? Or would we specialise? We decided to specialise, doubling down on UX design, which was at the time an under-served area. But we still decided to do front-end development. We felt that working with the materials of the web would allow us to deliver better UX.

We made a conscious decision not to do back-end development. Partly it was a question of scale. If you were a back-end shop, you probably had to double down on one stack: PHP or Ruby or Python. We didn’t want to have to turn away any clients based on their tech stack. Of course this meant that we had to partner with other agencies that specialised in those stacks, and that’s what we did—we had trusted partners for Drupal development, Rails development, Wordpress development, and so on.

The world of front-end development didn’t have that kind of fragmentation. The only real split at the time was between Flash agencies and web standards (HTML, CSS, and JavaScript).

Overall, our decision to avoid back-end development stood us in good stead. There were plenty of challenges though. We had to learn how to avoid “throwing stuff over the wall” at whoever would be doing the final back-end implementation. I think that’s why we latched on to design systems so early. It was clearly a better deliverable for the people building the final site—much better than mock-ups or pages.

Avoiding back-end development meant we also avoided long-term lock-in with maintainence, security, hosting, and so on. It might sound strange for an agency to actively avoid long-term revenue streams, but at Clearleft it’s always been our philosophy to make ourselves redundant. We want to give our clients everything they need—both in terms of deliverables and knowledge—so that they aren’t dependent on us.

That all worked great as long as there was a clear distinction between front-end development and back-end development. Front-end development was anything that happened in a browser. Back-end development was anything that happened on the server.

But as the waters muddied and complex business logic migrated from the server to the client, our offering became harder to clarify. We’d tell clients that we did front-end development (meaning we’d supply them with components formed of HTML, CSS, and JavaScript) and they might expect us to write application logic in React.

That’s why Brad’s framing resonated with me. Clearleft does front-of-front-end development, but we liaise with our clients’ back-of-the-front-end developers. In fact, that bridging work—between design and implementation—is where devs at Clearleft shine.

As much as I can relate to the term front-of-front-end, it doesn’t exactly roll off the tongue. I don’t expect it to be anyone’s job title anytime soon.

That’s why I was so excited by the term “design engineer,” which I think I first heard from Natalya Shelburne. There’s even a book about it and the job description sounds very much like the front-of-the-front-end work but with a heavy emphasis on the collaboration and translation between design and implementation. As Trys puts it:

What I love about the name “Design Engineer”, is that it’s entirely focused on the handshake between those two other roles.

There’s no mention of UI, CSS, front-end, design systems, documentation, prototyping, tooling or any ‘hard’ skills that could be used in the role itself.

Trys has been doing some soul-searching and has come to the conclusion “I think I might be a design engineer…”. He has also written on the Clearleft blog about how well the term describes design and development at Clearleft.

Personally, I’m not a fan of using the term “engineer” to refer to anyone who isn’t actually a qualified engineer—I explain why in my talk Building—but I accept that that particular ship has sailed. And the term “design developer” just sounds odd. So I’m all in using the term “design engineer”.

I can imagine this phrase being used in a job ad. It could also be attached to levels: a junior design engineer, a mid-level design engineer, a senior design engineer; each level having different mixes of code and collaboration (maybe a head of design enginering never writes any code).

Trys has written a whole series of posts on the nitty-gritty work involved in design engineering. I highly recommend reading all of them:

Responses

Andy Bell

A good post by @adactio. I definitely consider myself to be a design engineer—especially these days. Sure I can write JS, but I’m happy designing and more frequently, I do nearly all of that in the browser instead of static tools like Sketch adactio.com/journal/17838

# Posted by Andy Bell on Friday, February 19th, 2021 at 1:38pm

Egor Kloos

Design engineer. The job description has been around for a while, and I use it when I need to add context. Abusing the term ‘engineer’ is a long-standing tradition in IT, but here it’s less confusing than everybody being a frontend developer. adactio.com/journal/17838

# Posted by Egor Kloos on Sunday, February 21st, 2021 at 5:09pm

Pablen

Amazing, thanks. 😊

# Posted by Pablen on Thursday, April 22nd, 2021 at 3:13pm

RYO@Rriver

“I can imagine this phrase being used in a job ad. It could also be attached to levels: a junior design engineer, a mid-level design engineer, a senior design engineer; each level having different mixes of code and collaboration.” adactio.com/journal/17838

# Posted by RYO@Rriver on Sunday, May 16th, 2021 at 12:51am

2 Shares

# Shared by Clearleft on Thursday, April 22nd, 2021 at 3:08pm

# Shared by Brian Ty Graham on Thursday, April 22nd, 2021 at 3:09pm

7 Likes

# Liked by Ivan Wilson on Friday, February 19th, 2021 at 1:03pm

# Liked by Chris Jones on Friday, February 19th, 2021 at 1:39pm

# Liked by Trys Mudford on Friday, February 19th, 2021 at 1:51pm

# Liked by Christian Walter ©️ on Monday, February 22nd, 2021 at 5:27pm

# Liked by Beko Pharm on Sunday, February 28th, 2021 at 8:49am

# Liked by Clearleft on Thursday, April 22nd, 2021 at 3:40pm

# Liked by Brian Ty Graham on Thursday, April 22nd, 2021 at 3:40pm

Related posts

Declarative design systems

Is your design system really a system …or is it more like a collection of components?

Partnering with Google on web.dev

How Clearleft worked with the Chrome team to create a fifteen-part course on modern responsive design.

Design research on the Clearleft podcast

It’s like a murder mystery. But not sponsored by Mailkimp.

Utopia

Why do I like fluid responsive typography? Let me count the ways…

The history of design systems at Clearleft

From pattern portfolios to Fractal.

Related links

Let’s reinvent the wheel ⚒ Nerd

Vasilis gives the gist of his excellent talk at the border:none event that just wrapped up in Nuremberg. The rant at the end chimed very much with my feelings on this topic:

I showed a little interaction experiment that one of my students made, with incredible attention to detail. Absolutely brilliant in so many ways. You would expect that all design agencies would be fighting to get someone like that into their design team. But to my amazement she now works as a react native developer.

I have more of these very talented, very creative designers who know how to code, who really understand how the web works, who can actually design things for the web, with the web as a medium, who understand the invisible details, who know about the UX of HTML, who know what’s possible with modern HTML and CSS. Yet when they start working they have to choose: you either join our design team and are forced to use a tool that doesn’t get it, or you join the development team and are forced to use a ridiculous framework and make crap.

Tagged with

Design Engineer / Front-end Developer | Clearleft

Are you a web dev that’s into progressive enhancement, accessibility, design systems, and all that good stuff?

You should come and work with me at Clearleft.

Tagged with

Reflections on Design Systems and Boundaries - Jim Nielsen’s Blog

Jim shares his thoughts on my recent post about declarative design systems. He picks up on the way I described a declarative design systems as “a predefined set of boundary conditions that can be used to generate components”:

I like this definition of a design system: a set of boundaries. It’s about saying “don’t go there” rather than “you can only go here”. This embraces the idea of constraints as the mother of invention: it opens the door to creativity while keeping things bounded.

Tagged with

The Case for Design Engineers - Jim Nielsen’s Blog

This is really interesting. I hadn’t thought too much about the connection between design engineering and declarative design before now, but Jim’s post makes the overlap very clear indeed.

Tagged with

Utopia - an introduction - YouTube

James and Trys have made this terrific explanatory video about Utopia. They pack a lot into less than twenty minutes but it’s all very clearly and methodically explained.

Tagged with

Previously on this day

5 years ago I wrote Interaction 19

Making the best of a so-so conference.

8 years ago I wrote Enhance! Conf!

The first conference dedicated to progressive enhancement.

8 years ago I wrote New edition

The second edition of HTML5 of Web Designers

14 years ago I wrote Music::Business

Three ages of lunacy.

15 years ago I wrote Rambling

Speaking and travelling.

16 years ago I wrote Fanning the flames

Version targeting again. And again. And again.

20 years ago I wrote iLove the iLife I iLive

On Monday, I placed an order at the Apple Store online. The delivery time was estimated at three to seven working days. My order showed up within 48 hours.

21 years ago I wrote Planes, trains and broadband

This live, literally on-air, description of Lufthansa’s experimental flights with broadband access mirrors my own frustrations with the ludicrous idea of using a pop-up window as a control mechanism:

22 years ago I wrote Ch-ch-ch-changes

I think it’s high time we had a new CSS theme here to brighten the place up a little.

22 years ago I wrote Mac voyeurs

ZDNet has created a monster.