Front-end development feels like a spectrum. On one end we have developers to whom markup and styles come first. Semantics, content, and presentation are of the utmost importance. Developers understand those languages and can use them to build awesome, visual, expressive web pages. On the other end are developers who build dynamic web applications. They are familiar with frameworks and tools that make pages come alive. They can create interactive, powerful user experiences.
One side views CSS as their meal ticket. The other sees it as a burden.
I’ve worked in both ends of the spectrum and know a lot of other developers who have swayed back and forth as well. It’s healthy for any front-end developer to explore the whole range.
A lot has already been said about CSS-in-JS. Those who support it largely come from the “framework” end of front-end development. But the problems it is trying to solve have largely been tackled already by one of the most underrated tools in the Node ecosystem: Stylus.