Retour au blog

Développeur web fullstack : à la croisée des chemins

Fri Mar 02 2018 00:00:00 GMT+0000 (Coordinated Universal Time) · Sylvain Pastor

Développeur web Back End, Front End, Fullstack… Avec tous ces termes techniques, il est parfois difficile de s’y retrouver. Ne vous inquiétez pas, je vais tenter de résumer tout cela en quelques lignes.

Dans le monde du développement, il y avait historiquement deux factions : les développeurs backend (responsables de l’architecture, des bases de données et du code côté serveur) et ceux du frontend (chargés de l’affichage et de l’interaction sur le poste client).

Mais aujourd’hui, un troisième type de développeur sort du lot : le développeur web fullstack. Cette évolution reflète une nouvelle dynamique dans notre métier, apportant des réponses à des problématiques complexes dans le monde du travail.

Serait-il l’élu, capable de rétablir l’équilibre dans la Force ?

Aujourd’hui, je vais partager avec vous ma vision très personnelle du métier de développeur fullstack.

Qu’est-ce qu’un développeur fullstack ?

Alors que la tendance est souvent à la spécialisation (backend vs frontend), le développeur fullstack prend un chemin différent. Il est capable d’intervenir sur l’ensemble de la pile technologique (STACK) et de s’adapter aux différents projets. Dans une même journée, il peut travailler sur plusieurs environnements technologiques très variés.

Ses compétences

  • Développer des webservices pour le backend.
  • Concevoir des interfaces utilisateurs côté frontend.
  • Maîtriser la manipulation et l’interrogation des bases de données (SQL, NoSQL…).
  • Configurer l’infrastructure, comme un serveur Linux.
  • Participer aux réunions quotidiennes (daily meetings), en proposant des idées techniques ou fonctionnelles.
  • Interagir avec les clients pour comprendre leurs besoins et les conseiller.
  • Gérer le versioning d’un projet, par exemple avec Git.

Attention : le développeur fullstack n’est pas un généraliste

Contrairement à l’idée reçue, dans ma vision, un fullstack n’est pas un “couteau suisse” du développement. Bien qu’il ne soit pas spécialisé dans une technologie en particulier, il doit maîtriser un large éventail de compétences. Il connaît parfaitement les outils et technologies qu’il utilise pour accomplir ses missions. Polyvalence ne signifie pas manque de maîtrise.

Je voudrais éclaircir cela en vous donnant un exemple de ce que pourrait être un fullstack dans ma vision : un développeur spécialisé dans une pile technique particulière.

Voici quelques exemples :

  • Node.js, Vue.js, MongoDB/Postgres…
  • PHP, Laravel, SQL, JavaScript
  • C#, .NET ASP, SQL, Blazor

Un développeur fullstack n’a pas besoin de maîtriser parfaitement 50 technologies différentes, mais il doit connaître parfaitement celles qui lui permettent d’intervenir efficacement à la fois côté backend et frontend. Dans un contexte où des technologies comme Node.js permettent de travailler des deux côtés avec un même langage (JavaScript), il est devenu possible – et parfois nécessaire – de maîtriser une seule technologie pour certains types de clients.

Qui a besoin d’un développeur fullstack ?

Les startups sont particulièrement intéressées par ce profil. Lorsqu’elles se lancent, elles n’ont souvent pas les moyens de recruter plusieurs développeurs. Le développeur fullstack représente donc une solution à la fois économique et pratique pour ces entreprises.

Grâce à sa vision globale de la pile technologique, un développeur fullstack peut également apporter des conseils stratégiques et proposer des améliorations ou des évolutions décisives pour un projet.

Comment choisir son développeur fullstack ?

Il est important de choisir un développeur fullstack dont la stack de prédilection correspond aux besoins de votre projet. Par exemple, faire appel à un fullstack spécialiste de PHP pour développer une application en temps réel n’est peut-être pas la meilleure idée. Dans ce cas, il serait plus judicieux de choisir un développeur expérimenté en Node.js et dans des frameworks comme Angular ou Vue.js.

Et vous, avez-vous un avis sur la question ? N’hésitez pas à partager votre point de vue en commentaires !