2022-04-14The deafening roar

I was a late adopter of Tailwind CSS. Now, I've been a fan of atomic CSS for a good many years, but it was a wasteland for the longest time while everyone was off doing CSS-in-JS, and nothing really caught my fancy. I had been eyeing stuff like ACSS and Tachyons and they looked good but I'm very, very tired of pulling in and learning new dependencies. I've also been doing CSS since before you were born, and making an atomic CSS framework really isn't that hard. Make a class for a rule, done. But I kept hearing the whispers and so I tried Tailwind, eventually, and really came around to liking it ‒ it's ergonomic, fast, and leaves a magnificently small footprint.

So that leaves the question: did I fuck up by not using it for several years?

I invoke Betteridge's Law

Hey, not cool!! But okay, I'll concede it: no, I didn't. While the projects I've worked on since Tailwind came out might have benefited by having a standardized and community-recognized framework attached to them, it's not a huge deal. And two things happened in the meantime:

  1. Tailwind got better
  2. I got better

I have no idea what the first iteration of Tailwind looked like. But I'm willing to bet it was rough, as is all beta software. Early adopters get to suffer all the ignominy of bugs and API changes. But at some point the scales tipped over, the framework really started to shine, and I wasn't there for it. That's fine, I'm completely at peace with that. Because what was I doing while Tailwind was improving? I was improving, too.

The frameworks I've cobbled together in my teams have followed a similar trajectory: they went from not-so-great to pretty-fricking-great, and in the meantime I've gained a solid appreciation for what to do and what not to do. I've built gnarly SASS mixins, I've fought custom properties, I've scuttled up and down the ladder of abstraction like a squirrel on meth. I know exactly how and when to comfortably drop through and build my own stuff when I need it. There's a lot of lazy fortune-cookie talk about using "the right tool" and "not reinventing the wheel" and yeah, in the macro perspective that's absolutely true. But if you keep leaping from one tool to another in the name of "research" and "evaluation" and "staying ahead of the curve" you're doing yourself a disservice.

Meh, you're just a victim of Not Invented Here

No, that's not what I mean! Look. I play guitar, and I play golf. I do both very badly. I own a cream-colored single-pickup 80s Japanese Stratocaster that I got for my 17th birthday, and a half-set of Callaway clubs from 2004. For the guitar, the first thing I need to put in front of any pedal board is a noise gate: the thing hums and crackles like a rogue thunderstorm. And the golf clubs are stiff and old ‒ they probably aren't doing me much of a favor on the fairway compared to the 2022 state of the art. It's all just kind of rough.

I'll often look at Youtube guitarists who sit around and do their sweep picking with a quiet and effortless tone, and I'll enviously start searching for expensive guitars and stomps. But I've resisted the temptation. Buying new stuff might give me a little burst of energy, but the heart of the matter is that I don't practice enough. No golf set is going to save my bunker shots, and no exquisite masterbuilt '57 is going to magically turn my half-assed pinch harmonics into delicious Zakk Wylde squeals. If I want to improve my playing, I have to play ‒ giving myself a new fretboard or 9 iron to learn will likely impede my progress rather than help it.

Uhhh the point being

There's a concept called "Tutorial Hell" where you're jumping from one tutorial to another, trying to replicate what others are doing and kind of hoping it rubs off on you. When you hit a plateau, you skip to another tutorial to mix it up and feel like you're making progress. But in the end you're just re-learning basic stuff over and over again in different forms. That's what the Internet will do to your brain if you read too much Hacker News, and try too many libraries. How much bLaZiNg fAsTnEsS do you really need in your life?

If you're not already doing it: zoom out. Unsubscribe. Fill your Twitter feed with artists and writers. Make a few concessions, like Frontend Weekly or Ruby Weekly. It won't matter if you're behind on CSS Grid, haven't tried the Shadow DOM, or don't know about the pin operator in Ruby 3.1. It's all just burnout waiting to happen, and you'll get nothing for it. Trust me, the good stuff will come to you when it's ready. Sit with your own stuff, make it interesting. Work on your metaprocess: how do you consume news? How do you deal with procrastination? Is there a dependency you can lose by understanding what it does and re-creating the piece of it that you need?

The tech industry has been spinning ever faster, year over year, for decades now. Everyone seems to be hustling, crushing it, getting ahead of the pack, turning their side project into something, weighing in with stony self-assurance on the smallest GitHub issue. It's all performative. Don't get sucked into that destructive vortex. Stop listening to the thunderous roar outside and start tuning into the stuff going on in your own head.