Let me first define what I think a coding framework is because the word is debatable. I think a framework is a library that defines structures about every aspect or layer that can make the task of creating applications easier. By layers, I mean things like databases, models, controllers, views, presenters, networks, etc..
Frameworks try to solve most of the big and known problems that are usually encountered by their applications. They have built-in design decisions that you do not need to worry about. They also have carefully-crafted guidelines.
My answer: None.
Let me explain why.
Unless you are in a job that requires you to use a framework, don’t learn frameworks just for the sake of learning. I am talking about learning how to use a framework. This is a knowledge that will expire fast.
On the other hand, you should learn how frameworks work. That is very valuable knowledge. If your motivation to learn a framework is to land a good job, knowing how frameworks work is far more impressive than knowing how to use them.
Learn how to use a framework only when you actually need it.
I think there are far more important skills to learn to become a more in-demand developer:
- Learn the merits of functional programming and use its concepts where you can. Learn how to be declarative instead of imperative when you can.
- Learn how to build scalable data APIs (take a look at GraphQL).
Thanks for reading.
This article was originally published here
When you're ready to learn React or Node, checkout my books ;)
As software gets more and more integrated into our lives, the industrialization of its crafting process becomes inevitable. But the over-generalization of software engineering can be crushing the creative side of programming.