Au-delà du buzzword, FULLSTACK évolution ou régression ?

Au-delà du buzzword, FULLSTACK évolution ou régression ?

On est à une ère où les buzzwords apparaissent et deviennent une mode, au détriment du sens des mots, du sens des choses. Tout va tellement vite, et devient tellement the MUST HAVE, the MUSTE BE, qu'on ne prend plus le temps de s'interroger. Petit retour sur ce qu'est VRAIMENT un fullstack, pour voir s'il correspond à une évolution réelle ou au contraire à une régression.

Définition du Fullstack (selon wiki)

Un développeur fullstack est un informaticien capable de réaliser des tâches à n'importe quel niveau technique de la pile des différentes couches qui constituent une application informatique.

Acception d'un fullstack dans un projet informatique

Pour faire court, un projet informatique c'est souvent un backend et un frontend. Ces 2 parties sont souvent séparées, avec 2 personnes, 2 compétences différentes. Aujourd'hui le fullstack est capable de réaliser les 2 ! Donc 1 seule personne est nécessaire. Pour 2 compétences ? Avec l'évolution des framework, certains langages servent au back et au front, donc on peut avoir 1 seule personne avec 1 seule compétence.

Donc derrière le mot fullstack, l'enjeu est d'avoir une personne qui fait TOUT.

Quand le sens perd tout sens, les problématique au-delà du buzzword...

1- Recruter sur le seul mot "fullstack" ne fait pas sens

Tout le monde le sait, en informatique on parle de "langages informatiques". "Langages" parce que savoir coder en Java/C#/Angular/NodeJS/... c'est comme savoir maitriser une langue comme l'anglais/l'allemand/le francais/... Du coup si j'ai besoin d'un "fullstack anglais", inutile de faire une recherche sur le mot clé "fullstack" qui risque de me proposer des "fullstack allemand"/"fullstack français"/... Quelle perte de temps, pour un manque de compréhension initiale.

2- Derrière le buzzword = nouveau métier ?

C'est la hype, c'est nouveau, on a l'impression d'avoir inventé un nouveau métier, et c'est... TOTALEMENT FAUX ! En fait c'est un retour en arrière même. Les informaticiens au début de l'informatique codaient sur tout. Parce qu'il y avait peu de ressources, chacun faisait tout. Quand sur un projet informatique vous n'aviez qu'un seul développeur, il était fullstack par définition !

3- Quand on te vend que l'avenir c'est le passé...

Oui, avec ce nouveau buzzword, on te vend vraiment que l'avenir c'est le passé. Les plus grandes avancées se sont faites avec la spécialisation. Si Léonard de Vinci fait et fera toujours rêver, il n'empêche qu'un Léonard de Vinci contemporain n'aurait pas été bien loin. Parce qu'avec l'évolution des sciences, on va tellement loin, les sciences sont tellement poussées, qu'on a besoin de spécialistes ! Allez voir les intitulés des postes de physiciens, chacun est physicien "en quelque chose", en théorie des cordes, en topologie, en cosmologie, en théorie des trous noirs, en... De même, tu as des chirurgiens spécialisés sur le cerveau, d'autres sur le coeur, d'autres... Donc question : Aujourd'hui aimerais-tu te faire opérer du cerveau par un chirurgien fullstack ? Décryptage : Par un médecin généraliste ?

L'avenir C'EST la spécialisation, et cette spécialisation fait (souvent) sens !

4- Tout faire, mais pourquoi ?

On ne va pas se mentir, c'est du bon sens. Si tu es seul pour faire les travaux chez toi, alors tu es fullstack, par contre si tu as la possibilité (les finances ou les gens) pour être plusieurs, est-ce que pour tes travaux tu vas prendre quelqu'un qui s'y connait bien en éléctricité, plus quelqu'un qui s'y connait bien en plomberie, plus quelqu'un qui s'y connait bien en isolation, ou au contraire préfères-tu prendre autant de monde (donc 3 personnes ici) qui s'y connait "moyennement, mais en tout" ? Si pour 3 personnes la question se pose, se pose-t-elle toujours pour 20 personnes ?

La démystification = le pas vers le bon sens

