By the passing of time working with software development, I used to study a bunch of libraries and frameworks to get more proficient on that specific approach.
Nowadays I don't give a penny to study any framework or library especially if it's about web applications architecture.
When we talk about web applications, the workflow that usually companies want is something like this:
CRUD service and a place to display the info.
This computational generation like to use the microservice architecture with is basically a crud from somewhere. it could be a database, a queue, a file, another service or any other data management system.
With the multiple platforms connect on the internet (laptops, pcs, mobile devices, microwaves, cars, medicinal robots, even some parts of our body can be connected on the internet). We need a beautiful way to show the information correctly. It can be a queue, a single page application, an embedded component, a display in a car, a monitor to a doctor in a surgery, or any kind of crazy stuff that our imagination can create.
Taking all that, why should I spend time and somebodies(mine, company, mate..) money to learn how create these things in a different way? Is that the way I want to grow? by being some tool user? or I want to know how to implement these solutions and after that, choose what I must take to get the job done?
Let' pick up an example:
You have to build software that will help some researchers to understand the cancer growth in a specific region of Brazil.
You have to create a web application that collects this information by import some csv/excels files that already have been analyzed by the data science team also your application must have a Restful API for the data engineers team, to put and consult the information from the pipelines jobs.
You know what to do by this time. You need to build some microservices and a spa.
your microservices will use the MVC design pattern or pub-sub approach? which programming language the do company want this solution? Java? Python? Elixir? Golang? Php? Nodejs?
You know how these solutions must work: It must have resources that will be accessed by some HTTP operation, must have some authentication/roles.
Let's use Java as our programming language.
By a simple google search, we reach the best web framework for the current year is useful to create Restful Apis services.
So at this point, I must know to use in Java properly, if I do, leaning in a week how to use a framework won't be that painful. Usually, the frameworks have a good documentation and a start guide, that will help you to be proficient in a short time.
Okay but you are not teaching me anything with this post. Alright, the conclusion is important to improve your skills of programming the must.
If you take your time to learn some tools, such as frameworks, it better you used right away, otherwise, you will spend energy with a bunch of knowledge that maybe will be deprecated when you need it, besides, nowadays there a huge types of frameworks, and I am sure that you will not bust your capabilities by leaning them,
All you need to do is:
- Know what which frameworks are trying to solve.
- Deeply understand the concepts of your programming paradigms
- Know where to search