People and tooling

In December I read the 24 Ways piece by Una Kravets Why Design Systems Fail and there is a bit at the end that came back to me this week.

But if your design system is complicated and over-engineered, they may find it frustrating to use and go back to what they know, even if it’s not the best solution. If you’re a Sass expert, and base your system on complex mixins and functions, you better hope your user (the developer) is also a Sass expert, or wants to learn. This is often not the case, however. You need to talk to your audience. (emphasis mine)

She goes on to talk about the solution they made for that at Digital Ocean, which is interesting. But I’ve thought again and again about her ideas around friction and how we can ease it for all of our team members.

This keeps coming back to me because tooling in front end development is getting increasingly complex. As this happens, I believe we’re leaving people out who could be contributing in meaningful ways, but aren’t comfortable with the tools, or as is often the case, the command line; such as designers and copy editors who feel comfortable working in HTML and CSS.

I’ve worked on a wide variety of teams over the years and very few of those included designers who felt comfortable enough in the front end tools to run a local development environment. That translated into the designer looking at the app running on a test server, making changes in the browser dev tools, and then passing them on to me, or another developer, to get them implemented in the code. This is just one example of a team member who feels comfortable in some front end code (HTML and CSS) but not comfortable enough with the tools for local development to implement their own requested changes. And I’ve been on the other side occasionally, with a designer who did make the changes and it made a world of difference to how efficiently we got work done.

The way we build for the web right now feels problematic in so many ways. Instead of welcoming everyone from our teams with their various skills, we create layers of complexity that shut many out. And I’ll be honest: I’m not sure what the answer is here, I’m not sure what tools can make this better, easier, or include everyone, but I’m increasingly wanting them.

While all of these build tools are solving problems for developers and back end infrastructure, I believe they are creating more barriers and work for others who help make our products and sites. Imagine being the designer who took up the challenge to learn to code but not being able to do the smallest tweaks to tighten up a design? And I can’t help but also wonder if we’re using tools to solve problems they weren’t meant to solve, like how to communicate with or manage a team.