Publié par
Il y a 5 années · 7 minutes · Divers, Events

Pénurie de seniors dans les équipes de développement

Maître Yoda dans ton équipe, plus forte elle sera

Après plusieurs années passées à développer, concevoir et architecturer des applications, les développeurs les plus expérimentés, dits seniors, sont souvent propulsés à des postes décisionnels et/ou organisationnels.
En France, ce phénomène est tel que l’écosystème des développeurs informatique manque cruellement de ces profils. Bien que les mentalités commencent à évoluer, la réalité sur les projets est toute autre. Les applications sont mises entre les mains de profils juniors ou confirmés possédant moins d’expérience que leurs aînés, notamment dans la gestion de la dette technique. Dans ce domaine, les seniors possèdent plus de recul, de savoir faire et il est nécessaire que ces derniers continuent d’accompagner les équipes de développement.

Nous vous proposons d’analyser ce phénomène.

Juniors, Confirmés, Seniors, …

On qualifie de « Junior » les jeunes sortant de l’école. Tous les développeurs peuvent en témoigner : la majorité des cursus informatiques orientés développement sont mal adaptés au monde de l’entreprise. Les formations scolaires fournissent les théories de bases et les complètent avec des travaux pratiques ou des projets, mais cela reste insuffisant. Rares sont les écoles proposant des cours de tests unitaires, d’intégration continue ou de qualité de code.
Lorsque les jeunes diplômés arrivent sur les projets informatiques en entreprise, les développements professionnels sont d’un tout autre niveau : ils ont tout à apprendre.

Les développeurs dis « Confirmés » ont entre 2 et 5 ans d’expérience. Bien entendu, selon les expériences de chacun les niveaux diffèrent. Nous allons raisonner en terme de ce que nous pouvons attendre de ce type de profil.
Avec leur expérience, la culture informatique s’étoffe et les pratiques et outils commencent à être maîtrisés. La plupart d’entre eux sont capables de concevoir des architectures. Leur niveau leur permet de commencer à arbitrer des choix technologiques en fonction des besoins.
Néanmoins, certains de ces profils ne prennent peut-être pas encore assez de recul sur les projets, en particulier en ce qui concerne la qualité logicielle, et effectuent des compromis en défaveur de cette dernière.

Au delà de 5 ans d’expérience, les développeurs sont considérés comme « seniors ».
A l’instar des pilotes de rallyes, cette catégorie caractérise des développeurs affichant beaucoup de kilomètres au compteur “code”. Ils possèdent de solides compétences sur une multitude de domaines et font preuve de pragmatisme sur les choix de conception et technologiques. Cela leur permet de gérer efficacement des problématiques pointues telles que la mise en place d’architectures complexes ou bien des refactorings importants.
De par leur expérience, les seniors sont alors tout désignés pour guider les profils juniors et confirmés.

Les coûts de réalisation

Les développeurs juniors et confirmés possèdent les connaissances théoriques et pratiques qui leur permettent de mettre en place des applications fonctionnelles. D’autre part, plus un développeur est expérimenté plus il coûte cher.
Un raisonnement basique peut nous amener à penser qu’une application développée entièrement par des profils juniors et confirmés, a un coût de revient moindre comparé aux mêmes développements effectués par des profils très expérimentés.
On pourrait arguer que les développeurs seniors font preuves d’une productivité accrue. Une équipe plus senior implémenterait une application plus rapidement, rapprochant le coût de revient de celui d’une équipe constituée de juniors et confirmés.
Cependant la réalité sur le terrain nous démontre que peu importe l’expérience des profils, les temps de développement sont pratiquement similaires. C’est pourquoi les développeurs juniors et confirmés sont particulièrement prisés, notamment par les garants des budgets.

Pourquoi intégrer des seniors ?

