"Where utility classes come in is they allow you to make occasional exceptions to these generalized styling rules.
[..] Utility-first CSS is exception-first CSS. And that’s not how exceptions work, in #CSS or in general."
👉🏻What is Utility-first CSS?
https://t.co/uG79o2YsSN🍿
Same.
In the beginning, I was impressed by this type of "smart" code.
I also tried to write code like that because I thought it looked cool, and that's how "smart" people do it.
Nowadays, I prefer the more verbose code that's clear and easier to read & understand.
Mention: Apply common sense. It doesn't mean that I prefer verbose code just for the sake of it or that I never use shorter code if it doesn't affect legibility. Also, don't fixate on these examples from the picture. They're some examples to illustrate the point.
"So farewell, TypeScript. May you bring much rigor and satisfaction to your tribe while letting the rest of us enjoy JavaScript in the glorious spirit it was originally designed: Free of strong typing." https://t.co/mCDhyrmEnu
★ Building a modern design system in layers ★
I am seeing a new pattern in design systems where the right layering unlocks many more developers and sets you up for a system that can evolve over the long time.
I wish I had done this in the past:
https://t.co/oHmV337L7c
Backlogs are a symptom, not a tool. The very existence of a backlog tells you that you don't have the capacity to do the work, so you defer it. Replace the backlog w/ capacity. Improve processes. Don't work on non-value-add stuff. Minimize waste. Hire ppl. Do whatever it takes.
A developer who immediately approves PRs is a liability. Why? Because they eliminate an opportunity for a *real* review.
A fake reviewer glances at the PR and quickly approves.
A real reviewer reads/runs the code, asks questions, considers alternatives, and makes suggestions.
Are you loading images as optimally as you can?
Do you know how and when to use decoding=async, loading=lazy, fetchpriority, <picture>, aspect-ratio, or srcset?
A deep dive on optimally loading images in my latest blog post: https://t.co/nLznO8WMit
<🧵> CSS Selector Performance. It’s something that most people tell you not to worry about. But sufficiently bad selectors on a sufficiently large DOM can have a real impact on the user experience, and even on INP.
✍️ CSS Style Queries
I wrote about style container queries, how they are different from size queries, with plenty of use-cases and examples.
🔗 https://t.co/tEVCLUTIcJ
IMO, a great team is self-managing (autonomous) & cross-functional (has all skills needed to get an idea into customer's hands). Ppl have overlapping T-shaped skills. Nobody is critical & no silos like UX or test. They work as an ensemble, not isolated individuals. Good question!
I think one of the most destructive myths in software is that it costs more or takes longer to develop higher-quality code. IME, the higher the quality, the faster the development goes. You cannot be fast if you can't trust your code.
We all talk about how infinitely scrolling websites are often bad for user experience... but we never talk about how it makes the footer feel.
So I made this @CodePen to help shine a light on the footer's never-ending sorrow. 😢
https://t.co/ShBpT2jMIT