IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Ingénieur Full Stack : mythe ou réalité aujourd'hui ?
Peut-on vraiment avoir un haut niveau d'expertise du back-end au front-end ?

Le , par Michael Guilloux

379PARTAGES

15  0 
Qu'est-ce qu'un développeur Full Stack ?

Un développeur Full Stack est un informaticien capable de réaliser des tâches à n'importe quel niveau technique de la pile des différentes couches d'une application. Rigoureusement, dans le monde technologique d'aujourd'hui, il devrait donc être capable :
  • configurer l'infrastructure matérielle et le système d'exploitation ainsi que les dépendances entre les différents composants logiciels à utiliser ;
  • concevoir, manipuler et interroger des bases de données ;
  • concevoir le code de back-end et les API d'accès à ces données sous forme de webservices, en utilisant des langages dit back-end comme Java, Python, Ruby ou PHP ;
  • concevoir le code front-end qui est exécuté sur la plateforme de l'utilisateur, le plus souvent un smartphone ou un navigateur Web, dans des langages tels que JavaScript et ses bibliothèques, HTML ou CSS ;
  • être capable de gérer et planifier un projet avec des méthodes de développement agiles telles que Scrum ou Kanban, pouvoir interagir avec le client et ses besoins, et documenter l'ensemble des parties du projet.

Pourquoi est-il important ?

De la définition adoptée précédemment, pour le moins qu'on puisse dire, un développeur Full Stack est quelqu'un de familier avec chacune des couches d'une application informatique, même s'il a souvent une affinité ou des compétences plus étendues dans l'une d'elles.

Cette connaissance large devrait donc lui permettre de travailler sur un projet de A à Z sans avoir à recourir à d'autres développeurs - du moins, pour les petits projets. C'est donc ce genre de profils dont rêvent les RH. Après tout, il s'agit d'avoir un seul gars capable de faire le travail de deux ou trois personnes, ce qui est intéressant en termes d'économies. Ce n'est donc pas une surprise de voir de nombreuses offres d'emploi pour ce genre de profil. Il suffit de faire une petite recherche sur le Portail Emploi de Developpez.com. Le fait qu'il soit polyvalent permet en outre de faciliter les remplacements ponctuels ou durables au sein d'une équipe.

Pour un gros projet, le développeur Full Stack est également important. Un lead developer Full Stack par exemple pourrait rendre la vie plus facile aux autres développeurs sur le projet, puisqu'il sait comment les différentes couches communiquent et s'articulent.

Mais qu'en est-il dans la réalité ?

Dans la réalité, il faut reconnaitre qu'il est aujourd'hui difficile, voire impossible, de trouver des profils tels que décrits ici. Pour espérer trouver des développeurs Full Stack, avec l'allure à laquelle les technologies innovantes aujourd'hui deviennent obsolètes demain, il faut commencer par restreindre la définition de Full Stack à : back-end + front-end. Là encore, ça ne nous permettrait pas systématiquement de trouver des développeurs Full Stack à tous les coins de rue. Parce que ce qu'on voit le plus, ce sont des développeurs qui penchent le plus vers l'un ou l'autre, surtout que pour chaque couche, la pile de technologies explose constamment.


De ce fait, existe-t-il des développeurs ou ingénieurs Full Stack aujourd'hui ? Non d'après Robin Rendle, un web designer vivant à San Francisco. « Je ne crois pas à l'ingénierie Full Stack », dit-il dans un billet de blog. « De tous les ingénieurs que j'ai rencontrés au cours des années, un seul s'est approché de ce que ce titre, ingénieur Full Stack, implique : la possibilité de naviguer facilement dans le back-end et le front-end avec un haut niveau d'expertise. Pour le reste d'entre nous, il n'est tout simplement pas possible de faire les deux », a-t-il ajouté.

Partant de cette position, Robin Rendle estime que c'est à tort que les entreprises poursuivent les profils Full Stack, puisqu'il n’en existe pas. Et en le faisant, elles incitent les autres ingénieurs à négliger le développement front-end dans la quête de compétences pour pouvoir se vendre comme des développeurs Full Stack. En résumé, le point central de son billet est que les entreprises sacrifient le développement front-end pour recruter des développeurs se disant Full Stack, mais qui manqueraient en réalité d'expertise dans ce domaine.

Pour lui, le développement front-end, c'est d'abord un balisage sémantique accessible : « Écrire dans une mer de spans et de divs devrait rendre inconfortables », dit-il. Mais c'est aussi : une expérience dans l'écriture de Sass / CSS clair et concis ; et se soucier profondément, même de façon obsessionnelle, de la performance web (ce qui signifie de la connaissance à propos du chargement des polices, des images, des SVG, des animations, de l'audit des scripts de tiers, etc.). Et en fonction de la taille de l'organisation ou du projet, une connaissance approfondie des frameworks comme React ou Angular, entre autres, est nécessaire pour faire des composants abstraits qui peuvent être réutilisés en permanence par différentes équipes.


Robin Rendle

Si l'apprentissage de ces compétences est possible lorsque vous êtes ingénieur, les faire bien ou même à un niveau acceptable exige avant tout du dévouement et de la concentration, estime Robin. « Mais je vois un mauvais design partout sur le web et je pense que c'est dû au manque de ces compétences », dit-il. « C'est parce qu'il y a un ensemble de compétences en développement Web qui sont laissées complètement à l'écart et mises de côté par les gens qui prennent des décisions d'embauche dans les organisations. »

Il estime que le développement front-end est une activité à part entière qui nécessite des efforts à plein temps. Mais ce qu'il voit, c'est que beaucoup d'entreprises embauchent des ingénieurs Full Stack et des designers sans expérience de codage et qui ne comprennent pas la structure HTML de base. « Je vois constamment des interfaces extrêmement inaccessibles », par exemple avec « des formulaires qui ne vous permettent pas de naviguer efficacement avec un clavier », a-t-il ajouté. « Je vois des interfaces mobiles inutilisables et des applications web géantes qui sont lentes et mal fichues parce que personne n'a vraiment pris en compte le fonctionnement des navigateurs au niveau le plus élémentaire. » Non seulement cela, « mais je vois beaucoup d'outils et de processus qui tentent de remplacer le développement front-end et parfois ce remplacement se présente sous la forme d'outils de conception ou de prototypage », dit-il encore.

Pour Robin Rendle, le développement front-end est important aujourd'hui et il sera important dans vingt ans, il ne disparaitrait donc pas de sitôt. « Il sera toujours aussi cool et ennuyeux qu'aujourd'hui, donc tout mettre en JavaScript et changer votre description d'emploi ne changera pas cela. Cela ne fera qu'amener encore plus de confusion sur ce qu'est le développement front-end. » Il pense que les entreprises qui ignorent le développement front-end pour embaucher les développeurs Full Stack le font à leurs risques et périls. « Elles perdront des millions de dollars chaque année parce que leurs sites Web sont lents, elles seront poursuivies en justice pour avoir enfreint les lois sur l'accessibilité, et elles ne seront pas en mesure de livrer de belles interfaces de haute qualité et bien organisées parce que personne ne sera là pour les construire. »

Si une entreprise n'embauche que des ingénieurs Full Stack, elle devrait alors, selon lui, réfléchir sérieusement à la raison pour laquelle c'est le cas et devrait avoir une idée de ce qu'elle sacrifie « pour ce manque d'expertise dans ce domaine », dit-il en faisant allusion à l'ingénierie Full Stack. Pour sa part, il est convaincu que de même que la licorne est une créature légendaire, il n'existe pas d'ingénieur ou développeur Full Stack.

Source : Billet de Robin Rendle

Que pensez-vous du point de vue de Robin Rendle ?
En France, les entreprises sont-elles en train de recruter des développeurs Full Stack au détriment des développeurs front-end ?
L’avenir du développement front-end pur est-il menacé ? Pourquoi ?
Pour vous, c'est quoi un développeur Full Stack ? Une question de développeur expérimenté ? Ou le nombre d'années ne suffit-il pas pour devenir Full Stack ?

Voir aussi :

Existe-t-il encore des développeurs « Full Stack » ? Pour un senior, la pile de technologies utilisées dans des projets est devenue importante
Le développeur full stack est une chimère, selon un senior, car un projet réussi implique absolument une équipe d'experts, qu'en pensez-vous ?
A-t-on besoin d'apprendre la programmation pendant 10 ans avant d'être un développeur accompli ? Partagez votre expérience
Comment devenir un meilleur développeur ? La formation et l'expérience sont-elles suffisantes ? Vous êtes invités à partager votre avis
Y a-t-il une corrélation entre diplôme et succès en tant que développeur de logiciels ? Un acteur de la sphère donne son avis

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Neckara
Inactif https://www.developpez.com
Le 03/07/2018 à 9:20
En gros une personne qui ne fait que A, sera toujours meilleure pour faire A qu'une personne qui fait A, B, C, et D.

Donc demander à ce qu'un "ingénieur full stack" soit aussi performant qu'un ingénieur A pour A, aussi performant qu'un ingénieur B pour B, etc., c'est juste débile. C'est comme demander un ingénieur de 25 ans avec 30 ans d'expérience en JavaScript.

Après, faut-il vraiment être aussi performant en tout, pour se prétendre "full stack" ? Être capable de maîtriser toute la chaîne peut être un plus, si, sur des projets donnés, on n'a pas suffisamment de ressources pour y mettre plusieurs personnes. Personnellement, je suis seul sur un développement, je suis bien obligé d'être "full stack", et pire que cela, je ne peux même pas me consacrer au développement à plein temps.

Après, faut-il vraiment maîtriser le dernier framework à la mode, en changeant de framework chaque semaine ? Bonjour la maintenance derrière .
Si derrière HTML5/CSS3/JS/JQuery/Node/Webpack/NPM/PHP7/PDO/SQL suffisent, pourquoi s'enquiquiner ? N'est-ce pas suffisant pour se prétendre "full stack" ?
10  0 
Avatar de GLDavid
Expert confirmé https://www.developpez.com
Le 03/07/2018 à 9:30
Bonjour

Les développeurs 'full stack' existent: ce sont ceux qui se retrouvent dans des 'embryons' d'équipe, bien souvent pour initier un projet ou mieux une entreprise. Comme dirait Richard Dreyfus dans Jaws: "Je suis mousse, matelot, lieutenant et capitaine sur mon bateau". Bien sûr, nul n'est parfait dans les divers domains et c'est là que nlous rentrons dans l'élaboration d'une équipe.
Après, des entreprises demandent des développeurs full-stack pour rejoindre des equips existantes: c'est là que ça blesse ! Imagines une équipe de football (coupe du monde oblige) où tu n'as que des attaquants, c'est le meilleur moyen pour que tout le monde se marche sur les pieds ! Tout le monde voudra tout faire et trouvera que ce que fait le collègue est hérétique à ses yeux ! Croyez moi, j'en sors d'une telle équipe.
Si je suis chef d'équipe, je recherché un profil et une ou des competences qui me manqué. Demander que l'on soit parfait partout est 1) utopique; 2) idiot comme chercher un mouton à 5 pattes.
Je me dis que les entreprises qui ne demandent que de tels profils ne cherche qu'à syphonner ou à alimenter ce genre de buzz-word et/ou recrutent de parfaits usurpateurs.

@++
8  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 03/07/2018 à 14:11
Citation Envoyé par Bousk Voir le message
Avec l'expérience, en pratiquant un peu de tout, tu finis forcément par avoir des compétences partout, voire une maîtrise correcte et suffisante de l'ensemble des éléments impliqués (langages, OS, ..).
Tu as une bonne connaissance des technos , mais si tu ne pratique pas à temps complet tu ne peux pas avoir une expertise forte dans le domaine.
Et aujourd'hui c'est ce qui est attendu de l'ingénieur fullstack : mec mec expert en tout.

Citation Envoyé par Gulien Voir le message
Il ne faut quand même pas exagérer la difficulté à apprendre un framework (front ou back) ...
A ce moment là qu'est ce qu'on peut dire d'un mec qui sait à la fois programmer en assembleur, et connaît SQL...
(Compétences prises au hasard, vous pouvez créer un couple de votre choix) ...

Surtout si on se focalise sur 1 Framework & langage en particulier pour chaque type, il n'y a là rien d'impossible.
Entre apprendre un framework et maitriser la techno y'a une marche importante.

J'ai personnellement vécu la dérive vers du fullstack. J'ai été embauché en tant que dév php. J'avais une expertise forte en php au moment ou je pratiquais beaucoup. J'avais comme tous dév PHP de bonne connaissance en SQL et HTML/CSS.
Sauf que mon rôle à commencer à dériver. J'ai commencer à faire de l'admin de serveur et de la gestion BDD. Puis j'ai basculer pendant un temps sur de l'android. Aujourd’hui ca fait un peu plus d'un an que je fait beacuoup de front avec angular.
Bilan des courses :
- J'ai perdu en expertise PHP
- J'ai gagné en expertise Android
- Je suis toujours nul en dba et serveur
- J'aime toujours pas le JS
- Je gagne pas forcément plus malgré l'ajout de nombreuses compétences

