In our latest fireside chat with Miriam Suzanne, founder of Oddbird, we talk about the ‘design engineer’ role as part of the ‘Should designers learn code or vice versa should devs learn design’ debate. Watch the chat below:
Key takeaways from the conversation:
- In Miriam’s team, designers work on creative direction and design engineers work closely to implement a prototype and get the designs production-ready within the browser.
- Similar to UX-minded devs, the UX engineer’s role is rooted in good communication skills and doesn’t view UX as being the sole responsibility of the design team.
- When designs are implemented in the browser and you’re able to have more of a ‘feel’ of the design, both the designer and dev can ensure the UX is comfortable and inviting for the end-user (and maybe even surprising if the context calls for it!)
What does a design/UX engineer get up to?
As opposed to a more silo’d developer role that involves a very in-depth focus on the system architecture, a UX engineer works much more closely with the design team to validate and implement designs. They have a technical background and are instrumental in bridging the gap between how mockups look and how they will perform on an interface.
”Design engineers work to understand a team’s product and process, then bring them up to speed with front-end and design best practices. Because they can “speak” both design and development, they can facilitate better collaboration between highly specialized designers and engineers from prototyping to production-ready code.— Design Engineering Handbook
Workflow-wise, what would that look like?
In the truest sense of the phrase, it is a “hybrid-role”.
In the case of Miriam’s team, this involves minimum fidelity of designs before they are implemented and then finished collaboratively in the browser. It’s not a substitute for not having dedicated designers or developers because each specialization is needed within a product team but it is an opportunity to increase the quality (and speed) of implementation and to innovate.
Very often, more than designs being informed by technical constraints, they’re not always informed by technical possibilities. A design engineer’s mandate is to uncover these opportunities as much as it is to reduce ‘design gotchas’ downstream as the devs are in implementation mode. For larger enterprise products, this role and accompanying workflow can be a game changer.
Miriam chats about what this workflow looks like for herself and her team and how important project management and coordination has been in making sure the right amount of overlap happens between design and the rest of the dev team. On Ceara’s side, this attention to workflow has made all the difference so that designers (like herself) don’t become isolated in their concept exploration or, conversely, get trapped in a constant loop of incremental improvements instead of more consolidated and impactful changes to the UX.
Whether or not you have a UX engineer in your team, one key message from both Miriam and Ceara touch on is to be wary of how success is measured within a product team. Measuring the success of a sprint according to what % of tickets were completed can poison the well in terms of how much room we make for overlap between design and dev. It’s important to move fast but to be conscious if it’s habitually leading to sub-optimal outcomes of the end-user.
Technical debt and design debt are facts of life for the typical product team but roles like UX engineers can help mitigate that as the business and product scale.
🔥 About this fireside chat series
In this fireside chat series, we put a designer and developer together to talk about design from a perspective that doesn’t get heard too often around the design table. We don’t get to see design through the eyes of developers but very often they play a huge role in helping manage complexity in a user experience. With this series, we highlight what designers and devs share in common and cover topics like designer and dev collaboration, UX fundamentals, working with user research, usability testing and more!