Photo by Henrik Eikefjord on Unsplash

The Problem with CSS

The problem with CSS conventions is that they rely on developers to manually maintain them with a high degree of accuracy to be effective. This problem is compounded as styles grow. Each developer needs to know more context in order to effectively style UI. That’s why “You should just write good CSS” is an insufficient response to “How do we keep styles maintainable?” Even developers who write great CSS are challenged with an ever-growing problem.

All that to say, the problem with CSS isn’t CSS, it’s humans. We can only keep so much in our heads, and sharing that knowledge across teams, even teams who really care about consistent styling is really hard. You can argue that the cascade is a design flaw, but I’d disagree. We’re scaling CSS in ways no one could have imagined at its inception. And to manage that scale, we need better tools.

When engineers have to spend an inordinate amount of effort thinking about basic styling, we’re wasting their time and talent. But we’re also wasting our designers’ talent as well. Instead of thinking about higher-level user experience, they’re checking spacing and color. Typography, spacing, color, etc. should largely be solved problems. Yes, there are instances where more thought needs to be given, but if we have an effective system, those should be few and far between.

Often the benefits mentioned when discussing effective systems are the bottom of the barrel. I want to free up engineers and designers to think about higher-level concerns that actually make our customers lives better. I want to build better experiences instead of being lost in the details.

I don’t have any problem automating my deploy processes, or letting npm handle my dependencies, and I’m good with JavaScript managing my CSS. Those may seem like disparate concepts, but they’re not. My brain only has so much capacity, and I’d rather let code figure out how to maintain styles.

If you enjoyed this, you should also read Simon Taggart’s article.

design systems @workday

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store