Mais le fait est que si tu ne pratique pas régulièrement et intensivement une techno tu perd en niveau.

Pour moi le fullstack est un très bon profil de chef de projet , voir éventuellement de lead dev car il à une très bonne vision globale , mais devra certainement délégué l'expertise à ses dév plus pointus.
7  0 
Avatar de sirthie
Membre éprouvé https://www.developpez.com
Le 05/07/2018 à 13:33
Heuuu... c'était quoi déjà le sujet du débat ?
7  0 
Avatar de jpouly
Membre confirmé https://www.developpez.com
Le 04/07/2018 à 18:12
Citation Envoyé par Michael Guilloux Voir le message

Qu'est-ce qu'un développeur Full Stack ?

Un développeur Full Stack est un informaticien capable de réaliser des tâches à n'importe quel niveau technique de la pile des différentes couches d'une application. Rigoureusement, dans le monde technologique d'aujourd'hui, il devrait donc être capable :
  • configurer l'infrastructure matérielle et le système d'exploitation ainsi que les dépendances entre les différents composants logiciels à utiliser ;
  • concevoir, manipuler et interroger des bases de données ;
  • concevoir le code de back-end et les API d'accès à ces données sous forme de webservices, en utilisant des langages dit back-end comme Java, Python, Ruby ou PHP ;
  • concevoir le code front-end qui est exécuté sur la plateforme de l'utilisateur, le plus souvent un smartphone ou un navigateur Web, dans des langages tels que JavaScript et ses bibliothèques, HTML ou CSS ;
  • être capable de gérer et planifier un projet avec des méthodes de développement agiles telles que Scrum ou Kanban, pouvoir interagir avec le client et ses besoins, et documenter l'ensemble des parties du projet.
A une époque lointaine, on appelait ça un analyste-programmeur . Comme quoi, l'informatique c'est écologique, parce qu'on recycle tout le temps .
4  0 
Avatar de Neckara
Inactif https://www.developpez.com
Le 05/07/2018 à 10:31
Citation Envoyé par el_slapper Voir le message
Par contre, votre deuxième phrase ici me fait peur : le sexisme et le racisme sont partout. J'en suis le direct bénéficiaire, la plupart du temps. Il m'a fallu 30 ans pour m'en rendre compte, et 10 de plus pour l'accepter. Je suis un connard de privilégié, en tant qu'homme blanc. Ce sont des phénomènes tellement étendus qu'on ne s'en rend même pas compte, la plupart du temps. Quand c'est partout, on a l'impression que c'est nulle part. Pourtant, pour obtenir des avantages à la banque, trouver un logement, trouver un travail, ne pas être emmerdé dans la rue(par les flics si j'étais noir, par les mecs si j'étais une femme). Et quand c'est partout, on ne voit même pas qu'on en est porteur. Je suis sexiste et raciste. Vous êtes sexiste et raciste. La seule différence, c'est que j'en ai conscience.
Tu es effectivement sexiste et raciste, mais pas pour les raisons que tu penses...
Et si tu pouvais nous épargner ce discours du "woke", et de tous nous mettre dans le même panier...

