There is a cliché of an aspiring programmer who tries to learn a framework before learning how to program. The common advice - learn the basics first, then pick any of React, Vue, etc. - is generally ok. But it leaves the question open - so when it's the time to learn the framework?
In short, I would keep an eye on 2 indicators:
- you are facing some challenges that you hope a framework will fix for you
- you are fascinated by it and wants to learn it
If any of those two is true, you should be motivated enough to achieve some progress in this area. And after some time, it will become true for some other aspects of programming.
Everybody has a different path in programming. We start from different places and want to achieve different goals. The knowledge needed in our industry is vast, and it's safe to assume none of us will run out of stuff to learn. Because of the size of this challenge, we need to make sure we manage to stay in the game for the long term. If you are lucky to have work in the industry already, you already face a lot o real-world challenges on a day-to-day basis.
My IT fascinations
In my IT learning path & career & experienced various fascinations. The interesting thing is that each aspect feels like a different level of thinking about stuff or some perpendicular skillset.
In chronological order, over almost 20 years since I started learning to program, I've been focused on:
- syntax - when I was working through my first books
- writing games & physics - the obvious choice for a gaming kid I was
- what language should I invest in learning - when the university exposed me to many of them
- unit-testing - as I realized how much we've been missing it in my first job
- design-patterns - I think everybody had this phase at some point
- how computers are working - machine code, memory, etc.
- development methodology - thanks to shortcomings of my first work as well
- modeling & design nice code architecture - in my second job, we were 2 undergrads writing a finance system at a start-up
- Drupal CMS/framework & its community as I moved to freelance. I was able to realize how misguided was writing closed code CMS in my first wor
- git - a major upgrade from svn, and an elegant internal data model.
- Public speaking on meetups, conferences & running in-person workshops - mostly on AngularJS
- Organizing team processes - it's almost like programming, but on humans. Each unit can either misunderstand the program, agree to one thing & do different or all sorts of fun stuff that computers don't do
- Mentoring & teaching - writing is pretty useful for it as well
The first time I could appreciate framework was when I start working with Drupal. It was about 3 years after starting my first work. I was exposed to frameworks before but couldn't really judge if using them helped or not with the project.
Another indicator we should pay attention to is what we find interesting. It can very likely be that we hear a lot of talk about a tool or a technic, and we have no clue what it is. Satisfying this curiosity will help us follow better the tech discussion in our soundings, therefore helping us progress in our career.
Plus, intrinsic motivation lasts longer - as we have to spend a lot of time learning, it's better when we actually stay long enough to reach a level when the hard work starts to pay back.