In Silicon Valley lingo, people who both design and develop software are sometimes known as unicorns. The term is tongue-in-cheek, but it raises a serious question: Is operating across two different disciplines really such a rare and magical thing? And if so, why?
In May of this year, I started a rotation on the Design team at Button. As a frontend engineer with no professional design experience, I approached the opportunity with high hopes and measured expectations. Six months later, I'm happy to say that a role that combines design and engineering not only works, but can meaningfully improve how your teams work together.
But first, let's talk about how this all started. It began as an itch, a lingering sense that the typical engineer growth ladder wasn't the best fit for me. This wasn't always the case. Ever since my first high school Computer Science course, I've loved how something as intangible as code could create things that were useful and even delightful. So, when I graduated from college, I jumped into my first frontend engineering role without reservations.
At first, it was as exhilarating as I'd thought: I was shipping real products! For real people! But after three years of building CRUD apps, the novelty had worn off. The time had come in my career to move from the what (building stuff) to the why (higher-level technical decisions), and–though I was loath to admit it–I wasn't excited. The more I delved into technical abstractions, the more removed I felt from the product and our users. After some soul-searching, I realized that what I wanted to focus on was a different kind of why: Why build this? Which problems are we trying to solve, and how can we make sure that the products we build solve them?
With the support of my manager, I approached Patrick Lewis, our Head of Design, and told him I was curious about exploring the discipline. To my pleasant surprise, he offered to show me the ropes. After further discussion, we decided that a three-month rotation on the design team would be a good, low-risk way for me to learn more about design.
Within a month, I felt rejuvenated. I was learning at an incredible pace, and what's more, everyone involved agreed that there were distinct benefits to having someone around who wears both hats. At the end of the rotation, we decided to formalize my transition to Button's first UX Engineer. In this post, I'll share a few of the responsibilities I've taken on in my new role, plus some thoughts for anyone considering a similar career path.
UX Engineering isn't a cookie-cutter role, so there's no common recipe for its responsibilities. (There are also any number of titles that could apply to a role that combines design and engineering, but for simplicity, I'll continue using "UX Engineer.") What it isn't, at least at Button, is translating mocks into pixel-perfect CSS. (Yes, roles like this do exist!) Instead, I work across design and engineering as an individual contributor, with a focus on projects that benefit from a knowledge of both disciplines. Here are a few things I do at Button that are unique to my role:
So, you think you might want to be a UX Engineer. The details will differ depending on your skillset, and interests, and team, but the role I've described thus far isn't for everyone. Operating across teams means context switching, often several times a day, between tasks that are entirely unrelated (conducting user research and fixing bugs, say). It also means juggling multiple teams' meetings and consciously monitoring your projects to ensure they don't have a bus factor of one. And if you're the only UX Engineer, it can mean acting as a mediator between teams with opposing viewpoints.
But it also offers ample rewards. As a UX Engineer, you're uniquely positioned to ensure that (A) your designs deliver value to users, and (B) their implementation delivers on that vision. You also have some unique techniques to expedite the process of building software. In one recent project, I collaborated with a backend engineer to design the underlying APIs and wireframes for an internal tool in parallel, tweaking each according to the needs of the other. If we'd approached the project in the standard assembly-line fashion, it would have taken much more back-and-forth to produce a user-friendly UI. Experiences like this make me grateful for the unique opportunity I've had to craft a job description that allows me to do my best work.
Landing the job
Still on board? Great. Your next challenge will be to get a job as a UX Engineer. Depending on your situation, that could mean doing a rotation, finding a new job, or even taking some time to develop your design or engineering skills. Regardless of your path, I'll offer the following advice: More often than not, people are happy to see someone get excited about their field. If you know a designer or engineer whose work you admire, they're probably more than happy to point you in the right direction.
On that note, I'd like to thank Patrick Lewis and Nelle McDade of the Button Design Team for their peerless mentorship. I'm also very grateful to Mikey Wakerly and James McGill, our CTO and VP of Engineering, for their support and encouragement throughout this process.
Before I close, an obligatory shoutout: If you're looking for a company that delivers on the promise of professional development, Button is hiring!