It’s very common to have doubt about use a framework or not. By my perspective is necessary to kwon when is a good and when is a bad idea use it. My first question about framework is, does this framework meet my requirements? I refer to the project requirements.
I think we need to stop and think about whether it is really necessary or not. Whether it will really facilitate our development according to the requirements or not.
Frameworks are created with the objective of facilitating and covering certain requirements. And many times what we do is to adapt our needs to the framework or even worse, to adapt the framework to our requirements.
The first case, when we adapt the requirements of our project to the framework, causes many problems. It is possible that we are forced to use a specific database, it forces us to review the needs of the project modifying them in such a way that it ends not being the same.
“if we do it this way it is also valid for us”
“it is not the same but it can help us to begin”
If this situation occurs, it may not be able to cover all the requests that we need. I have seen this case a lot in tools oriented to business management. They are not bad, but you end up modifying the software core so that it can handle the load of the N invoices you have to need generate.
On the other hand, when you are an expert for a specific framework, another type of situation is very common. As I said in the last example. Change the core framework. I’m sorry but in my experience this case only produces technical debt, because the framework has its own documentation but if you update the core, this documentation becomes obsolete and if you leave the project, the other people will not be able to update the framework, because your changes would break. And as we all know the framework is updated improving and including new features that may interest us.
During my profesional career some people have different opinions about frameworks.
When using the framework I lost a lot of knowledge, and now i don’t know how to program in this language without a framework.
I think it’s common, but the problem is not the framework, the problem is you. If you spend many months in different projects with the same architecture, it’s normal that your skill to use your other languages decreases.
In my case when I spend months programming in React, when I go back to the backend with Python it is common that I need a short time to remember. And that’s not bad, in my opinion it’s a good skill to differentiate yourself from others, because you can change and adapt your way of working to the requirements of the project. This way, you can work in different contexts.
I usually call it getting out of my comfort zone.
Use the frameworks not is a bad idea, but use it wisely. I love frameworks especially Django. And remember, what really makes a good architect or a bad one, is to select according to the project and not follow the trends.
Thanks for reading me, see you.