Definition: The Front-End Developer

The definition of the Front-End Developer

The title “Front-End Developer” emerged as a result of the appearance of “rich” or “2.0” or “Single Page Applications” web applications.

This was done in order to distinguish the classic HTML/CSS integrator from the “new generation” JavaScript Developer who is comfortable working with advanced and complex frameworks, such as Angular or React. These frameworks, including jQuery or the use of JavaScript in AJAX mode (XMLHttpRequest) are respectable predecessors, have taken their acclaim to JavaScript.

Thus, a Front-End Developer is not a designer or an integrator and is reluctant to call himself a Web Developer (or furthermore, a webmaster!).

The Front-End Developer’s roles and missions

Even if he/she is not a designer, the Front-End Developer needs to be sensitive to topics that are close to user interactions and can collaborate on UX and UI design with designated designers.

In this role, the Front-End Developer will also need to ensure consistency of behaviour on all devices used for the benefit of the application or the website he/she develops: responsive, progressive or adaptive. These approaches must be taken into account so that the developed application can be accessed on all browsers (Chrome/ Firefox or IE/ Edge) and on all formats (PC/ tablet or phone).

The Front-End Developers must also interact with Back-End Developers to either orchestrate the calls of the APIs they propose or to express their needs in terms of interactions (for example, by avoiding the step that makes users wait on the Back-End API call).

The skills of a Front-End Developer

The Front-End Developer’s #1 skill is his mastery of JavaScript: no Front-End Developer worthy of this name feels uneasy when it comes to this programming language. As JavaScript has been getting bad press for a long time, the “traditional” developers have focused on the Back-End, even though today, JavaScript offers the same “benefits” as other languages. Moreover, the complexification of Front-End interactions requires rigorous developers, who are comfortable with object concepts or TDD approaches, just like a Back-End developer.

The Front-End Developer must be able to ensure a choice of different technologies or JavaScript “packages” to use in the application he/ she is developing: Angular and React are usually “just” starting points.

One has to choose JavaScript libraries for state management (Redux or Immutable) or choose tools for the minification/distribution of deliverables (for instance, WebPack). The developer must also pay attention to client-side performances: the JavaScript frameworks can take up to several megabytes when it comes to downloading, if the components are not carefully chosen or if one does not mind using a CDN.

In addition to JavaScript, the Front-End Developers can eventually be in charge of writing HTML/CSS, by using more or less advanced approaches: semantic HTML (to structure information or be more easily SEO-friendly) or use of CSS preprocessors (to facilitate code writing or for a multi-browser/multi-device supportability perspective).

Possible training

Most traditional engineering courses provide the foundation needed to have a minimal understanding regarding the issues of Front-End development. However, engineers will often prefer Back-End development.

It’s possible to find Front-End developers who have gone through design courses and who are interested in Front-End development: usually, they are content with HTML/CSS development, rather than JavaScript. In this case, they are more HTML/CSS integrators, than Front-End Developers.

How to evaluate the skills of a Front-End Developer?

Giving a technical test in JavaScript or the framework of their predilection (React or Angular) is a good starting point.

If you want to know if you are dealing with an HTML integrator who calls himself a Front-End developer, just ask him about the possible use of unit test frameworks such as Jasmine or Karma.

If you want to know if the Front-End Developer you have in front of you has little experience, ask him how he packaged his app (interactions with the team’s DevOps) or how he was confronted with customer-side performance issues.

Wages

Simple answer: Front-End Developers are normally paid the same as Back-End Developers.

The Front-End developer is not a Back-End developer with a discount… so you’ll have between 20k and 50k, depending on the region and the scarcity of JavaScript framework that you have chosen it’s easier to find Angular.io developers, than Aurelia.io developers.

SkillValue allows you to: