What is a UX Engineer?

UX Engineers are the conduits between UX design and front-end development.

I started my computer science degree in 2010 - shortly before it became a crime against the industry to make a production web app with vanilla javascript and jQuery. My formal education was "full-stack" - but even as a student I was able to define a black and white mental schema of what belonged on the front end and what belonged on the back end. The front end - the HTML, CSS, and presentational javascript, was the fun and colorful playground where I made the website look good by playing with colors, layouts, and interactivity. The backend was the necessary but dull complexities of logic that were used to retrieve and format data from an external database of some kind. Looking back there was a fresh coat of nativity and confidence behind my absolutism, but I'm not convinced that I was that far off.

But then AngularJS happened. And then React. And then Vue. And then all of the sudden the front end became supercharged and insatiable - it stole routing logic from the backend, it adopted virtual DOMS, and then it armed itself with an endless amount of new lifecycle methods and best practices. And just like that, front end development was no longer synonymous with making a web application look and feel right.

Fast forward to today - HTML, CSS, and presentational Javascript are still part of a front end code base, but only a small fraction of it. Don't believe me? Try to find a Front End Engineer job posting where they are a higher priority than 'X number of years experience in React/Angular/Vue'. Even better, try to find a posting that requires the applicant to submit a visual portfolio. That's right, most front-end engineering jobs don't require a visual portfolio - which is probably a good thing because most front-end engineers don't have one. And it's not because front-end engineers are lazy, or because the hiring managers are misguided. And it's definitely not a recurring coincidence. It's because front-end engineering positions are actually full stack positions within the React/Angular/Vue tech stack.

I know what you're thinking - don't these new age front end engineers also know the HTML, CSS, and presentational Javascript parts as well? After all, there is a designated slot for them within each of the frameworks. At the risk of a harsh generalization - no, they don't. Or at least not really. Almost all of the front end engineers I have met - including and especially the talented ones, write HTML, CSS, and presentational Javascript like... well... a full stack developer would. Messy CSS, non accessible HTML, and a tendency to miss the finer details of a high fidelity mockup is the tradeoff for mastering the complexities of modern front end application architecture.

There are of course premade component libraries, prebaked CSS, and of course the natural competencies of intelligent full stack developers that can help them make web applications look...passable. But the fact is that perfect implementation of UX design is a job in itself and suffers whenever it becomes a secondary responsibility of someone who already has a full plate.

Still not convinced? Consider this undeniable tenant of lean application development: creating high fidelity mockups is quicker than creating them in code. But still, its enough work and nuisance that many companies - even startups - have designated employees with this sole responsibility - they're called UX Designers. So if there are designated people for making the look and feel of a web application using design tools, should there not be a designated role for making it in code?

Enter the UX Engineer. Sometimes called a Design Technologist or a Prototyper. We think in typography and color palettes, but produce HTML and CSS. We excel in javascript as it pertains to interaction, but have little interest within the context of things like API definitions or application state.

We're not designers - we're real engineers - we know how to use version control and participate in morning standups. We may not be as technically well rounded as our traditional front end counterparts, but we are infinitely better at speaking UX and bridging any design/developer gap that could jeopardize a web application's look and feel. We won't replace your front end engineer, but we'll make his or her life a lot easier by handling 'the design stuff'.