Définition : Le Développeur Front-End

Définition Développeur Front-End

L’intitulé « développeur Front-End » est apparu à la suite de l’émergence d’applications Web « riches » ou « 2.0 » ou « Single Page Applications ».

Il s’agissait de différencier l’intégrateur HTML / CSS classique du développeur Javascript
« nouvelle génération » qui est à l’aise avec les frameworks évolués et complexes tels que Angular ou React. Ces frameworks, dont jQuery ou l’utilisation de Javascript en mode AJAX (XMLHttpRequest) sont des prédécesseurs respectables, ont donné leurs lettres de noblesses à Javascript (cf l’article suivant pour plus de détails : https://medium.com/@fillon_b/frontend-je-ne-boirai-pas-de-ton-node-1d52d9e121d9)

Un développeur Front-End n’est donc pas un designer, ni un intégrateur et répugne à se faire appeler Développeur Web (ou encore moins webmaster !!! ?).

Rôles et missions d’un développeur Front-End

Même si ce n’est pas un designer, le développeur Front-End doit être sensible aux sujets touchant de près les interactions avec les utilisateurs et peut / doit donc collaborer lors de la conception UX puis UI avec les designers désignés (pas facile de caser une paronomase dans une job desc ?).

Son rôle va être également d’assurer la cohérence de comportement sur tous les appareils utilisés pour utiliser l’application ou le site web qu’il développe : Responsive, Progressive ou Adaptive. Ce sont des approches dont il doit tenir compte pour que l’application qu’il développe puisse être accessible sur tous les navigateurs (Chrome / Firefox ou IE/Edge) et sur tous les formats (PC / Tablette ou téléphone)

Il doit également interagir avec les développeurs backend soit pour orchestrer les appels des APIs qu’ils proposent soit pour exprimer ses besoins en termes d’interactions (en évitant par exemple de faire attendre les utilisateurs lors d’un appel API Backend).

Les compétences d’un développeur Front-End

La compétence #1 d’un développeur Front-End est sa maîtrise du Javascript : pas de développeur digne de ce nom que ne soit à l’aise avec ce langage. Comme ce langage a eu longtemps mauvaise presse, les développeurs « traditionnels » se sont focalisés sur le backend alors qu’aujourd’hui Javascript offre les mêmes « avantages » que les autres langages. Qui plus est la complexification des interactions Front End requiert des développeurs rigoureux et à l’aise avec les concepts objet ou les approches TDD au même titre qu’un développeur Back-End.

Il doit être en mesure d’assurer un choix des différentes technologies
ou « packages » Javascript à utiliser dans l’application qu’il développe : Angular et React ne sont généralement « que » des points de départ.

Il faut choisir des librairies Javascript pour la gestion d’état (Redux ou Immutable) ou choisir des outils de minification / distribution des livrables (WebPack par exemple). Il doit également être attentif aux performances côté client : les frameworks Javascript peuvent représenter plusieurs méga-octets à télécharger si on ne choisit pas avec précaution les composants ou si on ne se soucie pas d’utiliser un CDN.

En plus du Javascript, il peut éventuellement être en charge de l’écriture du HTML / CSS en utilisant des approches plus ou moins évoluées : HTML sémantique (pour structurer l’information ou être plus facilement SEO-friendly) ou utilisation de préprocesseurs CSS (pour faciliter l’écriture du code ou dans une optique de supportabilité multi-navigateurs / multi-devices).

Formations possibles

La plupart des formations traditionnelles d’ingénieur donnent les bases nécessaires pour comprendre de manière minmale les enjeux du développement Front-End. Cependant, souvent, les ingénieurs auront une préférence pour faire du développement Back-End.

C’est possible de trouver des développeurs Front-End qui sont passés par des écoles de Design et qui se sont intéressés au Front-End : généralement ils se contentent du développement HTML / CSS plutôt que Javascript. Dans ce cas, ce sont plus des intégrateurs HTML / CSS que des développeurs Front-End.

Comment évaluer les compétences d’un développeur Front-End ?

Lui faire passer un test technique en Javascript ou sur le framework de son prédilection (React ou Angular) est un bon point de départ.

Si vous voulez savoir si vous avez affaire à un intégrateur HTML qui se dit développeur Front-End, il suffit de le questionner sur l’utilisation éventuelle de frameworks de tests unitaires tels que Jasmine ou Karma.

Si vous voulez savoir si le développeur Front que vous avez en face de vous est un peu expérimenté, demandez-lui la manière dont il a packagé son application (interactions avec le DevOps de l’équipe) ou de quelle manière il a été confronté à des problèmes de performance côté client.

Salaires

Réponse simple : normalement le même prix qu’un développeur Back-End.

Le développeur Front End n’est pas un développeur Back-end au rabais… donc il vous faudra compter entre 40 k et 60 k selon la région et la rareté du framework Javascript que vous avez choisi (plus facile de trouver des développeurs Angular.io que de trouver des développeurs sur Aurelia.io)

 

SkillValue vous permet de :

 

Découvrez aussi :

Fiche Métier – Développeur Mobile

Fiche Métier – Développeur Back-End

Fiche Métier – Développeur JavaScript

Fiche Métier – Développeur Python

Fiche Métier – Développeur JAVA

Fiche Métier – Ingénieur DevOps

Fiche Métier – Développeur PHP

Fiche Métier – Développeur Android

Fiche Métier – Développeur Full-Stack

Fiche Métier – Développeur Ruby on Rails

Fiche Métier – Data Scientist

Fiche Métier – Développeur .NET

Fiche Métier – Ingénieur DevSecOps

Fiche Métier – UX Designer