Illustration of Dan Denney, by Ricardo Gimenes

You Can't Make Others Love CSS

Yes, this is related to Tailwind.

tl:dr; Not everyone will love CSS, and that's ok. There's lots to learn from people who don't, on why and what they do like. Work with them, and we'll all have something better.

I love CSS. If I could spend my entire days writing HTML and CSS without ever touching any of that other stuff, I'd be ex-css-tatic. I work at a company with over 40 engineers and three, three-and-a-half, maybe even four love CSS. The rest tolerate it as something that needs to exist, and they love X.

I usually tolerate X as something that needs to exist in order for my CSS to make it to people. They can't make me love Ruby or React. They can't even make me like TypeScript.

All of this is ok because you're in the minority these days if you're off on your own building web things. (If you are, you don't have time to debate) The majority of us work with other people to build things, and those other people have different technology adorations. What's not ok is creating divisions for the sake of them. I can't roll my eyes hard enough every time I see an "... is a programming language" debate. There's zero value to fighting over labels of things that are continuing to evolve as we pioneer this web thing.

I'm especially saddened by how aggressive folks are about hating on Tailwind and its fanbase. I've wondered if it's the "get off my lawn" vibe as I and my peers' age, the overall aggressiveness increase in social media, or what it is that makes Tailwind get more vitriol than Bootstrap did. It feels like Bootstrap got eye rolls and a slight "yuck" while people tee off on Tailwind users as if they're eating children.

My take on Tailwind, Bootstrap, and a few of the related frameworks is that they allow people who don't love CSS to create quality work pretty quickly. (I also personally enjoy the aesthetic of Tailwind over Bootstrap) They also have inspired some fantastic tooling around shipping efficient code. Most importantly, they provide amazing documentation. The number one reason I reach for Tailwind in shared projects is that they provide amazing documentation, and I will not.

I believe the best possible mix as of right now in September 2022 would be an approach like CUBE, with Tailwind-level documentation of everything that is created, and tooling that serves the CSS in the most performant way possible.

A team of people with different loves can create that, both at work and in open-source. Let's stop wasting time arguing and focus on making amazing things together.

Or, just listen to the wonder of "I Can't Make You Love Me". There's a beautiful cover by Boyce Avenue if you're into that kind of thing.

P.S. I respect TypeScript and I understand its value. I just can't enjoy it.