Originally published on Hackdoor
Lately, many people around me, developers, CTOs and even some PMs have used the term "modern frontend" to make me understand that he meant something much more complex than it was a few years ago. All this made me reflect on the substantial change that the world of frontend development has undergone in recent years and to realize how even the professional figure of the frontend developer is completely different from a few years ago.
Let's start with some historical context
My own IT professor called developing web pages "a game to play when you didn't want to program with C"
we tried to find more developer-friendly ways to write the css, in order to make it more manageable for large projects where maybe many developers put their hand, like Less, Sass, Css-modules and Styled-components
we have created tools to support the development with these new libraries so that in any case the code readable by the vast majority of browsers was automatically created like Webpack, parcel and Rollup
we started creating reusable modules and managing them with package managers such as npm and yarn, we realized that we could divide the frontend from the backend by making them communicate viarest api or Graphql query, we realized that our applications could manage really a lot of data and therefore that state management libraries such as redux, vuex or mobx could help, we understood that a typed language could be more comfortable for working in teams or single tasks without having to go crazy with integrations and Typescript was born, we understood that our code must be tested with the same importance with which the backend must be tested, therefore finding solutions for unit, integration and behavioral test.
but above all we understood that the task of a frontend is no longer limited to writing simple support code to embellish a php page, nor to having to run necessarily on a browser and, more importantly, that the frontend developer is not the "artist" brother of a developer.
The figure of the frontend developer has turned into a frontend engineer
A frontend engineer must deal with: