Back

How to Bring Design and Development Worlds Together

Strong products start with stronger teams. Discover how developers and designers can become true allies and drive better outcomes together.
Joanna Szarblewska & Bartosz Fórmanowski

Joanna Szarblewska & Bartosz Fórmanowski

Feb 12, 2025 | 16 min read

How to Bring Design and Development Worlds Together

The boundary between design and development is increasingly fluid in software development. But, we still often encounter situations where front-end developers and product designers work in isolation, treating their domains as separate worlds. This article stems from our experiences and observations that the best results come when these worlds unite.

As a team of front-end developers and product designers, we want to share our vision of effective collaboration. We'll show how to break stereotypes and build communication bridges. Through strong communication skills and mutual respect, we’ll unlock new solutions that benefit both employees and the company.

We believe the key to success lies in understanding the other side's perspective and active collaboration from the beginning of the project. Instead of operating in a waterfall model, where design is thrown over the wall to development, we propose an approach based on continuous dialogue, maintaining effective communication, and mutual respect for each party's skills. This results in a smoother workflow and better outcomes.

From One Extreme to Another: Stereotypical Front-end Developers and Product Designers

From One Extreme to Another In our professional lives, we encounter many new people. We change teams, projects, or even companies. Sometimes, the connection with new coworkers is immediate and surprising, while other times, it is a long-term process. To facilitate team communication and increase self-awareness, we would like to start by presenting a vision of some stereotypical front-end developers and product designers and how these types can hinderq a successful project.

The Yogi

This front-end developer believes he's "one with all" and implements as it is most convenient for him. He signals changes (if at all) only after the work is done, and does not discuss his mystical directives.

  1. Lack of Communication and Missed Opportunities for Improvement
    When developers only signal changes after completing their work, it creates a disconnect in the collaboration process. Designers rely on constant feedback to ensure the design vision is executed properly, and without ongoing discussions, the final product may not align with the designer’s intentions. By not actively seeking feedback or suggesting improvements, developers miss valuable opportunities to optimize the design, leaving problem-solving skills and technical insights unused.

  2. Resistance to Change and Design Fidelity Issues
    A lack of flexibility and the failure to engage in constructive discussions make it difficult to refine designs based on new insights or user feedback. When developers don’t justify their decisions or collaborate with designers, the final product may deviate from the intended visual or functional aspects. This resistance to change can result in misalignment between the design and implementation, hindering innovation and compromising the overall quality of the product.

  3. Frustration, Misalignment with the Product Vision, and Rework
    Without proper collaboration, developers who work independently can create tension, making the design process more frustrating and inefficient. The lack of alignment between the design team and the product vision increases the risk of the final product not meeting user needs. By making changes after the fact, rework and delays are inevitable, leading to unnecessary stress that can impact the project timeline, reducing productivity.

The Literalist

Implements exactly as it is on design, without challenging solutions, even if those would lead to more optimal approaches.

  1. Lack of Flexibility and Missed Opportunities for Innovation
    When developers avoid questioning the design or exploring alternatives, it results in missed opportunities to solve problems efficiently, especially in the context of building an MVP. This reluctance to adapt or change can prevent the team from finding smarter solutions that balance design and technical skills, leading t less innovative products. By sticking strictly to the design without considering potential improvements, the developer limits the team's ability to optimize and refine the product.

  2. Limited Collaboration, Feedback and Efficiency
    Without open feedback and collaboration, it becomes difficult for the designer to understand the developer's perspective, and vice versa. A lack of communication leads to inefficiencies, as the developer may miss opportunities to optimize code or reduce development time. When revisions are necessary, the frustration that arises from a lack of critical engagement with the design process can further stifle collaboration, slowing down progress.

  3. Misalignment With MVP Needs and Technical Challenges
    Strict adherence to the design without considering the evolving needs of the MVP can cause delays, as the developer might ignore changing priorities. The absence of discussions regarding technical challenges means that potential problems go unnoticed until they escalate, affecting the overall development process. This lack of adaptability can lead to rework and missed deadlines, ultimately impacting the project's success.

