The only constant within the realm of design and development is change. This means that every project, every venture, is going to be a unique experience for everyone involved. At thoughtbot, we’ve embraced the concept of a “Full Stack Designer” for this very reason.
The thoughtbot designer: wearing multiple hats
You may ask yourself, “what sets a thoughtbot designer apart?” Our skills extend beyond just beautiful interfaces; we’re strategists, researchers, UI/UX specialists, and even front-end implementers. We bridge the gap between business goals, user needs, and technical feasibility, to create meaningful solutions.
But the question remains — As a multi-faceted consultant, how do you know which skills to apply to which team?
Empathy, flexibility, and responsiveness
At the heart of being a full stack designer is empathy — not just for users, but for team members, clients, and all stakeholders involved in a project. This empathy helps us recognize what a team needs, often before they realize it themselves, making full stack designers incredible problem solvers.
Understanding roles and gaps
Every organization has different structures and capabilities. Some have dedicated and separated project managers, UX researchers, UI designers, and front-end developers. Others may have none of the above.
In addition to role gaps, we also look for roadblocks in process. Is design happening too late in the development cycle? Is design QA (quality assurance) becoming a bottleneck for progress? Does design have a seat at the strategy table?
I like to imagine our full stack designers as molten wax. We are fluid, flowing into gaps to provide stability. However, we are not rigid and always have the ability to adjust again if we need to. We assess roles that exist and, even if not strictly defined, where responsibilities have been divided among the team. We can then mold ourselves into the appropriate support.
Navigating interpersonal dynamics in consultancy
Working as a consultant adds another layer of complexity. We’re both insiders and outsiders, which can require careful navigation of interpersonal relationships. We must build trust quickly, demonstrate value consistently, and sometimes shepherd tumultuous team dynamics without becoming entangled in it. This delicate balance requires emotional intelligence and an understanding of how to influence without authority.
One of the most challenging aspects is knowing when to take charge and when to step back. In some situations, a team needs decisive product management. In other contexts, our position is more heads-down, churning out quality work to meet ambitious deadlines. The ability to assess a situation and choose the appropriate stance is an invaluable skill to develop.
Real-world examples
To illustrate how this works in practice, let’s look at three different client scenarios I’ve encountered:
Example A: Strong technical team, design deficit
Company A had an excellent product manager and development team but minimal design resources. We came on to the project with a single designer and multiple developers to augment their existing team. This dynamic meant that processes were often not within our control to mold. We needed to adapt to a new culture and new practices.
As consultants, we actively needed to set aside our egos and take a look at the greater team harmony and dynamic. Standing by thoughtbot’s motto of “strong opinions held loosely,” we offered our perspectives when appropriate and also knew when to accept differences in process. Frequently we paused, evaluated the situation, and proceeded with actions that would support the needs of the team despite not being our first recommendation. This was my most restricted role in terms of skills used. However, for this particular project, my specialization and focus into purely design work is what was necessary.
Example B: Balanced team with design investment
Company B represents a balanced, cohesive team that already valued design. While they didn’t have in-house designers, they were deeply invested in our methodologies and opinions. Our team consisted of a product manager, a single designer, and multiple developers.
Because of the delineation of roles, I was able to take on a more specialized role within the team. While I still shared my opinions on product vision and development strategy, our product manager was more intentionally handling delivery aspects of the project. Instead, my role became the pioneer of design with the additional skillset of being able to communicate across product, design, and development smoothly.
Example C: Strong leadership vision, low groundwork understanding
Company C has stakeholders with ambitious goals for their digital product. They have strong opinions about what they wanted but lack the practical understanding of what it would take to get there. This team is built of internal stakeholders and an entirely consultant team of multiple designers and developers.
In this scenario, the design team needed to employ our entire arsenal of skills. We led by understanding business needs and product vision, followed closely by delving into the problem space and user understanding. We became champions of the product and essentially served as product managers while simultaneously creating long lasting designs and systems. Designers continued to have an active hand in front-end development, but for this team it was more important for at least one of us to become the source of truth for product direction as well as managing stakeholder expectations.
Conclusion: The value of adaptability
We came, we saw, we adapted.
I believe that this adaptability—combined with expertise—creates the most value at thoughtbot for our clients. We don’t force a one-size-fits-all approach. Instead, we calibrate our involvement based on what will best serve each unique team and project. In all three of the above examples, thoughtbot was able to create a client experience that enabled the best product to be built.
For designers looking to develop in this direction, the key is to cultivate not just design skills but also empathy, communication, and situational awareness. The full stack designer isn’t just someone who can do many things—it’s someone who knows which thing is most needed at any given moment.