Le développeur fullstack n’est pas un mythe

Le développeur fullstack n’est pas un mythe

Le développeur fullstack est bien réel et son rôle est bien particulier. Énormément de monde pense que le concept de fullstack est impossible. Y’en a même qui se foutent royalement de leur gueule. Ça me sort par les yeux, il faut que je t’en parle.



Un full quoi ?

OK, alors commençons par se mettre d’accord sur la définition avant d’aller plus loin. Un développeur fullstack est un développeur polyvalent capable d’intervenir dans n’importe quelle partie du produit. Du CSS du front, au Terraform de l’infra en passant par le serveur en Go.

Le bordel il a cinq bras et fout ses mains partout. Et forcément, quand tu lis cette définition, tu te dis que le mec en question c’est un dieu. Une rockstar reconnue dans toute la galaxie.



fullstack


Mais en fait, non. Et c’est là que tout le monde est perdu avec cette histoire de fullstack. Le fait de comprendre et d’intervenir dans toute la stack ne fait pas du fullstack un expert en tout. Et surtout, c’est pas ce qu’on lui demande.

Sinon, il ferait plusieurs boulots en fait. Autant engager que des fullstack partout non ? Ça fait aucun sens. Mais alors pourquoi on parle de fullstack ? En fait, comme d’habitude, on essaye de répondre à une question compliquée avec une réponse simple. Tu fais de l’informatique comme moi, tu sais ce que je m’apprête à dire.



Ça dépend, ca dépasse

Comme d’habitude, ça dépend. Et ici, dans le cas des développeurs fullstack, on va parler scope et objectif. Il faut comprendre pourquoi les entreprises font le choix de prendre un fullstack au lieu d’un spécialiste.

Déjà, il faut intégrer que tout le monde n’a pas besoin d’expert. De nombreuses entreprises ont seulement besoin d’une présence numérique dite « modeste ». Quand je dis modeste, ça veut pas dire que c’est nul. T’énerve pas.



korben


Ça veut juste dire que plusieurs WordPress sur OVH et des sites vitrine suffisent largement à l’entreprise pour faire son business. Pour ce genre de besoin, tu vas engager plusieurs experts dans chaque domaine, ou un développeur fullstack ?

Ensuite, il y a le cas où le développeur fullstack a le rôle de facilitateur. Il va travailler avec d’autres développeurs, lesdits experts dans leur domaine, pour faire en sorte qu’une vision transverse soit présente à tous les niveaux.

Ici, le développeur fullstack répond à un besoin fondamental : il casse les silos entre les expertises. C’est central au rôle de fullstack ! Il permet plus de fluidité dans le développement du produit. Pouvant même aller jusqu’à intervenir dans le côté business des choses. C’est passe-partout qui coure partout dans ta boite.



fullstack


Je vois beaucoup de monde se foutre royalement de la gueule des développeurs fullstack. « Personne ne peut avoir autant de connaissances, imposteur ! ». Je ne suis pas un développeur fullstack, mais je trouve ça incroyablement agaçant.

Je répète, le développeur fullstack n’est pas censé être un expert dans tous les domaines. Donc il faut arrêter avec cette perception qui met à mal beaucoup d’entre eux.

Et tiens d’ailleurs, poussons l’analyse un peu plus loin, c’est vraiment impossible qu’un développeur fullstack soit expert un peu partout ?



Fullstack Javascript

Le rêve Javascript c’est de pouvoir utiliser le même langage à tous les niveaux. Et aujourd’hui plus que jamais, Javascript à des arguments.

Côté backend, de par son architecture, le runtime NodeJS permet de gérer énormément de trafic concurrent. Si tu sais le scaler proprement, et bien gérer les workers thread en cas de forte utilisation CPU, c’est impressionnant ce que tu peux faire. Beaucoup de monde sous-estime cette technologie.

Côté frontend, je vais pas te faire l’insulte de t’expliquer pourquoi Javascript est très bien adapté. De toute façon, malgré la monté de WebAssembly, t’as juste pas le choix dans un navigateur. Et ça, sans parler des React, VueJS et les 3000 autres frameworks format géant.

Côté mobile, ReactNative, Cordova et autre NativeScript sont présents et prennent de plus en plus de place. Et malgré des solutions comme Flutter et son Dart, Javascript reste présent dans de nombreuses grandes applications mobiles.

Côté applicatif, même là tu as une solution ! ElectronJS est utilisé dans des applications géantes comme Visual Studio Code, Slack, Discord ou Skype.

Et avec tout ça, on pourrait se dire que si t’es un expert Javascript alors t’es un dieu partout. Javascript permettrait vraiment de créer des fullstack experts ? L’eau, le feu, la terre, le vent et Javascript.



javascript


En effet, la variable Javascript permet au développeur fullstack Javascript d’être un cran au-dessus. C’est indéniable. Mais je pense que la réponse est quand même négative. Reboucher les bouteilles les copains, en vrai c’est pas aussi simple que ça. Y’a deux raisons principales à ça.

La première c’est que, malgré la variable Javascript, les spécialisations sont tellement fortes dans certains frameworks, et/ou domaines, qu’on ne peut pas faire intervenir n’importe qui n’importe où. 

La seconde, c’est que Javascript n’est pas forcément parfaitement adapté au besoin et donc pas forcément utilisé. J’aime beaucoup Javascript et NodeJS est l’un de mes outils de travail. Mais parfois le besoin n’est juste pas adapté. Dans ce cas, Javascript n’est pas utilisé et le rêve disparaît avec.

Et si on revient sur terre cinq minutes, on se rend compte qu’en fait les profils fullstack sont souvent experts. Mais pas expert partout.



La vérité sur les fullstack

Le cas de figure qu’on voit le plus souvent, c’est une expertise forte avec plein de connaissances satellites. Les développeurs sont nombreux à essayer de comprendre ce qu’il se passe dans les couches qui ne les concernent pas. Parfois, c’est pour comprendre le point de vue d’autres experts. Souvent, c’est par pure curiosité.

Les développeurs fullstack sont des développeurs qui ont assez élargi leur zone de confort pour pouvoir intervenir efficacement à plusieurs endroits. Ils gardent leurs expertises de cœur et ont les connaissances nécessaires pour faire fonctionner les couches autour.

Mais un développeur backend spécialisé fera un bien meilleur travail coté backend non ? Oui. Mais on s’en fout en fait. Ça dépend du besoin. Tu peux pas dissocier l’expertise et le besoin de l’entreprise. Prenons un exemple.

Si le besoin côté backend c’est un trafic de quelques milliers de personnes dans la journée : presque n’importe qui peut faire un backend qui tient la route. Objectivement, avec les solutions toutes faites qui existent, c’est « facile ».

Par contre, si le besoin c’est une grande API critique tapée 50 000 fois par secondes et qui doit répondre sous 150ms, c’est pas pareil. Là, si t’as pas un expert backend, accroche-toi bien parce que ça va te péter à la gueule.



fullstack


Les besoins et les connaissances pour répondre à ces deux cas de figure sont radicalement différents. Et c’est la même chose côté frontend, devops, software et toutes les spécialisations autour des devs. Et c’est là que le choix entre expert et fullstack doit être fait. Au besoin !



Épilogue

Le développeur fullstack est donc tout sauf un mythe. C’est juste que tout le monde à sa définition. La pire étant qu’il devrait être un expert en tout, ce qui est totalement faux. Un développeur fullstack prend son sens dans un scope bien particulier, et ce scope est défini par chaque organisation.

clearfix