How do you feel when you are wrong?
You may say awful. That would be a great response. Except, it would be the answer to a different question:
How do you feel when you realize you are wrong?
It turns out the feeling of being wrong is exactly the same as the feeling of being right.
If we want to produce value, as software developers, we must embrace friction because divergent opinions will surface in our endeavours.
Maybe it’s not out of ignorance that your teammate proposed that refactoring. Maybe it’s not out of idiocy that the team leader does not want to stop development for a rewrite. Maybe it’s not out of malice that the designer rejected your simplification.
Maybe you are wrong.
I find that, in a team, disagreements are treasure troves. But we need to be ready to be wrong to extract their value.
CSS Utility Classes and “Separation of Concerns” by Adam Wathan
Why “separation of concerns” is the wrong way to think about CSS and why presentational classes scale better than semantic classes.
(Riccardo: It turns out composing small building blocks works in CSS too! Also, this will give you an idea of the philosophy behind Tailwind CSS.)
Reverse Engineering the source code of the BioNTech/Pfizer SARS-CoV-2 Vaccine by Bert Hubert
Welcome! In this post, we’ll be taking a character-by-character look at the source code of the BioNTech/Pfizer SARS-CoV-2 mRNA vaccine.
(Riccardo: Wow, this was a cool read. And there’s a part two!)
Elementary programming by Michael Peyton Jones
So we have a dilemma: abstraction is great for the advanced users, but is inevitably going to make your code hard for less advanced users to understand. And if they can’t understand your code, they certainly aren’t going to be able to maintain it.
(Riccardo: Maybe I’m making this up because I cannot find a reference, but I heard that Elm comes from ELementary Mathematics. That, together with the article, would explain why Elm didn’t go too deep into the functional programming abstractions rabbit hole and kept itself approachable to newcomers.)