Nous avons déjà tous goûté les délicieuses tartes de nos grands-mères. Cependant malgré l’utilisation des mêmes ingrédients, lorsque nous voulons reproduire la recette, le goût n’est pas le même. Une multitude de paramètres entre en compte dans la réussite d’une tarte (qualité des ingrédients, temps de cuisson, etc.). Nos grands-mères possèdent un savoir faire que nous n’avons pas et que nous ne pourrons acquérir qu’avec de la pratique et leur patronage.
Lorsqu’un profil expérimenté intervient sur un projet, ce ne sont pas seulement ses compétences techniques dont l’équipe profite. Ce sont aussi ses savoir faire acquis au fil du temps parmi lesquels :

  • Plus de prise de recul
    Les seniors sont capables d’analyser les problèmes dans leur ensemble. Ils ne s’intéressent pas seulement au développement du code. Ils sont sensibles aux problématiques périphériques telles que la maintenabilité, l’évolutivité et la fiabilité des applications.
  • Une meilleure intuition
    Au travers des diverses problématiques que les séniors ont traitées au cours de leur carrière, ils sont à même d’entrevoir plus rapidement des solutions efficientes.
  • Des modélisations mieux adaptées
    La conception d’applications nécessite des connaissances aussi bien techniques que fonctionnelles. Des domaines comme la finance en requièrent d’ailleurs un grand nombre. Une des difficultés de notre métier d’ingénieur est de pouvoir modéliser les besoins fonctionnels. Les séniors possèdent l’expérience nécessaire pour adapter les modélisations au plus près des besoins tout en les laissant simples, lisibles et maintenables.
  • La résolution de problématiques pointues
    De par leur expérience, ces profils sont capables de répondre de manière efficiente à des challenges complexes et de gérer des problématiques de performances délicates. De plus, ils n’ont pas peur d’intervenir sur du vieux code et de se lancer dans des refactorings importants.

Toutes ces compétences permettent aux profils expérimentés de fournir des applications de qualité en maîtrisant au mieux la dette technique. Ils ont en effet plus conscience des surcoûts engendrés par la non gestion de cette dernière.
Tout ces savoir faire représentent également une mine de connaissances à partager avec les profils plus juniors.

Conclusion

Les profils expérimentés représentent des atouts indéniables pour les projets :

  • Une expérience riche
    Comme tous, ces profils ont commis des erreurs classiques mais leur expérience leur permet de ne plus les commettre. Les nombreux développements effectués leur ont permis de se construire tout un arsenal technologique et méthodologique.
  • Une meilleure appréhension des problèmes
    La diversité des problématiques rencontrées sur les projets leur permet d’envisager plusieurs solutions à un problème donné et de choisir la plus efficace dans un contexte donné.
  • Une meilleure maîtrise de la dette technique
    Les principaux problèmes rencontrés sur les applications sont la maintenabilité, l’évolutivité et la fiabilité. Du fait de leur expérience riche et de leur meilleure appréhension des problèmes, les profils expérimentés vont mécaniquement gérer plus efficacement la dette technique.

Ajoutons à cela qu’ils font profiter leurs coéquipiers plus juniors de ces expériences au travers du partage au fil des réalisations, accélérant ainsi la montée en séniorité de l’équipe.

Cependant il est dommage de constater que le nombre de seniors présents dans le développement reste encore marginal.
Une première explication est, qu’en France, être développeur après 10 ou 15 ans d’expérience reste encore mal perçu et est parfois considéré comme un échec dans l’évolution professionnelle. La logique voudrait que le développeur devienne chef de projet, directeur de projet et manager, s’éloignant un peu plus à chaque étape de la technique.
Même si ce modèle convient à certains, il n’est pas universel et bon nombre de développeurs souhaitent le rester. Mais dans beaucoup de structures ils n’y sont pas encouragés. Les grilles salariales ne prennent pas en compte ces profils et la rémunération d’un développeur n’évolue pas ou très peu au delà de 10 ans d’expérience. Des efforts sont nécessaires notamment auprès des services des ressources humaines.
Malgré tout, les mentalités évoluent. Des postes d’experts se créent et les profils expérimentés sont de plus en plus nombreux et mieux reconnus.

Nicolas Jozwiak
Nicolas est un ingénieur d'études confirmé disposant de 10 ans d'expérience de conception et développement sur technologies Java/JEE. Son parcours chez un éditeur avant son entrée chez Xebia lui a notamment permis de développer de solides compétences dans le domaine de la qualité et de l’industrialisation (tests, intégration continue, gestion de configuration, contrôle qualité). Nicolas est Directeur de projet chez Xebia Studio et bénéficie d’une expérience très solide de mise en place des méthodes agiles et d’accompagnement d’équipe sur le terrain. Il est reconnu pour son approche pragmatique, proactive et pédagogique.

