Front-end expertise is required in web application projects

It is still rare to find competent front-end developers in a project team. As a result, front-end and back-end code are often combined into a monolithic application in which the overall quality of the code has long since been degraded.

Development teams are usually composed of “FullStack developers” that are way more experienced in back-end development. Most of them have no interest whatsoever in key front-end skills. In reality, few truly full-stack developers have mastered both areas.

The monolith problem

Separating the front-end and back-end skills into dedicated teams – allowing real FullStack developers to work for both if needed – allows teams to focus on what they know and to ensure code quality in every corner of the project.Once the front-end and back-end developers are identified and organised, you can separate the front-end and back-end code into 2 isolated apps, which allows for more flexibility and makes maintenance much easier. Having one monolithic application also means that for one little comma change, the whole app needs to be brought up to a new version.

Front-end specificities

These practices are still unknown and neglected by many development project managers, even though front-end technologies and skills are becoming more and more numerous and complex.As a front-end developer, you need to keep in mind several topics while you work, topics that are unique to FrontEnd development. Being in charge of the User Interface means that everything you do will directly impact the user’s experience on your application.

Performance

On top of the usual performance issues linked to the optimisation of any code, which back-end developers also have to manage, on the front-end you have to pay close attention to your User Interface’s performance whenever you change something.Historically, the user’s browser fetched whole pages from the server, rendering the whole page everytime something happens.

This is long past now. Today we are in a web components era, which means that the User Interface should be separated into individual components, and each re-renders only when it should.As User Interfaces grew more complex and heavy, being in control of what renders when it is necessary preserves the speed of the User Interface. 

Styling and structure

Many FullStack developers will do anything to avoid CSS work because they prefer "logical development". Yet with the relatively new pre-processed languages such as SASS or LESS, styling now also requires skills in logical development, not to mention a tenfold increase in graphic possibilities.

CSS and pre-processed styling languages can do a lot for UIs, but managed by people who don’t master or like it, it can also become a dumping ground filled with contradictory or unused rules that are a nightmare to maintain.In addition, a user interface will be expected to display and function properly on different devices, from older smartphones to large screens, and on different web browsers, depending on the project specifications.

The creation of a responsive application actually requires an excellent command of CSS and HTML. This is one more reason that should dissuade decision-makers from giving the front-end work of their application to specialized back-end developers, unless they show a real interest in learning how to do this work properly.

UI quality

The front-end developer is the closest person to the user. What he or she does will be used or abandoned in less time than you need to say “User Interface”.He or she is the one who will type or paste informational content, and as such he or she is one of the last people who will read what was written before the user sees it. If he/she sees a typo, he/she will correct it. If a naming on a button doesn’t make sense to him/her, he/she will speak up and check if it’s the right one.

If colours defined in the design system somehow make something barely visible, he/she should definitely work it out with the designer(s) before the work is considered as done.As a rule, the code he/she produces should always keep the User Interface as clean and coherent as possible. This leads to an important aspect of the front-end developer's job: in this position, he/she has to work with everyone, including back-end developers, designers and even product owners. They work upstream, he/she works downstream. So the front-end developer can prevent UI accidents that they cannot – or did not – foresee.

So what?

As good as it sounds, my advice isn’t that easy to implement. Front-end developers are scarce, front-end experts even more so. Any project manager really should do their best to at least have one experienced front-end developer on their team, and keep in mind that ideally there should be several or many, according to the project.If you are a developer or interested in becoming one, there are a million things to learn and interesting people to work with as a front-end developer, not to mention you’ll find a job in almost any country on the planet.