Here we are again. Arguing about CSS, the cascade, and CSS-in-JS. And you know what? We’ll be here again in a few months. Because that seems to be the cycle.
So often conflicts arise from lack of communication, false assumptions, or confusion. Mr. Rogers
Since this is clearly destined to happen again and again in the web developer community, I think it’s time we learn to have these discussions more productively. — And no, I’m not the first to say this.
The Twitter culture isn’t helping
We’ve got to stop with the hot-takes. This is a complex topic, now with a lot of argumentative history and misunderstandings. 280 characters just isn’t enough to adequately frame your thoughts any more. Even if your tweet is well-phrased, it will not take long for it to be mis-interpreted and quote tweeted while the conversation spirals out of control.
Initially, I tweeted something, then tried to frame it better with a few follow-up tweets, but the resulting thread quickly became a game of poking at the other side. Eric Meyer tweeted, and it was interpreted in ways he didn’t intend. To the point where he’s expressed regret for the tweet. These things just don’t work on Twitter.
I recently heard how a friend helps their son when he’s being whiney: they tell him to “walk away and come back with a better attitude.” He has to literally walk down the hallway, then back into the room before asking for the thing he wants more politely. And it usually works.
So maybe it’s time we all practice this, too. Myself included. Instead of a hot-take, take it to your blog. Even if you only write three paragraphs, that will a) be more nuanced than even a thread of tweets, and b) will allow you more time to collect your thoughts and articulate them better.
Enough with picking sides
We’ve got to stop with the this camp vs. that camp stuff. Mark Dagleish tweeted, “It’s my life goal to never be part of the technical old guard.” And I tell you what, this got my hackles up.
Now, to be fair to Mark, he’s far from the only one to make this about sides. He also tweeted several other things on the topic that I thought were very helpful and insightful. But I hate that this has somehow become some “old guard” vs. “new guard” thing.
The problem with drawing lines like this: whichever side you find yourself on, there are some whackos out there throwing ridiculous arguments into the mix. And now people on the other side associate that viewpoint with you.
Instead, call out the folks on “your side” who are off in the weeds. To whatever “cascade defender” out there made this a CSS-in-JS bashing party: knock it off. To those on the other side who said the don’t want their employees bothering to learn the cascade: cut it out. Everyone else is somewhere in between. And we don’t have to be old guard or new guard. We can just be a web dev, and supporter of the open web platform as a whole.
Just so my cards are on the table:
- I think every front end developer should learn the cascade, as it’s a fundamental part of the web platform.
- I agree it’s not perfect, and I hope we can continue to iterate and improve on it. But it’s what we have to work with.
- I don’t think you’re an idiot if you don’t know it.
- That question was particularly misleading.
- Despite all the dust I’ve kicked up in the past, I’m not completely opposed to CSS-in-JS. In fact, I brought up Emotion as an option for a project as recently as last week.