2. Choose fighter

The Visionary Autocrat

This product designer does not consider the developer’s opinion, treats their design as the final version of appearance and functionality, and is not open to discussion or changes.

One such stereotype is "The Visionary Autocrat," in which designers adopt a dictatorial approach, dismissing external feedback and undervaluing developers' input. This mindset can lead to a lack of collaboration and create barriers in the development process. Designers often believe their vision is the only correct one, failing to recognize the value of diverse perspectives. This rigidity can result in designs that are impractical or difficult to implement, as technical limitations are overlooked, and developers' expertise is not used effectively.

  1. The Closed Door to External Feedback
    Designers often pour their creativity and vision into a project, which can sometimes lead to resistance to external feedback. This resistance might stem from a belief that their design is flawless or a fear that others may not fully grasp their artistic intent. However, this mindset can hinder the project's potential.

  2. Undervaluing Developers' Input
    In some cases, designers may overlook developers' feedback, assuming that developers lack the necessary design skill. This misconception can arise from siloed workflows where designers and developers operate in separate spheres, leading to misunderstandings about each other's expertise.

  3. Ignoring Technical Limitations
    Designers often focus on the visual and user experience aspects of a project, which can lead to overlooking technical limitations. This oversight can result in designs that are challenging or time-consuming to implement, causing frustration for developers and extending project timelines.

The Pushover

A product designer who avoids conflict situations during collaboration, relies on the developer's suggestions without having arguments, characterized by a lack of initiative.

On the opposite end of the spectrum, we encounter "The Pushover". This designer avoids conflict during collaboration, relies heavily on developers' suggestions without argument, and is characterized by a lack of initiative. This approach can lead to a passive role in the design process, where the designer’s input is minimal and often dictated by others.

This approach can hinder the design process, as it may result in uninspired or unoriginal solutions. While avoiding conflict is important, a lack of initiative can prevent the designer from fully contributing to the project’s success.

  1. Avoiding Conflict
    Designers who avoid conflict often prioritize harmony over expressing their creative vision. While maintaining a peaceful working environment is beneficial, excessive conflict avoidance can lead to missed opportunities for meaningful input. This can result in designs that are not fully aligned with the designer's intent, as their ideas are not adequately represented. The fear of disagreement can stifle creativity and innovation, leading to a less dynamic and less effective design process.

  2. Relying on Developers' Suggestions
    In some cases, designers may rely too heavily on developers' suggestions, which can lead to a lack of ownership of the design. This reliance might stem from a lack of confidence in their abilities or a belief that developers are better equipped to make design decisions. However, this can result in designs that are more functional than aesthetically pleasing or user-friendly. While collaboration is crucial, designers need to assert their expertise and contribute actively to the design process.

  3. Lack of Initiative
    A lack of initiative can significantly hinder the progress of a project. Designers who do not take the lead in proposing new ideas or solutions may cause the design process to stagnate. This passivity can lead to reliance on others to drive the project forward, potentially resulting in uninspired or unoriginal designs. Proactive engagement and the willingness to take initiative are essential for creating innovative and effective solutions.

Perfect Match: Front-end Developer, a Designer’s Best Friend

When front-end developers and designers work together, they form a perfect match. Developers who code like artists, combining strong communication skills with technical expertise, paired with designers who balance aesthetics and functionality, create innovative solutions. Together, they solve problems and ensure the product is both functional and beautiful.

Building strong relationships and maintaining effective communication is key to successful team collaboration. Through soft skills training, critical thinking, and active engagement, both parties can contribute to the product’s success and drive employee engagement and morale.

We Need to Talk... A Few Insights from Our Work and the Investigation Results

3. We Need to Talk We had some interesting conversations with our colleagues about their experiences working as designers and front-end developers. These conversations revealed a few recurring patterns.

Stay updated

Get informed about the most interesting MasterBorn news.

Check our Policy to know how we process your personal data.

From the frontend developer's perspective

  1. Taking criticism as a personal attack – When we suggest design changes, we don’t mean to undermine the designer's skills. We’re just trying to improve things.

  2. Everyone’s an expert – While we might not be UX/UI specialists, we’ve got plenty of experience from our work and the endless world of the internet.

  3. No frontend developer in the design-product owner discussions – The shift-left approach seems to be non-existent when designing and adding new features.

  4. Designers questioning every developer’s feedback – There's a lot of resistance to changing the design, even when it’s necessary.

From the Product Designer’s Perspective

  1. Reluctance to communicate – Complaining about having to meet up to discuss things instead of just getting on with it.

  2. Ignoring design guidelines – Making decisions about parameters without following the agreed-upon design direction.

  3. Disregarding previous agreements – Going off on their own, ignoring earlier decisions made collectively.

  4. Undermining the designer’s role – Emphasizing the designer’s lack of knowledge and using their inexperience to change the design for their benefit, simply because “it can’t be done any other way.”

  5. Lack of technical support – Throwing documentation at the designer without any explanation, leaving them to figure it out on their own.

Team Front – How We See the Collaboration Between Designers and Frontend Developers

4. Team Front Let’s break down our Team Front collaboration principles into four key aspects that keep us on track and strengthen our teamwork.

  1. Sharing Knowledge

We each contribute our expertise, sharing what we do best. We openly discuss our experiences and ideas because we know this approach can help us build an even better product. The more we share, the more we grow, and ultimately, the better the outcome of our work.

  • Sharing documentation with the designer for the UI library used in the project and discussing it thoroughly until everyone feels confident using it. (Simply dropping links in the design channel is rarely enough.)

  • Discussing UX/UI solutions proposed by someone who is not a product designer to highlight important aspects worth considering in the future and to explain the methodology behind why the suggestion may not be the best fit for the current problem.

  1. Establishing Communication and Collaboration Guidelines

From the start, we set clear expectations for how we’ll communicate and collaborate. There are no guessing games here. We know what works for us, so we make sure to signal it. This helps us avoid misunderstandings and lets us focus on the actual collaboration.

  • Choosing the primary communication channel. In our case, it was a Slack channel called #projectname_product_design. All decisions made during quick calls and ad-hoc conversations were posted there so everyone could stay on the same page and have the opportunity to challenge those decisions.

  • Aligning on our main goals. If the project is in its early phases, we should focus on delivering the MVP. When all team members keep this goal in mind during discussions, they become more focused and easier to conclude with decisions that work for everyone.

  • Flexibility with the work we've done. The code we wrote or created design may need to be significantly refactored or even discarded. It's important to understand that the person proposing this change does not have ill intentions toward us. Critical feedback is aimed at the solution, not as a personal attack.

  • MVP mindset. Expanding on the example above, it's easy to fall into the trap of trying to deliver a perfect solution the first time when introducing a new feature. However, when development begins and things turn out differently than initially planned, it's crucial to focus on delivering the core functionality for the user first. Improvements can then be made in subsequent iterations. Often, the smallest details are the hardest to fix, and if they don't block the user from using the feature, we should be open to addressing them later.
    In such cases, it's equally important to plan those next iterations and communicate the cuts with the rest of the team. At the end of the day, we don't want to discard anyone's work --- we want to break it into smaller, manageable chunks, making it easier to align with deadlines and maintain progress.

5. Jing jang

  1. The designer and Frontend developer work together from the start

