When starting the career as a front-end developer it's easy to fall into one of extremes. We either get over-concentrated on one specific subject, or we attempt to learn everything at once. Both approaches are ineffective and even harmful to some extent.
Learning one thing to 100%
When we just start our learning path there are a lot of things in front of us to learn and over-focusing on one will stall the progress. We may get tempted to get to know a topic (e.g. HTML or CSS or JS etc.) at 100% and then to proceed learning to the next one to the same degree.
However, despite it sounds cool-ish to be a super-duper professional in everything, in reality it's nearly impossible to achieve, because everything is evolving and the technologies you learn are changing over time.
Learning all at once
Another case is learning everything at once. This might be even harmful, because you will get a mess in your head quickly forgetting everything you have learnt. Furthermore, learning many things usually consumes much more time and energy. Eventually, you may start feeling a rush that you aren't keeping up with time which will add up to the stress and may make you want to abandon your learning.
Balanced learning is our choice
When starting a career you don't need to know everything, you just need the basics that will allow you to proceed further. Much better approach is to learn one thing at a time. Master it to the level that enables you to accomplish a task (build a web-site in our case).
First, learn some HTML to build a basic markup, then some basic CSS to prettify the page, then JS to make it interactive. This way the learning path should look something like this:
- Learn basics of HTML, understand its structure and most used tags
- Switch to CSS, learn its basics and how to work with it
- Build a simple web-site utilizing acquired knowledge
- Learn basics of JS
- Build yet another web-site or add JS to the previous one
This way you get some hands-on experience, by practicing you are solidifying your theoretical knowledge. Also, during working on pet-projects you encounter problems, search for their solution and learn even more. Lessons learnt by solving problems are much more memorable than ones read in a book without understanding how to apply it in the real world.
Learning frameworks
Same goes for the frameworks. At the start of our path we may feel like we are choosing a partner for the life. However, this is just a technology and as the world changes so do the technologies. It's pretty OK to switch from React to Angular, then from Angular to Svelte and so on gaining more and more experience with different frameworks and libraries.
With time, we learn that libraries just solve problems, and we shouldn't stick with just one of them for our life. Moreover, when you learn more of them you have a broader perspective which enables you to see more ways of solving problems. Knowledge of how libraries work (and possibly built) widens your understanding of the new libraries making it a piece of cake for you to switch to a new technology when the time comes (or even create a one of your own).
When the time comes to learning your first framework you usually choose one from React, Angular or Vue. When chosen, you should make an effort to be proficient at it. Once you notice that you aren't learning anymore you have several choices:
- Go deep in the technology, understand how it works internally
- Learn a new framework/library
- Do nothing and be happy with what you have
All of the above are pretty fine as we are all unique and there is no single way that would suit everyone.