21 réflexions au sujet de « Pénurie de seniors dans les équipes de développement »

  1. Publié par Mathieu Lorber, Il y a 5 années

    Merci ! Je deviens de plus en plus persuadé qu’un développeur expérimenté est vital dans une équipe de dev pour que le logiciel /marche/. Logging, gestion des exceptions, « exploitabilité » (liée au 2 précédents), sécurité, ça fait un ou deux détails que finalement peu de développeurs savent gérer correctement. Par rapport à la maintenabilité, elle est plus importante que la productivité passés les 3 premiers mois…
    Difficilement applicable dans tous les contextes, mais les nouveaux géants du logiciel actuels réunissent avant tout des équipes de brutes…

  2. Publié par Brice, Il y a 5 années

    Moi j’irai plus loin, je pense qu’il faut au moins 2 personnes expérimentées (pas en nombre d’année) dans une équipe.

    Quand on est seul, dans une équipe il y a souvent trop à gérer, entre le code, ses équipiers, et son/ses supérieurs, qui eux ne comprennent pas non plus. Sur le temps avoir un support dans l’équipe est un vrai plus.

    En plus de ça, comme certain font du pair-programming, on peut faire du pair-architecturing ;) Dans les faits, c’est bien d’avoir quelqu’un qui peut vous contredire intelligemment.

    Enfin dans la même lignée si on a des seniors, il ne faut pas systématiquement les brider sinon on perds littéralement l’intérêts que ses profils ont. (Du coup ils partent, ou ils deviennent CP).
    Ca me rappelle un article sur InfoQ sur les best-practice dans une entreprise: http://www.infoq.com/articles/better-best-practices

  3. Publié par Eric, Il y a 5 années

    Plusieurs remarques:

    * « Dans ce domaine [de la dette technique], les seniors possèdent plus de recul, de savoir faire » Affirmation plutôt arbitraire… même s’il existe des informations empiriques (cf. http://coding-and-more.blogspot.fr/2011/06/its-official-developers-get-better-with.html), je ne pense pas que l’on puisse généraliser.
    * « Nos grands-mères possèdent un savoir faire que nous n’avons pas » L’article suppose que les plus seniors sont généralement plus compétents, et donc que l’on devrait en avoir plus. Pas certain que cela marche en pratique. Et si, tout simplement, seuls les meilleurs continuaient à travailler dans la technique, les autres bifurcant vers d’autres domaines? Donc, on encourage l’emploi technique pour les seniors, leur qualité va baisser.
    * « il est dommage de constater que le nombre de seniors présents dans le développement reste encore marginal. » De façon anecdotique, il me semble qu’il y a nettement plus de développeurs seniors dans les sociétés à vocation technique (éditeurs, startups, etc.): 1 seul sur 10 à moins de 5-6 ans d’expérience chez mon employeur actuel. Le problème serait donc bien plus aïgu chez les entreprises où la technique n’a que peu d’impact sur le chiffre d’affaire. Du coup, est-ce réellement un problème ? Par exemple, on ne peut pas dire que les banques françaises soient particulièrement moins compétentes que leurs concurrentes étrangères.
    * si problème d’années d’expérience il y a, il est probablement empiré par la seule existence (importante) des SSII en France… qui existent justement parce que les entreprises utilisatrices préfèrent faire travailler des jeunes. C’est un cercle qui s’auto-alimente.

    Bref, article plaisant, mais qui nécessiterait des référence à des études objectives.

  4. Publié par Pierre Chapuis, Il y a 5 années

    @Eric:

    > « il me semble qu’il y a nettement plus de développeurs seniors dans les sociétés à vocation technique (éditeurs, startups, etc.) »

    Pas forcément dans les vraies startups, où les équipes sont souvent composées de gens compétents mais jeunes (qui tomberaient dans la catégorie « confirmés » de l’article parce qu’ils sont professionnels depuis moins de 5 ans même s’ils codent depuis un âge à un chiffreet ont 10 ans d’expérence dans l’Open Source…).

    Les startups aimeraient bien avoir de vrais profils senior, surtout des experts, mais pas forcément les moyens de leurs prétentions salariales (d’autant plus élevées qu’ils sont une denrée rare). En face, les profils séniors veulent souvent un minimum de sécurité de l’emploi.

    Par contre les éditeurs, clairement. Allez voir chez Dassault Systèmes par exemple. Le problème, c’est qu’en France, des éditeurs, on n’en a pas beaucoup. Pour beaucoup de gens, informatique veut dire SI… Du coup, pas d’éditeurs -> pas beaucoup de seniors. Les « confirmés » dans les startups émigrent souvent quelques années plus tard, on en retrouve pas mal à Londres ou aux États-Unis.

  5. Publié par Yannick Grenzinger, Il y a 5 années

    Intéressant article qui caresse le développeur passionné dans le sens du poil mais comment influencer les directions, les clients des SSII ?

    Comment leur expliquer le ROI de la technique, de la qualité et donc de profils seniors ? :)

  6. Publié par Alex, Il y a 5 années

    Je confirme les propos de P.Chapuis concernant Dassault Systemes, qui est une boite dont la majorité de l’effectif est R&D. Il y a beaucoup de developpeurs seniors ici (voire très seniors). La majorité des managers / CP sont des developpeurs à la base et il arrive assez souvent que l’on passe d’un role à un autre. Des devs seniors peuvent manager des équipes, puis changent de service pour redevenir developpeur dans une autre équipe. A part pour le top management, et qq responsable de pôles, les managers d’en dessous restent des développeurs/architectes, car c’est le coeur de métier.

  7. Publié par Pierre Chapuis, Il y a 5 années

    Je reviens sur ce que je disais : on a des éditeurs dans le secteur du jeu vidéo. On a tendance à les oublier mais une boite comme Ubi Soft doit avoir des seniors aussi.

  8. Publié par Eric, Il y a 5 années

    @Pierre & @Alex: bref, il faudrait des études plus systématiques pour conclure… il est difficile d’éviter les biais cognitiques quand on a vraiment envie que quelque chose soit vrai.
    Ces études doivent bien exister quelque part.

  9. Publié par Brice, Il y a 5 années

    Aux US?! Ils ont toujours été friand de ce genre d’étude.
    Cela dit je suis d’accord avec Eric, il faut faire attention aux biais cognitifs.

  10. Publié par Benoît Dissert, Il y a 5 années

    Merci pour ce billet.

    Je ne voudrais pas avoir l’air de prêcher pour ma paroisse, mais dans un des tout premiers castcodeur, Antonion Goncalvez disait justement que devenir indépendant était une possibilité pour rester technique au delà des fatidiques 10 ans. Et justement, dans ce cas, étrangement, la séniorité avancée (ie : vétéran) est reconnue.

    Benoît

  11. Publié par Thibaud, Il y a 5 années

    Je suis d’accord avec ce qui est dit: il serait bien d’avoir quelques études/enquêtes pour objectiver avant de parler du phénomène, sinon ça reste un peu flou.

    Alors, oui c’est long et compliqué de dénicher/analyser/synthétiser ce genre d’études et c’est pas forcément le but du blog… Maintenant je mets les pieds dans le plat: Pourquoi ne pas donner des infos sur Xebia? Cela aurait été intéressant de savoir comment votre employeur se situe par rapport à ce phénomène de jeunisme: moyenne d’âge des employés, % de presta CP vs dev… (ce sont des pistes). Là j’aurais dit chapeau!

  12. Publié par Christophe Heubès, Il y a 5 années

    @Thibaud : Voici deux éléments de réponse sur la sociologie de Xebia :

    * Sur les deux derniers projets que nous avons démarré (avec des équipes projet montées par Xebia donc) les expériences des équipes sont de 13, 8 & 5 ans pour l’un et de 8, 8, 5 & 2 ans pour l’autre. Il n’y a pas dans ces équipes de CP mais un scrum master qui fait partie des développeurs (et qui n’est pas nécessairement le plus expérimenté).

    * Les seuls Xebians qui ne codent pas en mission (et encore …) sont des coach agiles.

  13. Publié par thibaud, Il y a 5 années

    @Christophe
    Merci pour les infos, c’est intéressant de voir que vous avez des personnes avec 8 ou 13ans d’expérience encore chez vous à faire du dev chez des clients (et que vous arrivez à les « vendre »)

  14. Publié par nicolas, Il y a 5 années

    L’emploi des séniors est un sacré soucis en France.
    Amusant de voir qu’en info on est Senior avec 5 ans d’expérience. J’espère finir ma carrière comme advanced-papy en prolongeant cette classification ;)

  15. Publié par sebastien, Il y a 5 années

    Il y a aussi une certaine idéologie, qui fait croire que l’on peut refaire tout l’actuel Facebook avec 1 ou 2 stagiaires.

    Ajoutons un deuxième biais, qui est que historiquement les grandes entreprises sont remplies de gens ayant découvert l’informatique sur le tas, considérant s’en être bien sortie, et n’ayant pas conscience de leur mauvaises pratiques (car partagées par toute l’entreprise).

    Quand on mélange bien ces deux notions, on obtient des S2II qui vendent des biologistes-expert-JEE-3mois-XP …

  16. Publié par sceptic, Il y a 5 années

    Cet article est plutôt juste.

    Il est pourtant d’une naïveté confondante.

    Les managers dans les SSII qui fournissent le gros des rangs des professionnels, se foutent pour la plupart de la qualité, de la maintenance et autres lubies de codeur passionné (test unitaire, …).

    Tout ce qui compte pour ces gens, c’est l’argent.

    Je vois passer des wagons de prestataire depuis des années issus des plus grandes SSII, c’est tout le temps la même chose.

    il y a des gens valables partout mais le problème c’est que l’objectif principal qu’on leur assigne est de gagner un max sur le dos du client et de se faire payer le moins cher possible.

    L’excellence technique est peu valorisée : si un débutant peut tenir un forfait comme un expérimenté tant mieux ! Il coute moins cher et se forme sur le dos du client. Qu’après le produit soit inmaintenable, c’est pas grave les SSII s’échangent couramment des projets en TMA, X reprenant le travail de Y et Y le travail de X.

    Le seule chose qui fera changer les choses, c’est que les clients comprennent que les SSII les volent autant que possible sur le dos des informaticiens : développeur « expert » pas formé, logiciel mal conçu, mal codé, pas de doc correcte, pas de test donc buggé pour des années, …

  17. Publié par Nicolas, Il y a 5 années

    @Yannick

    Le ROI de la technique n’est effectivement pas simple à démontrer. La qualité en informatique est une notion difficilement mesurable. Cependant des pistes existent et sont évoquées dans le livre blanc sur la qualité : http://blog.xebia.fr/2010/12/21/livre-blanc-qualite-logicielle/. La partie sur le time to market propose des pistes intéressantes.
    Enfin j’ajouterai que certaines sociétés commencent à avoir pas mal d’expérience sur les erreurs à ne pas reproduire au niveau de la conception d’applications et font de plus en plus confiance aux personnes expérimentées.

    Nicolas (Xebia)

  18. Publié par Nicolas, Il y a 5 années

    @Sceptic

    Je ne suis pas tout à fait d’accord avec vous sur certains points. Il y a certe le mode de fonctionnement que vous décrivez, mais il existe une catégorie de SSII qui ne va pas dans ce sens. Chez Xebia, entre autre, la qualité fait partie de nos valeurs et nous poussons régulièrement les notions de tests, d’intégration continue (pour ne citer qu’eux) chez nos clients.
    Lorsque vous dites que l’excellence technique est peu valorisée, je ne suis également pas d’accord avec vous. Je suis maintenant chez Xebia depuis 5 ans (époque à laquelle personne ne nous connaissait) et dorénavant nous avons acquis certaines lettres de noblesses qui sont notamment dues à cette excellence technique que nous nous sommes efforcées de mettre en place lors de nos missions.

    Pour finir je vous rejoins sur le point suivant : que les clients comprennent qu’il existe une catégorie de sociétés prête à tout pour vous vendre des profils peu voir pas du tout adaptés.

    Nicolas (Xebia)

  19. Publié par Anas, Il y a 5 années

    J’aime bien l’article, il touche un problème particulièrement franco-français qui est la dévalorisation des développeurs et architectes techniques. Une dévalorisation telle que certains recruteurs se méfient des développeur et architectes techniques qui on plus de 40 ans … « s’il est encore développeur à cet age là, c’est qu’il est incapable d’évoluer ».
    Dans le système anglo-saxon, on rencontre aisément des développeurs qui on plus de 50 ans et qui gagnent plus que leur chefs pour la simple raison que leur valeur ajoutée est plus importante. Mais dans le système franco-français, l’évaluation de la valeur ajoutée des acteurs reste encore très calquée sur la hiérarchie organisationnelle, un modèle rigide et archaïque qui génère certainement des coût invisibles mais réels.

  20. Publié par Antoine, Il y a 5 années

    « Pour finir je vous rejoins sur le point suivant : que les clients comprennent qu’il existe une catégorie de sociétés prête à tout pour vous vendre des profils peu voir pas du tout adaptés. »

    oui… je vois cela aussi.

    mais elle le comprennent, mais ne décide pas pour autant de faire autrement.
    ca leur convient assez bien, finalement, pour beaucoup de taches et de projets.

    faut il vouloir empecher cela ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *