2 min read

Engineering and design as partners

I’m so thankful for software engineers. I’ve worked with dozens of amazing folks over the last 17 years and seen a common thread through all of them. When I, as a designer, work with them as a partner it’s always gone well. And, as a former frontend developer, I know the pain of getting things coded.

Part of my reason for closely partnering is because of how my career progressed; where I was only in the room based on the permission of some amazing engineers, and part of this because of my love of working together instead of one person dictating to the other how things should go. That never ends well. Not for the designer, and not for the developer.

Over the past few years I’ve grown comfortable with the model of working closely with an engineer to create an app or screen or experience, designing, sketching, riffing, and ultimately tweaking together until and after the item is shipped. There’s never a point where design is 100%, and that’s intentional.

I’d rather get close first, and partner design and code together to figure out what should actually show up to our customers.

Recently I had another great example. I designed something, probably to 95% (more than normal actually), the awesome engineer I worked with took it to code, and shared the results. They’d made some changes based on the design, but the reasons for the changes were good ones. I then shared back a quick sketch on how to evolve things further, matching neither my original design nor the work in code.

This process is painless. It requires designer and engineer to be partners, and to not hold on too tightly to any individual design element. The engineer can modify most of the changes and push back on the ones that don’t make sense, and the work we’re doing gets out to customers faster. I love this method.

The downside, for some, can be loss of control. In earlier years, when I first became a designer, I agonized over every pixel. I’d design something in Illustrator, then export out slices of the design to be dropped into HTML as images. The code matched the design, and all was good in the world. Then responsive design took over, and I had to give up pixel perfection. I’m thankful for that.

Now I have a much more fluid approach, recognizing that some design elements are important to push on, and others can be shipped quickly and experimented later.

It also makes for less burnt out designers and developers.