Learn fundamentals, there always will be another framework!
Tags: webdev, career, codenewbie, beginners
Published: 2020-08-12 09:21:55

---
title: Learn fundamentals, there always will be another framework!
published: true
description: An alternative to all the crash courses.
tags: webdev, career, codenewbie, beginners 
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/etgw85z9bpizuv5lrkjm.jpg
---

Maybe 15-20 years ago, there was an eagerness to search for new technologies or tools, and sometimes there was a big gap between finding new things.

But today it's not like that. You wake up and check your email. On the big list of newsletters, you find something like this: 20 new JS tools of July 2020. Just July? Oh, come on!

How could you catch up to all of that? Do you really need all those small libraries, npm packages, and so-called "frameworks"?

I know, these tools make our lives easier and it's not just for discovering new things or create tutorials, youtube crash courses, and blog posts. But the problem is not having new tools, it's just the stress of not knowing new things and not using them. I think this is familiar to a lot of us. You do search for a job, you found a good fit on position, location, payment, and scale. Then you check the "What we want from you?" section that lists a lot of technologies on their stack. You know Vue.js but they want you to work with React. You worked with TDD using Jest but what is Mocha + Chai (This is the most fun name combination ever!)?

It's a bad feeling, isn't it? You have multiple years of experience in the industry but now you are just a beginner? Of course not. Most of the things you know will be useful to you anyway. But you should know how to guide yourself through it, if only you learned the fundamentals.

## What are the fundamentals?

Nowadays, we all are surrounded by courses, tutorials, and playlists which promise you that you could learn something like React or even worst, Gatsby in no time (something like 2-3 hours). But you know that's not possible. So, why these contents are so popular? The reason is just like solutions for being skinny and lose weight. They don't work. To be honest, they don't work as you expect. You may find these sources useful if you are trying to change your job from back-end developer to front-end developer and you need something to give you an idea about what's going on there. Or for someone without any knowledge of coding who wants to see what's what. 

If you want to create your new personal website then you definitely should follow some 4 hours crash course on Gatsby or Nuxt to get to the result as fast as possible. But it's not the solution for you if you really mean to learn it. It's not even enough to read all the necessary documents just for the sake of reading something. 

The problem is not limited to the Youtube playlists or very long tutorials. Even courses on sites like Udemy or Lynda could have the exact same problem. You find courses with the length of 50 hours on something like React but when you reach the content you hear a lot of "don't worry about this" or "just know that react will handle that". This is not learning something, it's just typing along and get the same result.

### I'm not trying to disappoint you. I talked about the problem, now its time to talk about the solution. So, what can we do?

## Understand concepts

Today solutions like libraries or frameworks have more things in common than you think. You could search for the comparison between these technologies to choose the best one but you only hear the similarities with the conclusion that you could choose any of them!

For example, you find components in both React and Vue. When you learn it once in one of them (I'm talking about understanding it), then you should not have any problem with the other. You could find this on a lot of subjects like state management, routing, deploying, etc. So, it's very important to understand what's happening on the concept level of these similar tools.

## Get deep

I don't think there is any problem with using crash courses to get familiar with things, as I do it all the time. Just remember that you need to get more deep based on your interaction with that tool.

You can rely on official documentation to see how and why some ideas work. You can also search for more deep articles about the concepts. For example, one of the best articles on how React works is written by Rodrigo Pombo named "[Build your own react](https://pomb.us/build-your-own-react/)", which is a very interactive article on how to create React from the scratch. The purpose is not to build and use your own React, but to understand how it works on the core level. Follow this kind of articles and you'll be a master on the subject.

## Languages are more important than the tools

I think the title is more than enough and there should not be any discussion on this. But let talk a little bit more about this.

Some people made this mistake. They follow a crash course on something like JavaScript and they go to another one on React and think ok, that's enough. The problem is not with the quantity but with the wrong path they choose. I'm begging you, see a crash course on React but please, please, please learn the JavaScript as best and deep as you can. 

There is a lot of jokes on how JavaScript is broken and works funny. But, please accept this from me: This is not the case. JavaScript has some problems and bugs (As any other language might have) but, that should not give you the idea that any problem you have is based on how JavaScript works. You absolutely should learn about Hoisting, Coercion, Event Loop and more advanced (and sometimes basic) topics to be able to master some libraries like React. It's absolutely crucial. You can be an expert on tools when you are an expert on the language. 

This is just a suggestion, you may be a newbie or a developer with some years of experience. But, it's never late to learn more deeply. 

Make a list of concepts that you should learn on the language you work most with. Take some time to find some courses or articles that explain it in detail.

I'm assuring you, take the time once and see how it make it easier to learn any tools you want to learn.