
The roadmap of a good developer is a constant learn of new technologies, programmation languages, is to maintain the code base, researching and discussing with others. This will allow this one to evolve and with time will give some solid basics to ease his/her learning curve.
During his/her evolution, the developer will choose its side or choose both. The sides are Backend, Frontend or Fullstack. If you don’t know, the Backend is responsible of the code in the server, the Frontend is responsible of the code in the client and the Fullstack is responsible for both. By responsible, he/she should be able to develop, refactor and maintain a code of his/her side.
Being backend and frontend is mostly related to a choice. You choose to be developer for only backend or frontend. On the other side, Fullstack developers don’t really choose. They discover one day they are good in frontend and backend development and developing for both doesn’t bother them. They are not better in one, they are good in both and it is mostly their environment that chooses for them. This environment could be the enterprise where they work, their loving partner that pushes/encourages them to test and develop on each side.
But being a Fullstack developer, to be a good developer, he/she has to learn, to keep himself/herself up to date with the latest technologies, maintain the code base and current knowledges etc. So it means maintain his/her backend and frontend side and therefore having a double charge.
To ease all that there’s many points to take in account.
Should a Fullstack Developer be expert in a technology ?
The simple answer… NO!
A developer in general doesn’t have to be expert in any technology if he/she doesn’t aim to be one of the core developer of this technology. As a developer you must be able to understand the technology you are using. By understanding, i mean you should be able recreate this technology with your current knowledge even if your version is not as good as the technology or ar least easily choose another one that could replace it.
As a Fullstack developer, this applies to you more as you probably doesn’t have enough time to be expert in it. So you must learn how to easily understand a technology. Nowadays it is not as difficult as before as new technologies tend to be more alike with some common basics concepts and sometimes only the implementations differs.
We can take as example in frontend, React and Flutter. Both can be seen as two different technologies as they are not developed by they don’t used the same language, one is more seen as Web technology and the other one as Mobile technology. But when you look is little bit under the hood, both used declarative/reactive programming, both have a concept of State management, their language are very similar. So taking that in account, if you are already good in React, it won’t be difficult to be good in Flutter and vice versa.
And if i can add, a good developer doesn’t have or shouldn’t have to save a documentation/response in its memory but only a reference that he/she could use to access it when he/she needs.
Is there a maximum number of technologies a Fullstack developer must know ?
The simple answer… NO!
You can learn as much as you want. It is part of the culture of the developer not only the Fullstack developer.
The developer should known as much as possible. It will help him to understand more the one he/she used daily. But knowing doesn’t mean being good at them. The ones you should be good are those that are parts of your daily works. Knowing others will help you to compare and see the flaws in the one you are good at it and later help to advise.
The task is a little much harder for the Fullstack as there’s a balance he/she has to respect. The Fullstack developer has to know technologies of frontend and backend development. The easier way to do is to keep himself up to date of the evolution of the technology that is the main “competitor” of the one he/she daily use in frontend and backend and inform himself about the new ones and their strength as culture.
So the Fullstack developer should atleast being good at one frontend technology and one backend technology. Known the technology that can be seen as direct competitor or substitute of the technology he/she daily used and capable of to give the pro and cons and lastly be informed of the news one and what they are about.