Tu t'es juste fait embobiné par des féministes de la 3ème vagues, qui font à outrance du cherry picking, de l'interprétation orientée, et du biais de confirmation. Mais bon, faut croire que certains aiment à ce complaire dans l’autoflagellation.
6  2 
Avatar de CaptainDangeax
Membre expérimenté https://www.developpez.com
Le 03/07/2018 à 10:52
On se demande ce qui est enseigné dans les cursus DRH. C'est marrant, on ne demande jamais à un DRH d'être en même temps avocat et comptable. Et lui, quand il recrute, il veut la personne unique qui va tout faire, et bien...
J'ai connu dans une entreprise où j'ai travaillé, le nouveau DG a cherché à passer de 2 postes à 1 seul avec ma collègue de bureau. Elle s'occupait de la facturation et du bon fonctionnement du logiciel ERP sur l'AS400. Je m'occupais du réseau, du parc informatique, des interconnexions entre sites... quand j'ai été embauché, il n'y avait même pas de réseau local, preuve que la micro-informatique ce n'était pas du ressort de ma collègue. Et j'aurais été bien incapable de m'occuper de la facturation sur l'AS400, avec toutes les conséquences fâcheuses en terme de chiffre d'affaire. Mais pour le DG, nous étions tous les 2 informaticiens, donc interchangeables... Il lui a fallu du temps pour l'admettre. J'ai fini par partir, la gestion de la micro a été externalisée, et ça a été beaucoup plus coûteux pour eux à terme, quand plus personne ne s'occupe de configurer les boîtes email, quand plus personne de fait les sauvegardes du serveur de fichiers, quand plus personne ne s'occupe de mettre à jour les catalogues Bosch, Valeo, Bendix, Lucas, Hella, rust'Oleum sur les postes des commerciaux, quand les nouveaux ordinateurs sont des fujitsu P4 à chipset Sis qui crament au bout de 3 ans... Ces coûts sont en temps perdu ou en affaires perdues, c'est saupoudré, masqué, contrairement au salaire d'un admin système-réseau. Tant pis pour eux.
3  0 
Avatar de Gulien
Membre habitué https://www.developpez.com
Le 03/07/2018 à 11:20
Il ne faut quand même pas exagérer la difficulté à apprendre un framework (front ou back) ...
A ce moment là qu'est ce qu'on peut dire d'un mec qui sait à la fois programmer en assembleur, et connaît SQL...
(Compétences prises au hasard, vous pouvez créer un couple de votre choix) ...

Surtout si on se focalise sur 1 Framework & langage en particulier pour chaque type, il n'y a là rien d'impossible.
3  0 
Avatar de Lcf.vs
Membre éclairé https://www.developpez.com
Le 03/07/2018 à 19:04
Perso, suis assez mitigé, face à cet article.

Autant je suis d'accord concernant le fait que les décideurs cherchent, à tort, des personnes pouvant tout faire, c'est plus facile, lors du recrutement...

... autant je ne suis pas d'accord concernant le fait que le full stack est un mythe.

Selon moi, un full stack, c'est quelqu'un capable de gérer un projet dans sa globalité, cela ne nécessite pas une expertise dans chacun des aspects mais bien d'en comprendre les différentes mécaniques et contraintes, notamment, en termes de sécurité.

Après, oui, on peut pousser jusqu'à l'expertise, mais ce n'est qu'un bonus, pouvant différencier un dev d'un autre.
3  0 
Avatar de 23JFK
Membre expert https://www.developpez.com
Le 04/07/2018 à 12:13
Citation Envoyé par el_slapper Voir le message
...

C'est une sorte de boutade pouvant signifier qu'à un moment donné, il n'y a plus assez d'heures dans une journée pour pouvoir et se former et mettre en pratique ses connaissances et faire les autres trucs de la vie.

J'espère que vous n'essayez pas de feindre une incompréhension pour promouvoir cette saloperie de bien-pensance qui voit racisme, sexisme et autres ismes à peu près partout où il n'y a rien.
3  0