Assembly line work processes --- design first, then code --- are long gone. We start talking and collaborating from the very first screen. The designer understands the technical possibilities, and the developer grasps the design vision. This collaboration helps us create better solutions and saves time later by avoiding unnecessary revisions. We make major design decisions together with the frontend team and don’t decide independently.

  • From now on, Figma and the application are at least sisters, not distant cousins. Keeping our designs and app in sync should be at the core of our work. If, during a conversation or while coding, we decide to change the implementation — for example, by using a ready-made calendar from a UI library — we should make every effort to align the designs with that decision.
    This is important because we are not the only ones working on the app and its design. Such changes can impact the work of QA or the PPO, who rely on consistency between the app and the designs to make decisions. Additionally, if we revisit a design after some time, we might be caught off guard by discrepancies, as we’ll likely have forgotten about past decisions (this also raises the topic of documenting decisions, but that’s a subject for a separate article).

  • One of the key factors in making it easier to implement the sync mentioned above is starting conversations about a feature as early as possible. We make major design decisions together with the frontend team and don’t decide independently. We should never make decisions on our own, assuming that a given change is small enough that no one will notice. Even the smallest broken window in a building eventually leads to more neglect and graffiti over time. Discussions between the designer and developer, even before the design exists, are sometimes crucial to making the entire process smooth and efficient.
    Of course, this doesn’t mean diving into all the implementation details, but rather focusing on the core technological constraints and UX to ensure the feature is both feasible and valuable.

  • Even when discussing challenges with a non-technical or non-designer person, we should never use "it's impossible" as an argument to end the conversation. While it may be tempting, we should aim to share knowledge and create a safe space for those around us. We can achieve this by thoroughly explaining all the constraints and limitations.

  1. Emotions Aside, Focus on Substance, Not Ego

In discussions, the quality of the argument matters, not egos. We critique ideas, not people. This approach lets us have honest conversations about the project without fear of offending anyone.

  • The only way to achieve this is through feedback and keeping each other in the loop. We should start by discussing our boundaries, identifying the type of communication that works best for us, and raising concerns as early as possible — even if they seem small or unimportant. We work together every day, and in most cases, these small issues are the root cause of bigger conflicts and misunderstandings down the line.

  • We need to remember that we are part of a team working together to achieve a bigger goal, and everyone is here for that purpose. No one comes to work to hate us, and they likely have good intentions behind what they are saying. It's crucial to keep this in mind and make an effort to understand each other.

  • In most cases, there are many things beneath the surface that we don’t immediately see, and the only way to gain others' perspectives is by talking to them. So, try to keep emotions out of the way—even if, at times, it feels really difficult.

Summing up

Effective communication is the backbone of any successful collaboration between designers and developers. By breaking away from stereotypical roles like "The Yogi," "The Literalist," "The Visionary Autocrat," and "The Pushover," teams can create a more unified and productive workflow. When front-end developers code like artists and designers balance aesthetics with functionality, they form a perfect match that drives innovation.

Our experience revealed common pain points from both perspectives. Developers feel their feedback is taken as personal criticism, while designers experience reluctance to communicate and disregard for established guidelines. Addressing these challenges requires implementing Team Front collaboration principles.

First, knowledge sharing builds stronger products, whether it's discussing UI libraries or explaining UX methodologies. Clear communication guidelines prevent misunderstandings, from establishing primary channels to aligning on MVP goals. The most successful teams involve both designers and developers from the beginning, abandoning the outdated assembly line approach in favor of collaborative decision-making that keeps Figma designs and applications in sync.

Perhaps most importantly, teams must focus on substance over ego, critiquing ideas rather than people. By setting boundaries early, identifying preferred communication styles, and maintaining perspective on shared goals, teams can navigate potential conflicts while driving employee engagement and retention.

When designers and developers come together through continuous dialogue, mutual respect, and active collaboration from the project's start, they find innovative solutions that benefit both the team and the company, resulting in a smoother workflow and better outcomes for all involved.

Related articles:
/blog/masterui-by-masterborn-an-all-in-one-ui-kit-for-busy-figma-designers/

MasterUI by MasterBorn: An all-in-one UI kit for busy Figma designers

When an opportunity to streamline the design process occurs, powerful tools are behind it. Read about MasterUI kit and the benefits it gives to Figma designers.

/blog/Design-systems-the-benefits-for-start-ups-and-product-teams/

Design systems: the benefits for start-ups and product teams

Design systems are gaining traction in the product development world, but they’re still a novelty for many CEOs. Read on and stay on top of industry trends!

/blog/9-top-product-design-tools/

9 Top Product Design Tools To Simplify Your Workday

MasterBorn's Design Team suggests top product design tools for streamlined workflows and enhanced creativity. Design smarter with our popular picks.

We build valuable, JavaScript products for U.S.-based companies