This is really valuable insight. Thank you for sharing this!
If you don't mind me asking, did you apply this approach to specific programming languages? I'm curious which ones you tried to learned and ended up sticking with, and why.
What I stick with is based on what I'm developing and working on. The important part is to not be afraid to learn and try new things. I have not stuck with anything in particular but I stay strong in C/C++ because most of my development has related to efficient memory solutions.
On the other hand, Java is really nice for algorithm testing, and writing for classwork.
Javascript is obviously inescapable in some format if you are doing web development so I jumped right in and have learned it with Angular, Express, the MEAN stack in general etc.
It's better to have actual projects to work on. From there its easier to center around a framework, but I still prefer C/C++ but I am learning to appreciate Java the more I develop GUI applications and test more complex algorithms.
Recently I'm trying to test out an idea for an app, so the first thing I knew is I wanted it to be cross platform, so I've had to learn alot more javascript/ionic framework, etc. cordova and how phonegap is a version of that, and learn android and ios app dev to understand how phonegap links the two, and of course theres a movement to use react to dev natively, and Kotlin is coming in strong in the Android space with cross platform app dev, so there is alot you have to learn once you have an idea, and need to learn what helps you implement that idea/project, and you learn more that way instead of saying "I'm going to create something pretty with javascript". You will learn 20x more by making an entire project from design to implementation, and become familiar with how to navigate when and when not to use languages, frameworks technologies, you have to try stuff and fail alot and keep going and continue to make time to put thousands of hours of work into it.
You have to like it to do that, I really enjoy it.
If you don't mind me asking, did you apply this approach to specific programming languages? I'm curious which ones you tried to learned and ended up sticking with, and why.