The Other Side

Being on the other side of design systems now as a product designer is super interesting. I kinda hate the rules and regulations and nitpicking! And if I can’t lean into the system then I will fight against it with every fiber of my being.

Although, this wasn’t always the case: in a previous life and as a designer on a design systems team, I would frequently say “you can’t do that” or “that’s a bad pattern” or “that’s inconsistent.” I would talk down to designers as if I was their boss. How dare they ruin my perfect garden! Can’t they see they’re standing on the daffodils?

Now I really don’t care about that system! Which is surprising because this shit would keep me up all night. Now? Nothing. Is the product better with this change? Yes. So screw the maintainability and screw consistency. Sure, I don’t want us to have 5 different search inputs and I’ll do everything I can to improve the system but if the product is better with a one-off thing here then tough luck, chaps. I’m gonna add it.

Perhaps me wanting to branch off from the system doesn’t signal my lack of experience as a designer but an inherent flaw in the design system itself. Maybe the design system isn’t flexible enough. Or perhaps it’s slower than building our own components and styles. Perhaps the system hasn’t taken into consideration every problem in the known universe.

In front-end circles, this picture of Steam’s inconsistent components often comes up...

A screenshot of Steam’s inconsistent inputs, buttons, and components

...and there’s an implied snobbery here that only now has started to bug me.

I used to look at that screenshot of inconsistencies and recoil in terror. I would look at all this and think to myself: Wow! What a bunch of junior designers they must have over there! What a colossal waste! How shameful and inefficient an organization Valve must be if this is the state of their components! I can do better! Haha!

But now I kinda think this picture has turned into an opinion that is just as yawn-worthy as hating on Comic Sans. It all seems absurd and ridiculous until you actually start building a font or, in Steam’s case, one of the most successful software products ever made.

On the other side of all this now, I can’t help but think that maybe it’s their design system that’s at fault. Maybe they don’t have good docs or everyone is working in silos. Maybe their core components are far too strict and they don’t have the right abstractions at the foundation level. Maybe it’s a hiring problem and they don’t have enough UI engineers. Should designers be punished for working within a shitty design system?

Also: Steam is an excellent product despite these inconsistencies!

By the time I left the field of design systems I had mellowed out a great deal. Not every inconsistency is the mountain I made it out to be and instead of treating our guidelines as a legal document, I tried my best to design a pit of success. By the end of my time in that field, folks would come to me and ask questions and contribute to the system because I stopped shouting and making a fuss and realized that having a shitty design system is a good problem to have. And we’re lucky to have it.

However it’s only now as a product designer that I realize just how much I want the design system to carefully guide me instead of brute-forcing its decisions onto my work. I want to fall into the loving embrace of the system because I don’t wanna have to think about hex values or button sizes or box shadows. I don’t want to rethink padding and margins or rethink the grid each time I design a page.

But by golly if a design system says “no” to me then I will do my very best to blow it up.