What web framework should I learn?

I get this question a lot. In the past I’ve answered it with a question about your motivation. Are you trying to maximize for employability? Or are you more interested in personal learning? Short term? Long term?

I don’t believe in these questions any more. Instead, I’ve got a one-size-fits-all answer.

As we enter the year 2016, it’s becoming obvious that the pace of change in web development is increasing. There is no such thing as “the one framework” to learn. In fact, there is no such thing as “the one anything” to learn. This year alone, I’ve worked with 3 different build tools, 3 different web frameworks, and 3 different programming languages.

The only constant I’ve experienced is constant learning.

Crazy new technologies are emerging, faster than ever before, especially in the compile-to-javascript ecosystem. I don’t think the long-term future lies in any of the currently available frameworks as they stand today. Even React’s days are numbered in my opinion (don’t ask me the number).

If you want to level up skills for maximum longevity, invest in one thing: your ability to learn.

So how do you learn to learn?

Since we’re talking about front-end web development, I recommend starting with JavaScript language fundamentals. Learn as much as you can. Find the methods that work for you (books, blogs, videos, exercises, whatever), and go deep. This will be a life-long pursuit, of course, but I recommend you spend a month focusing all your learning time on this. It will lay the foundation for your future success. I don’t mean quit your job or neglect your social life. But of the time you have already allotted for learning, use 100% of it for this. It might take less than a month if you’re already a JavaScript master, but take the time to re-assess because sometimes you don’t know what you don’t know.

After that, move up to the next level of abstraction in the front-end web stack: the DOM. Repeat the intense study for as long as you need to become proficient.

After you’ve got a strong foundation in those areas, you will learn new frameworks more naturally than before. At this point, I recommend learning as many frameworks and tools as you can. This doesn’t mean you need to put them all into production. But you should build simple apps with as many as you can. You will find that learning comes faster with each successive framework you study. Soon, you’ll be able to get a feel for new frameworks in a matter of a few hours, not days.

The goal is not mastery of every framework you study, but to become good at learning new tools and technologies quickly and proficiently. I’m not saying you shouldn’t specialize in any single framework. You should probably pick one or two, focusing specifically on what you currently use at work, or what you want to use at a future job (until they become obsolete, which they will). The purpose of this exercise is to practice learning. Always be learning.

Most people can’t afford to do this on the job. It will take time outside work. One day, our industry will evolve to provide time for this kind of study, because it will benefit employers. But today is not that day for most companies. So you’ll have to do this on your own time. I recommend finding a fun side project, like watering your lawn. You can reuse this project over and over as you learn new tools and frameworks.

If you do this well, not only will you become a strong web developer, but you will improve your ability to quickly ramp on entirely new areas. Want to get into mobile? No problem. Want to get into back-end? No problem. Want to get into embedded devices? No problem. You are good at learning new stuff.

In short, investing in your ability to learn is much more important than investing in any particular language, tool, or technology. Avoid the hype and learn how to learn by constantly learning.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.