Alors oui, si au-delà du buzzword, tu as un projet sur lequel tu ne peux recruter qu'une personne, il te FAUT un fullstack, quelqu'un qui fera tout, parce que de toute façon tu n'as pas le choix, et qu'il en ait le titre ou non, c'est ce qu'il fera. Mais plus la taille de l'équipe grandira, plus le projet aura besoin de spécialisation, donc moins le projet aura besoin de fullstack...

Pourquoi cette perte de sens ?

Là c'est la grande question, et je pense qu'on peut y répondre de 2 façons.

  • La première réponse serait pour moi sociologique. La société du buzzword, la perte de sens, on suit, on ne veut pas passer pour has been, on ne réfléchit pas trop, on fait comme tout le monde. C'est triste... mais c'est la société dans laquelle on vit... Why not...
  • La 2e réponse me semble plus problématique. Pour moi elle dénote une perte de compétences, non pas de la technique, mais de la direction. Quand un directeur de projet cherche à ne recruter QUE des fullstacks sur une équipe de 10 personnes, à première vue c'est un non-sens. C'est aller contre l'évolution qui a toujours été vers plus de spécialisation. Alors pourquoi ce choix ? Par manque de maitrise, par peur aussi : "Imagine, si l'un tombe malade ?". A quoi on peut répondre, qu'il y a peu de chance que les 9 autres tombent malades, donc pas la peine que chacun puisse faire le travail de chacun. Idée fausse, et peur de "perdre la compétence" (alors que c'est tout le contraire). Cette équipe de 10 je l'ai vécu, on avait 3 technos, le bon sens aurait voulu de prendre 3 experts dans chacune, et peut-etre un expert sur toutes (on appelait pas ça un CTO à une époque ?). Au lieu de ça tous étaient fullstack, et le pire c'est qu'on avait la moitié de fullstack juniors, voire novices (comprendre : au lieu de les former 1 fois, il fallait les former à 3 technos, donc 3 fois...). Non sens ! Et pourtant, dans les systemes de controle d'un avion, tout est répété 3 fois et pas plus. Pour les backups de serveurs, on répète tout 3 fois également, mais là... une répétition de 10 fois ne semblait même pas suffisante... Triste, perte de temps, perte d'efficacité, et au final chaque fullstack n'était que sur 1 seule techno (???).


Conclusion : Pour sortir du buzzword

1- On n'a inventé que le mot, mais un fullstack, sans en avoir le nom, ca a toujours existé.

2- Si vous avez une "stack java", inutile de baver devant un profil de "fullstack... NodeJS".

3- Plus vous avez de ressources, moins c'est pertinent d'avoir des fullstacks !

4- Souvent les fullstacks sont là pour "rassurer" un directeur technique qui a perdu la maitrise ou la compréhension de son métier...

Franchement je dirai juste stop

Julien PAPUT

Head of Engineering at Resilience care

4 ans

Excellent article Sylvain ! Et tu m'enlèves les mot de la bouche ! (ou plutôt du clavier) Je suis totalement d'accord avec ce que tu évoques.

Sébastien Lorber ⚛️ This Week In React

🔥 ThisWeekInReact.com - 📨 Rejoins 45k+ devs - 🦖 Docusaurus maintainer @ Meta - Freelance

4 ans

Intéressant, mais à moitié d'accord. Pour moi, l'intérêt du dev fullstack (back+front en tout cas) c'est d'être capable de livrer de la feature produit en parfaite autonomie. Il n'a pas besoin d'être expert back, ni front. L'avantage c'est qu'à aucun moment il n'est bloqué pour gérer l'évolution de contrats API qui seraient à modifier pour une raison ou une autre. Je fais du React dans la startup d'un ami, qui a un env Java, et je peux te dire que mon passé de dev backend Java me fait gagner un temps fou qui serait perdu en allers retours si je n'étais pas capable de faire mes propres apis. Il ne faut pas pour autant se priver d'avoir un spécialiste back, et un spécialiste front (+ de ops etc si besoin...), cependant ça ne me choque pas de vouloir une bonne partie de devs fullstack dans une team produit. On leur demande pas d'être expert, mais d'être en mesure d'appliquer les Recos de l'expert qui lui est garant de l'architecture.

Identifiez-vous pour afficher ou ajouter un commentaire

Plus d’articles de Sylvain Duché

Autres pages consultées

Explorer les sujets