One of the most important relationships at any tech company: engineering and design. When this partnership falters, brilliant ideas die on the vine. When it thrives, just about anything is possible. Since I joined in 2015, we've tested many ways to partner across disciplines. The traditional "designers create, then throw specs over the wall to engineers" approach? That’s long gone. Here's what works for us: 1. Erase the handoff mentality entirely Our strongest teams have designers and engineers working in parallel from day one. Engineers join design discussions early, providing technical guidance while concepts are still fluid. This prevents the scenario of a beautiful design proves technically impossible after weeks of work. 2. Create rapid feedback loops Julie Wang is an engineer on our team who has partnered really well with design. A tip she shared recently: "I send screen recordings at all milestones so designers can critique early." The earlier this partnership starts, the more time engineers have to fix bugs, too. 3. Value hybrid skills Our most successful products come from teams where engineers understand visual principles and designers grasp technical constraints. When team members can translate between these worlds, implementation remains true to the vision. 4. Communicate constantly – not just at milestones We've use dedicated Slack channels where work-in-progress is shared continuously. Questions are answered in minutes, not days. 5. V1s, not MVPs We've officially banned the term "MVP" at Duolingo – a policy that received spontaneous applause when I mentioned it at #Config2025 recently. Instead, we focus on shipping "V1s" that genuinely meet our quality standards. Your first version should be something you're proud of, not something you're apologizing for. Big picture: if the relationship between engineering and design is strong and fluid – and everyone has a sense of ownership – there is no ceiling to what you can build.
Tips For Collaborating With Engineers On Design
Explore top LinkedIn content from expert professionals.
Summary
Collaborating with engineers on design requires open communication, mutual understanding, and a shared sense of ownership to create seamless, high-quality outcomes. By working together from the start and building strong partnerships, design and engineering teams can transform innovative ideas into functional and efficient solutions.
- Include engineers early: Involve engineers at the beginning of the design process to align on technical feasibility and avoid surprises later.
- Create open communication channels: Use tools or dedicated spaces for continuous dialogue, feedback, and collaboration throughout the project.
- Clarify handoff details: Provide comprehensive documentation with clear specifications, interaction flows, and edge case scenarios to ensure smooth implementation.
-
-
Most PMs are taking the wrong approach to becoming more technical. You see the pattern: - They struggle in engineering discussions - Feel imposter syndrome kicking in - Then decide "I need to learn to code" This is exactly backward. Here's why: When PMs try to match engineers' technical knowledge, they're solving the wrong problem. Engineers don't need you to understand every technical detail. They need you to: ↳ Provide clarity on what to build ↳ Help them understand customer pain points ↳ Make informed trade-off decisions The real secret to communicating with engineers isn't about becoming an engineer. It's about mastering the art of asking the right questions. A few months ago, Irene Yu (Founder of SkipLevel and former Amazon engineer) shared a powerful framework in our Supra Podcast, doing exactly this. She calls it the FAIR framework: F - Feasibility ↳ What's technically possible? ↳ What are our system constraints? ↳ What dependencies should we consider? A - Alternative Solutions ↳ What other approaches could work? ↳ What are the trade-offs? ↳ How else might we solve this? I - Impact (Short & Long-term) ↳ How will this affect system performance? ↳ What maintenance challenges might arise? ↳ How will this scale as we grow? R - Risk Management ↳ What are potential failure points? ↳ How can we mitigate these risks? ↳ What guardrails should we put in place? Let me be clear: There's nothing wrong with learning to code if you're genuinely interested in building things on the side. That's awesome. But don't sign up for coding classes as a remedy for a challenging relationship with engineering. That's trying to solve the wrong problem with the wrong solution. Next time you feel that urge to sign up for coding classes... Your engineering team doesn't need another dev. They need a product leader who can ask the right questions. What other frameworks do you use to collaborate with engineering teams?
-
Don't overcomplicate design-to-dev handoffs. Listen up designers, dropping Figma files into the void and praying for the best: Your developers are SILENTLY SCREAMING. And no, it's not because they hate designers. Here's the truth about your current process: • You're designing in isolation • You're skipping documentation • You're ignoring technical constraints • You're using inconsistent naming conventions Instead, here's what actually works: 1. Component Audit First - Map existing components before new designs - Document reusable patterns - Align with dev team's component library 2. Design System Integration - Use real data, not Lorem Ipsum - Define clear states (loading, error, success) - Document responsive breakpoints 3. Collaborative Reviews - Weekly design-dev syncs - Live prototype reviews - Technical feasibility checks early 4. Handoff Documentation - Clear component specs - Interaction flows - Edge cases defined - Accessibility requirements Stop treating handoff like throwing designs over a wall. Start treating it like a bridge you're building together. --- PS: The best designs aren't just beautiful. They're buildable. When's the last time you asked your dev team what would make their life easier? Follow me, John Balboa. I swear I'm friendly and I won't detach your components.
-
Want to know the #1 most important lesson I’ve learned about Designer/Engineer handoff? 👉 Make friends with your Engineers! It’s a two way street. Make it more of a conversation with them about what is feasible and if there are any constraints. I have noticed that if they feel heard and part of the process, everyone will be happier! What does this look like in practice? Early on in your design process, make sure you are reaching out to your Engineers to learn about the timing and difficulty of what you are thinking. Learn from them about what takes time and why certain designs may be more difficult. Each project or even team could have different answers. This will depend on the code itself or even the Engineers skill levels. This is important as it will allow for less surprises or unmet deadlines at the end. From the other side, it creates a relationship with your Engineers that I have noticed tends to lead to more collaboration. This open communication encourages questions about the designs which ultimately I’ve noticed leads to more pixel perfect designs!