We are constantly bombarded with the idea that everything needs to be simplified. However, some concepts are inherently complex because they solve a complex problem.
I am not against simplifying explanations; they are an excellent starting point. But, as you progress in your career, you might not find a beginner-friendly explanation for some things you are working on. The only way out will be to go through the tough explanation, some not-so-well-written doc, or some obscure code.
So, it is crucial to build a habit of reading more detailed, in-depth content, even as a starting point.
Apart from this, one concern I have when something is dumbed down is how nuanced details get lost in the process. Going through such over-simplified stuff gives you an illusion of mastery, but in reality, it has given you an extremely superficial understanding. This is precisely what makes people say things like “I will use NoSQL because SQL doesn’t scale”.
Some concepts cannot, do not, and should not have a “simple” explanation and should be covered with all their nuances.
So, when you find time do hard things - read blogs, read papers, watch conference videos, explore OSS code, etc. you know the drill. Going through these is daunting, time-consuming, and takes a lot of mental effort, but it is extremely important and rewarding.
By doing this consistently, you develop abstract thinking, which allows you to see patterns across different domains, draw analogies between seemingly unrelated concepts, and come up with out-of-the-box solutions. It also helps you understand a complex system without getting lost in the details. To be honest, abstract thinking is one skill that separates good engineers from great ones.
On a personal note, there is a certain satisfaction in truly grasping a complex concept. It’s like solving a challenging puzzle. The “aha” moment when everything clicks into place is incredibly motivating and gives you a nice dopamine kick.
So, whenever possible, do not seek out the simplest explanation and challenge yourself. Pick up that dense technical book. Watch that 3-hour conference talk. Read that research paper, even if you only understand 60% of it at first.
The goal is not to understand everything immediately, but to expose yourself to new ideas, to stretch your mental models, and to gradually build a deeper understanding; and in the process become a better engineer.