Collaboration

Métiers du digital

Développeur full-stack : mythe ou réalité ?

Le développeur full-stack est-il le monsieur à tout faire des startup désargentées ou le monsieur je-sais-tout qui pallie seul les carences d’équipes entières de développeurs ? Le point sur ce profil qui évolue, explosion technologique faisant, de la programmation vers l’intégration.

Développeurs full-stack : le pari payant

Longtemps, les développeurs full-stack ont bénéficié d’une contre culture appréciable : ils étaient minoritaires dans les bataillons d’étudiants persuadés que la spécialisation menait à l’expertise, et donc à de meilleures rémunérations. Et puis ils avaient la cote : le terme était devenu célèbre après avoir été utilisé en 2008 dans un post des ingénieurs de Facebook. Une entreprise réputée pour recruter uniquement des « full-stack ».

De fait, ce profil était et reste très demandé. Mais tout le monde n’a pas la chance de travailler pour Mark Zuckerberg. Les startups par exemple en sont friandes pour un simple motif économique : elles ne peuvent pas toutes se permettre d’embaucher plusieurs développeurs spécialisés. Back office, front end, architecture, interface utilisateur, intégration HTML ; le développeur full-stack se doit de connaître l’ensemble de la ‘pile’ des outils de développement pour parer souvent au plus pressé, et maintenir une solution quotidiennement sous pression.

La polyvalence comme expertise

Même au delà des startups, le pari des développeurs full-stack peut payer. Pourquoi viser l’expertise sur un ou deux langages pointus quand une bonne maîtrise d’un environnement global de développement permet de faire son nid dans une SSII, chez un éditeur, voire chez un client ?

Reste que cette polyvalence ne peut se construire sur des connaissances acquises de-ci delà des différentes briques qui composent le stack. Un diplôme de second cycle en informatique est vivement recommandé. Il assure que vous avez potassé l’ensemble des grands principes et des outils de développement actuellement sur le marché. Mais la formation initiale ou continue ne sont que des étapes : pour atteindre un niveau d’expertise sur chaque brique, et surtout la compréhension de leur intrication globale, des années d’expérience seules permettent d’atteindre le Graal.

Au final, en plus des outils de développement à proprement parler, 7 autres domaines doivent être maîtrisés pour prétendre à une expertise full-stack :

  1. Les serveurs, réseaux et environnement de stockage
  2. Les bases de données relationnelles et non relationnelles
  3. Les API et leur fonctionnement
  4. Les interfaces utilisateur et l’expérience utilisateur
  5. L’assurance qualité
  6. La sécurité logicielle des programmes informatiques
  7. La compréhension des besoins clients et métiers

Au-delà des compétences, des savoir-être sont nécessaires : il faut avoir le profil pour passer d’une micro tâche à l’autre dans la même journée, et ce sur des technologies et des problématiques différentes.

A noter qu’une définition extensive du développeur full-stack voudrait qu’il soit en plus en mesure de piloter le marketing, de superviser la commercialisation ou encore de gérer l’après-vente.

Laissons aux doux rêveurs, ou aux rares génies, la paternité de cette affirmation. Car une maîtrise excellente des éléments évoqués ci-dessus associée à un peu de bagout suffit déjà à faire de vous un très bon Directeur Technique, si ce n’est un DSI. Dès lors, pourquoi se contenter d’une rémunération de développeur ?

Full-Stack : un concept décrié, et peut-être déjà daté

Pour re-descendre un peu sur terre, il faut évoquer ici les multiples critiques qui parsèment le Web à propos de la pertinence même du concept de développeur full-stack. « L’accroissement des responsabilités du développeur a donné lieu à un futur métier chimérique : le développeur « full-stack », un tel développeur est en mesure d’être le développeur, le chargé d’assurance qualité, l’analyste des opérations, l’administrateur système/BDD » ironise le développeur Jeff Knupp sur son blog, qui pointe que « quand le développeur est affecté à d’autres rôles, il n’y a plus personne pour assurer le développement ! » et surtout, « aucun des autres rôles, même lorsqu’ils sont combinés ne sont en mesure d’assurer le rôle de développeur« .

« Quand je vois les annonces d’emploi j’ai l’impression que l’on demande de plus en plus un mouton à 18 pattes » relève de son côté Zefling (un pseudonyme) en commentaire d’article dédié au full-stack. « Je vois pas comment on peut réussir à tout faire correctement ».

Un constat qui reflète de la complexification toujours plus grande des outils et technologies informatiques. La logique full-stack a fonctionné à plein à l’époque du Web 2.0. Croiser alors un développeur qui codait au quotidien avec l’ensemble des briques du stack LAMP (Linux, Apache, MySQL, PHP/Python/Perl) n’était pas incongru. Surtout que les nouveaux langages et framework tels que Django et Ruby on Rails avaient automatisé la connexion entre l’applicatif et les bases de données. Et les framework comme jQuery applanissaient les écueils d’un développement en front-end pour différents navigateurs. Les services “cloud”, enfin, comme Amazon Web Services, simplifiaient le déploiement.

Mais les nouveaux outils, comme l’analytique ou la mobilité exigent encore plus d’expertise qu’auparavant. Cette inflation des technologies n’est en rien compatible avec une logique full-stack telle que nous avons pu la connaître. Qui peut se targuer aujourd’hui de développer avec le même talent pour iOS et Android tout en démêlant les écheveaux des bases de données du Big Data, type NoSQL ? Dans ce nouveau monde, avoir au moins une personne responsable du développement et de la maintenance de chaque brique devient de plus en plus important.

Cela ne veut peut être pas dire que le développeur full-stack est mort. Il a peut être muté, tout simplement. Il est capable de connecter les différents services qui composent la solution, et de faire fonctionner l’ensemble de manière cohérente. Peut être qu’au lieu de parler de développeur full-stack, on devrait parler d’intégrateur full-stack, comme le mentionne Peter Yared sur TechCrunch.

Pour aller plus loin

  • No Related Posts Yet!