(Blogging. No need to reply)
Learning any of the non-trivial parts of c++ (or python) requires focus and engagement. I call it the “laser”. For example, I was trying to understand all the rules about placing definitions vs declarations in header files. There are not just “3 simple rules”. There are perhaps 20 rules and they have exceptions. To please the compiler and linker you have various strategies.
OK this is not the most typical example of what I want to illustrate. Suffice to say that, faced with this complexity (or ambiguity, and “chaos”) many developers at my age simply throw up their hands. People at my age are bombarded with kids’ schooling, kids’ enrichment, baby-sitting, home repair , personal investment , home improvement… It’s hard to find a block of 3 hours to dive in/zoom in on some c++ topic.
As a result, we stop digging after learning the basics. We learn only what’s needed for the project.
Sometimes, without the “laser”, you can’t break through the stone wall. You can’t really feel you have gained some insight on that topic. You can’t connect the dots. You can’t “read a book from thin to thick, then thick to thin again”. You can’t gain traction even though you are making a real effort. Based on my experience, on most of the those tough topics the focus and engagement is a must.
I’m at my best with my “laser”. Gaining that insight is what I’m good at. I relied on my “laser” to gain insights and compete on the job market for years.
Now I have the time and bandwidth, I need to capitalize on it.
 old wood houses give more problems than, say, condos with a management fee
 some spend hours every day