How product designers and engineers can work better together to ship great products (and become bff’s)
When it comes to designers working with developers there can often times be natural tension when it comes to building something together. Designers often create a solution in which they become a helicopter parent, only to cautiously hand off their baby to engineers to build. Sometimes that process works, sometimes it doesn't, and sometimes it’s a roller coaster. Sometimes that handoff is the main interaction a designer and engineer might have until it’s ready to be tested. But if designers take the time to invest in a relationship with their engineers, it’s infinitely more possible to have more fun, less stress, and ship better products.
Get to know each other
Both inside and outside of work you should invest in your relationship with your coworkers. Get to know what they like to do outside of work. Spend some time having lunch, dinner, doing activities, or getting drinks together. By forming a real relationship, great things can happen. You will both be more open and approachable to ask questions, give or receive feedback, call out a concern, have a smoother handoff, pitch ideas, and generally be more comfortable to be around. A bonus is when you become close and they’re able to go the extra mile on your design and really care about those small stylistic choices or help with lower priority items.
Get engineers involved early and often in your process. Invite them to brainstorming sessions. Help them understand the user and business goal. As you start to design a solution pair with them to understand technical constraints early. Because of the early involvement, engineers will feel more involved in the solution and will likely be more motivated to deliver on every detail. Try to spend some time understanding the tools an engineer uses at a high level. This will help you become more familiar with their workflow and make it easier to understand when they run into roadblocks.
If you’re using component design and are defining a new component it’s helpful to understand each other and define functionality early that leads to efficient workflow in the future.
Remind engineers to empathize
Often engineers think primarily in a “coder’s mind-set”. Meaning they aren’t thinking about the holistic solution and how it will help the user, but rather how can they best build the solution. By allowing engineers the opportunity to empathize with the user more, they’re more likely to understand why you’ve designed something specific. Invite engineers to research or usability testing so they can see first hand how users are using the product. Have conversations during brainstorms and handoff’s to remind them how a specific design is solving for the user goals.
Communication and proper tools are key to a great handoff. Over-communicate your solution and don’t assume they understand. Pair up and walk through the intended solution to see if there are any red flags. Describe specific interactions or have prototypes ready. Ideally they’ve been briefed on your solution prior since you’ve been collaborating. Have a separate product copy doc ready. Use a tool to deliver mocks (it’s way faster than specs). Lastly, invest in a design system. (I’m a fan of atomic design). You can start small with just a typography scale and basic components and build from there. When you have type and components defined, it makes the workflow more efficient. It also makes for a common language between roles which makes it easier to communicate.
All of these things combined have helped me build great relationships with engineers, but the key is for both parties to invest in the relationship. Sometimes you need to take the first step and get comfortable going out of your comfort zone to ask questions and approach others. A few weeks getting to know someone can make the months and years you work together much more fun and you’ll build some great stuff too!
What do you do to ensure a great working relationship with your engineers?