I am currently in a phase, where I am sort of reflecting on my past 1,5 years of web development. I am trying to see how things went and what decisions I could make to improve.
Sometimes, thinking about what libs and frameworks to use is so hard. There is so much abundance, it is overwhelming. And it just keeps growing.
I just read this tweet from Dan Abramov:
“Hell is other people's abstractions”
Made me laugh. It is just so true 😂.
Committing to fundamental abstractions is one of the things I believe one needs to be most careful about: you will literally get used to thinking in them. I still mourn about the many people who were sold into one of the biggest hoaxes of computer science: “inheritance for code reuse” – The 3 Amigos made some decent cash by selling dogs that “woof” and ducks that “quack”.
I decided for myself, that from now on I will only try out and possibly commit to abstractions if I can see a strong “why”. I need to see strong reasons, conceptually, that something is a really good idea. Minimalism and low-key are not just nice, but an absolute must-have.
I was happy to see, that there can be libs that fulfill my ideals when I discovered jotai and zustand for React state. On the very first time I looked into them, I was able to infer this “why”. I was able to project into the future, if I write code like that, the experience of doing so will be pleasant and things will turn out well.
When I looked into Redux it was more like: “Yeah, I get it, it's by no means bad engineering, but I can't see a possible reality where I write code like that.” 😅
I wish, that docs would focus on this “why” aspect more often. Usually, they only tell you “how”. There's the obligatory introduction (like the counter sample) and then there are recipes of various sorts.
But the “how” is only interesting after you committed to the abstraction. Outside the “mental box” of the abstraction, it has no relevance. The “why” is important to decide whether to step into this “mental box” or not.
Docs rarely provide really strong and convincing support for the “why” (if they do, instant trust explosion). So please tell me “why” more often 🙏.