According to the “Developer survey 2018” of StackOverflow, a majority of developers consider themselves “full-stack developers”, an intrinsically senior profile, very demanding in knowledge and with high demand in the sector.
We speak of a developer capable of designing and implementing projects, both on the server side and on the client side, which means knowing the strengths and weaknesses of each technology and staying updated as they evolve and/or new ones appear.
With the technological evolution of the Web stack, staying updated and productive in the front and back-end is increasingly complicated, to the point of questioning whether meeting those expectations is more a myth than a reality.
The origin of the “Full-stack”
When this nomenclature began to be used for this profile, in the early 2000s, Web technologies were clearly less complex and the options to choose from were less numerous:
- There were three or four major application servers, all in charge of maintaining the state of the application, applying the business rules and generating the UI of the clients. The languages and environments could vary, but the client-server model, the development patterns and the techniques used were relatively similar.
- All the DBs followed the relational model, with SQL query languages. Having a domain of the SQL-92 standard, it was possible to jump from one SGDB to another in a reduced time.
- The Internet bandwidth could be up to 100 times smaller than the current one.
In this context, it was perfectly possible for the same developer to take responsibility for the entire development.
The full-stack profile was born!
And this term really became popular especially with the expansion of Facebook, which apparently only hired developers with this profile.