By Amy Collins, Revelry Alumni
In the world of software development, you may have stumbled across titles like DevOps Engineer, Data Engineer, or Infrastructure Engineer. At Revelry, we certainly don those hats, but we have another unique team I’m proud to be a part of: Design Engineers.
What is a Design Engineer? In a nutshell, we are user experience (UX) specialists, toeing the line between creativity and code.
The Hybrid Skillset of a Design Engineer
When I first graduated college, a well-meaning professional told me that because I was out of school and needed to showcase my skill set, I had to make a choice: “Be a designer or delve into coding. You can’t do both”, he said, “because you’ll never be very good at either.”
Fast forward a few years (okay, more than a few), and guess what? He was wrong.
As Design Engineers, we don’t just acquire a dual skillset; we use those skills to craft that perfect user experience. Imagine visualizing a project from an early wireframe to a kickass coded product. That’s us. We see the big picture, spot the potholes, and swerve right around them. (With most of us being New Orleanians, we’ve got some experience in that. 😉)
Some days you may find us deep in the weeds of gnarly code; sometimes up to our eyeballs in wireframes; or even conducting user testing or font audits or design tear-downs. Regardless of the focus of a particular moment, our job isn’t just to connect the dots between design and implementation – we use our expertise to craft interactions that are meaningful and memorable for every user.
Tools of Our Trade
Navigating the diverse roles of a Design Engineer requires the best tools in the industry.
Programs like Figma and Axure are great for rapid and powerful prototyping, which takes the guess-work out of how something will actually feel to a user while staying super quick and agile.
There’s also our beloved preferred tech stack of Elixir + Phoenix, which blurs the lines between front-end and back-end development – particularly with the advent of LiveViews. Historically, reactive web content has largely been the domain of JavaScript frameworks and libraries, but LiveView has shifted this paradigm: we can now create rich and interactive web pages directly from the server-side.
What does that mean? Well, for example, with LiveView you can have real-time validations, updates, and more, all handled server-side, but reflected instantly on the client. This reduces the need to split logic between client and server, or to use heavy client-side frameworks for many applications. Additionally, pages can react to changes and dynamically update the client-side without a full page reload. And, since state is maintained on the server, you don’t have to manage complex client-side state logic as you might with traditional applications.
Another important part of the Design Engineer’s toolkit at Revelry is the use of utility classes when writing styles. Our preferred library is TailwindCSS, which acts as a common language and a bridge between designers and engineers. Instead of lengthy definitions or back-and-forth discussions on naming conventions, utility classes provide a shorthand that both parties understand – a way to quickly translate a design vision into actionable code. They streamline the process, saving time and reducing misunderstandings. It’s a win-win for both the design and engineering sides of a project.
And finally, my favorite tool in our toolbox, affectionately referred to internally as our superpower: the demo drill. During our All Hands meetings, demo drills become a transformative exercise. Imagine having a room full of 50+ potential users, each with diverse perspectives and experiences, all using your work-in-progress app. Their insights not only help in identifying technical glitches, but also provide invaluable feedback on the overall user experience. It can be scary and it certainly makes you feel vulnerable, but it’s important to get your work in front of real users as early and often as possible.
Tactics for Wearing Two Hats
Even though the title “Design Engineer” isn’t universally used, there are many of us in the industry juggling the dual roles of designer and engineer. How do we balance these two worlds? After all, shifting between logical and creative mindsets – all while prioritizing the end-user – can be challenging. And honestly, some days it’s a tougher switch than others.
One strategy I have adopted is maintaining a well-organized task backlog. This allows me to easily transition between tasks that cater to my creative inclinations and those that require my logical side to take the reins, especially when I need a shift from brainstorming into the structured realm of coding.
I also frequently rely on the strategy of dedicated time blocks. Setting aside specific chunks of time on different days or parts of the day for either design or coding has been a game-changer. For instance, mornings might be reserved for creative design tasks when my mind is fresh, and afternoons for coding, when I’m in a problem-solving mode. This approach helps me align my focus with the task, preventing the constant mental fatigue from switching between the two disciplines.
Lastly, there’s the commitment to constant growth and collaboration. Whether it’s attending the occasional lunch-and-learn, hopping into an engineering or design meeting, or even virtually attending conferences, I find it especially important to make time for professional development given the diverse demands of this job. And, even as someone who relishes solo work, I can attest that there is so much value to be found in pairing up with colleagues throughout the day – these interactions help keep my skills sharp, informed, and ever-evolving in both domains.
Envisioning the Bright Future of Design Engineering
The title Design Engineer may not yet be common in every company, but it is rising in significance. As industries become more user-centric and the line between design and development continues to blur, the need for professionals who can navigate both worlds will only increase.The growth of roles like Design Engineer at Revelry serves as an indication of this shift, and it’s an exciting time to be at the intersection of design and implementation.
As we continue to challenge the status quo, redefine boundaries, and craft memorable user experiences, we are not just working – we are revolutionizing how digital products are built and perceived.
Want to chat about product design (or anything product development)? Connect with a member of our team. We love this stuff!
We're building an AI-powered Product Operations Cloud, leveraging AI in almost every aspect of the software delivery lifecycle. Want to test drive it with us? Join the ProdOps party at ProdOps.ai.