I want to highlight the value of having a person with both development and design skills in the team.
In my opinion, there are two options (not necessarily exclusive) to ensure good collaboration between design and engineering:
- Hire for a hybrid role.
- Put a set of processes to ensure a smooth collaboration between designers and developers.
There are many articles with suggestions on how to improve the collaboration between designers and developers. Here, I’d like to list a few of them and explain why the hybrid role can be so valuable.
It’s interesting to see how most of the suggestions focus on communication between the teams. That seems to be the main source of conflicts between design and engineering teams.
For example, a common suggestion is a kick-off meeting with designers and developers. This initial discussion should focus on processes rather than content. On how the collaboration should happen. For example:
- Design and technology constraints by frameworks or libraries used in development.
- Naming conventions.
- How to show state, interactions, and animations in design components.
- Which tools to use for the collaboration
- How to manage assets (for example, pngs or svgs)
Not a Linear Process
These initial discussions mean involving the development team from the beginning of the design process. Considering design and development as different phases is wrong.
The term “handover” encourages a culture where designers feel like their job ends at Figma.
Design - Frontend - Backend
(Almost) Everybody agrees that frontend and backend are not different phases, then why is design considered another phase?
The relationship between design and frontend should be the same as frontend and backend.
Focus On Outcomes, Not Outputs.
Some design teams think their job is done when they hand over the mockups to the development team. Instead, the design team should focus on the final user’s experience. That means owning and helping throughout the whole process.
That also means that the design processes should be involved during development. Many questions on implementations, edge cases, reusability opportunities can arise at this stage, and having a designer to help with the decision means better decisions.
If the component in production is terrible, a perfect mockup doesn’t help anyone.
Faster and reusable development
In the current times, developers are more expensive and hard to find than designers. Therefore, it makes sense to spend more time in the design phase to speed up the development process.
But, to design components that are faster to develop, designers need to understand how the components are implemented, either by asking a developer or knowing it themselves.
Code maintainability, reusability, and extensibility should start at the design stage.
Let’s review the summary of better collaboration topics:
- Initial discussions
- Not a linear process
- Design - frontend - backend
- Focus on outcomes, not outputs
- Faster and reusable development
What role better represents all the previous topics than a hybrid designer/developer?
In the end, it’s not about one or another process. One must always strive for a smoother and deeper collaboration between designers and developers. A hybrid role ensures collaboration because there is a nexus that understands both sides.
Having a hybrid designer/developer in the team ensures the interoperability between design and development.
As stated at the beginning, teams have two choices:
- Hire for a hybrid role.
- Ensure the processes for a good collaboration.
Obviously, having this hybrid role in the team does not mean that we don’t need any processes for collaboration. But the processes appear naturally instead of imposing them on a team. Therefore, the collaboration flows smoother and is focused on the needs.
If you like this post, consider sharing it with your friends on twitter or forwarding this email to them 🙈
Don't hesitate to reach out to me if you have any questions or see an error. I highly appreciate it.
And thanks to Elina, Bernat and Miquel for reviewing this article 🙏
Thanks for reading, don't be a stranger 👋
GIMTEC is the newsletter I wish I had earlier in my software engineering career.
Every other Wednesday, I share an article on a topic that you won't learn at work.
Join more than 3,000 subscribers below.