Comment engager un développeur 10x

Publié : Dernière mise à jour :
Comment engager un développeur 10x meilleur 2018 articles et ressources RH

Des millions de frappes ont été effectuées sur Internet au sujet du développeur 10x. Il existe un certain nombre de définitions différentes et de nombreuses questions quant à l'existence même de ce phénomène. Mais le mythe est trop beau pour que la plupart des gens y renoncent. Existe-t-il vraiment des développeurs capables de décupler vos résultats ?

La vérité est qu'il existe des développeurs qui sont 10x plus performants, mais ce ne sont pas ceux que vous pensez. Il ne s'agit pas de rockstars solitaires, qui ont la réputation de faire seuls en quelques heures ce que la plupart des équipes mettraient une semaine à faire. La vérité est encore plus fascinante et peut être la clé pour multiplier l'efficacité de votre équipe.

Qu'est-ce qu'un programmeur ou un développeur 10x ?

Il existe un certain nombre de définitions pour un développeur 10x. En voici quelques-unes que nous avons trouvées.

  • Un développeur capable d'utiliser les outils et les ressources à sa disposition pour obtenir des performances dix fois supérieures à celles des plus mauvais développeurs. Source : Kenny Bergquist
  • Un développeur qui peut faire des choses qu'une équipe de 10 développeurs de moindre importance ne pourrait pas faire. Source : Yevgeniy Brikman
  • Un développeur qui est capable de débloquer une productivité 10x dans son équipe. Source : Sylvain Kalache via Stack Overflow

Mais l'un d'entre eux est-il la véritable définition d'un développeur de logiciels 10x ? Est-ce que cela vient d'une combinaison de ces trois traits ? Si vous recrutez, votre première priorité est d'amplifier les résultats de votre entreprise. Est-ce que cela passe par un développeur hyper-efficace ou un bâtisseur d'équipe ? Pour savoir lesquels sont les plus importants, il est utile de revenir à l'origine de l'idée du programmeur, puis du développeur 10x.

Attributs du développeur 10x

Source : Le programmateur produisant du négatif net

Les origines du développeur 10x

L'idée du développeur de logiciels 10x est apparue pour la première fois dans une étude intitulée "Études expérimentales exploratoires comparant les performances de la programmation en ligne et hors ligne"de 1968. Les auteurs de l'étude, Sackman, Erikson et Grant, n'avaient pas pour objectif de vérifier si le développeur de logiciels 10x était réel. Ils voulaient plutôt tester les différences d'efficacité entre les programmeurs en ligne et hors ligne (en ligne signifie sur un ordinateur et hors ligne sur papier), une distinction qui ne nous intéresse plus depuis que la quasi-totalité de la programmation se fait en ligne.

Mais la conclusion intéressante de cette étude est qu'il existe une grande variation dans les performances de programmeurs apparemment identiques, ce qui suggère que certains pourraient être beaucoup plus efficaces que d'autres. En fait, certaines des différences étaient moins spectaculaires lorsque l'on tenait compte de certains des défauts de l'étude. Avec ces défauts pris en compte, les partisans comme Steve McConnell de Construx Software affirment toujours que l'étude révèle une différence de 10x dans les performances de programmeurs apparemment identiques.

Depuis la publication de cette étude, des variations de l'effet 10x sont apparues dans d'autres recherches.

  • Barry Boehm et d'autres chercheurs ont conclu que le développement d'un programme avec une équipe se situant dans le 15e percentile des programmeurs classés selon leurs compétences nécessite généralement environ 3,5 fois plus de mois-personnes que le développement d'un programme avec une équipe se situant dans le 90e percentile (Boehm et al 2000). Source : Construx
  • Joel Spolsky observe également cet effet chez les étudiants en informatique de Yale. Il vaut la peine de lire son explication du phénomène 10x dans Atteindre les hautes notes.

Un développeur 10x prend beaucoup moins de temps pour accomplir ses tâches que ses pairs.

Dans un groupe d'étudiants en informatique aussi expérimentés les uns que les autres, le temps passé sur un projet n'est pas en corrélation avec la qualité du code. Source : Joel Spolsky

Ces études ne sont pas les seules à avoir observé un effet de grossissement avec G. Gordon Schulmeyer,

Les chercheurs ont constaté des ratios de performance des programmeurs allant de 5 à 1 à 100 à 1. Cela signifie que des programmeurs de même niveau, ayant des antécédents similaires et des salaires comparables, peuvent mettre de 1 à 100 semaines pour accomplir les mêmes tâches.

SourceLe programmateur produisant du négatif net

Mais comme le souligne Gordon, ces études ne tiennent pas compte de l'effet négatif que ces développeurs peuvent avoir sur la productivité. Un développeur peut élaborer un programme en un dixième du temps d'un autre, mais il peut s'agir d'un code spaghetti. S'il faut à ses collègues dix fois plus de temps pour le démêler, la contribution du développeur est en fait de 1x.

Si vous associez un code spaghetti à un développeur qui nuit à la cohésion de l'équipe, il risque d'apporter une contribution négative nette aux résultats de l'entreprise. Dans cette optique, vous devez vous poser une grande question avant d'essayer d'ajouter un développeur de logiciels 10x à votre entreprise.

Quelles sont les caractéristiques à rechercher chez un développeur de logiciels 10x ?

Quelles sont les caractéristiques à rechercher chez un développeur 10x ?Source : Evgeni Tcherkasski sur Unsplash

1. Ils savent ce qu'il faut faire

Cela devrait être une première étape évidente, mais un développeur de logiciels 10x sait comment résoudre la plupart des problèmes immédiatement. Au minimum, il doit savoir ce qu'il doit faire et, s'il ne le sait pas, quelles sont les bonnes questions à poser. Source : Stackify

Que leurs capacités proviennent d'une expérience ou de connaissances supérieures, ils peuvent prendre les bonnes décisions sur la manière de procéder à une tâche de développement de logiciels. Comme le dit Chris Stainthorpe, le cofondateur technique de CustomerSure :

Les codeurs "10x" avec lesquels j'ai travaillé avaient le don de faire des choix technologiques "ennuyeux", de faire preuve d'empathie à l'égard des besoins des utilisateurs et d'avoir une vue d'ensemble du cycle de vie d'un produit logiciel.

Source : Débordement de cheminée

Quelqu'un qui n'est pas 10x ne peut tout simplement pas remplir ce rôle. Comme Joel Spolsky le décrit,

Ce n'est pas seulement une question de "10 fois plus productif". C'est que le développeur "moyennement productif" n'atteint jamais les notes élevées qui font les grands logiciels.

Source : Joel Spolsky

Vous constaterez que les meilleurs programmeurs ont une très bonne expérience de la correspondance des modèles et qu'ils peuvent également effectuer un débogage très complexe qu'un programmeur moins expérimenté ne serait tout simplement pas en mesure de faire. Source :

2. Ils comprennent pourquoi ils doivent le faire

Pour être un développeur 10x, il faut être passionné par le problème et le comprendre de fond en comble.

Source : Stackify

Si vous comprenez le problème de fond en comble, vous serez en mesure de prendre les bonnes décisions. Après tout, un développeur 10x n'est pas seulement 10x parce qu'il peut travailler rapidement, il est 10x parce qu'il ne perd pas de temps à s'engager dans une mauvaise voie. Ils ont généralement une bonne compréhension de la machine sur laquelle ils travaillent (le système d'exploitation et les autres composants) et une bonne connaissance théorique des technologies qu'ils traitent Source :

3. Ils savent quand ils doivent faire chaque chose

Un développeur de logiciels 10x comprend où le temps et les ressources doivent être dépensés pour obtenir le résultat le plus optimal. Un vrai développeur de logiciels 10x ne se contentera pas de commencer à coder immédiatement et de cracher tout ce qu'il a trouvé. Au contraire, vous le trouverez en train de décider de la meilleure façon d'utiliser son temps. Source : Stackify

Comprendre pleinement l'architecture du projet sur lequel ils travaillent avant de commencer à travailler peut leur faire gagner énormément de temps. Cela leur évite de s'engager dans une mauvaise voie, d'effectuer un travail inutile et, d'une manière générale, de travailler sur des projets chronophages dont les avantages sont minimes.

En d'autres termes, un développeur de logiciels 10x coupera une partie du projet qui pourrait contribuer à 5% du résultat global, mais entraînera 80% du temps et de l'effort investis Source :

4. Ils contribuent à la culture du travail

Le développeur 10x contribue à la culture d'entrepriseIl y a un grand débat autour des programmeurs 10x qui souille l'idée pour beaucoup de gens. L'essentiel est que vous obtenez souvent des personnes très performantes qui ne travaillent tout simplement pas avec le reste de l'équipe. Parfois appelés programmeurs ninja, ces personnes peuvent produire des résultats étonnants mais ne sont pas en mesure d'élever l'équipe qui les entoure. Dans les cas extrêmes, leur arrogance poussera le reste de l'équipe à partir, annulant ainsi tout bénéfice qu'ils ont apporté. Source : La pile de nouvelles

En fait, Rand Fishkin, PDG de Moz, met en garde contre l'embauche d'abrutis 10x pour cette raison même, disant qu'il suggérerait d'embaucher un bâtisseur d'équipe moyen plutôt que leurs homologues 10x n'importe quel jour parce que c'est simplement un plaisir de travailler à leurs côtés. Source : Code Mentor

Mais si l'idée de 10x est que vous créez 10x le résultat. Si vous avez un développeur qui permet à 10 autres personnes d'augmenter leur productivité, ce qui se traduit par une productivité 10x pour l'équipe, il s'agit d'un développeur 10x. Source : Débordement de cheminée

Prenez cette anecdote d'un contributeur pradn sur Hacker News. Le contributeur donne un exemple parfait de la façon dont une personne peut créer une valeur énorme pour l'équipe dont elle fait partie.

Je fais actuellement partie d'une équipe qui compte, je crois, un développeur de logiciels 10x. Il a choisi un modèle de threading simple pour éviter des tonnes de perte de temps sur les blocages et autres problèmes de threading. Il est également plus facile de raisonner et d'intégrer de nouvelles personnes. Lorsqu'il révise le code, il trouve des bogues qui évitent des jours de débogage et suggère des architectures plus simples qui rendent le code plus facile à comprendre et à modifier. Il a eu cet effet sur ~20 personnes en ~5 ans. Je ne serais pas surpris qu'il nous ait fait gagner collectivement environ un an de temps de développement.

Source : Hacker News

La contribution de ce membre de l'équipe ne fait pas que l'élever, elle élève toute l'équipe. Cette personne agit comme un multiplicateur pour l'équipe et c'est le véritable résultat que vous recherchez lorsque vous recrutez. Source : Sean Cassidy

5. Un développeur de logiciels 10x correspond au rôle que vous attendez de lui

Un autre problème qui se pose fréquemment avec l'idée des développeurs de logiciels 10x : ils peuvent être placés dans n'importe quel rôle et obtenir un niveau 10x, quel que soit l'environnement technique dans lequel ils travaillent. Source : Codementor

Il est certainement vrai qu'un performer 10x sera capable de produire des résultats avancés dans la plupart des situations, mais cela ne tient pas compte du fait que certaines personnes peuvent être 10x pour des situations spécifiques et des environnements technologiques spécifiques. Ailleurs, elles ne produiront vraiment que des résultats normaux. Il est important de s'assurer qu'un développeur sera 10x dans votre entreprise.

6. Ils essaient toujours de s'améliorer

Un 10x devrait toujours apprendre de nouvelles choses. Chaque nouvelle compétence, outil et approche est une nouvelle façon de résoudre un problème. En outre, ils resteront au fait des changements technologiques, ce qui leur permettra de produire à un niveau 10x.

Comment tester les compétences d'un développeur de logiciels 10x ?

Comment tester les compétences d'un développeur 10x ?Il est assez difficile de trouver des développeurs de logiciels 10x qui n'ont pas la réputation d'être des rock stars. Ils nécessitent un examen plus approfondi qu'un candidat ordinaire.

Vérifiez leurs compétences spécialisées

Si vous trouvez un développeur dont vous pensez qu'il va aider votre équipe à décupler sa productivité et son rendement, vous devez commencer par examiner ses compétences professionnelles. La meilleure façon de voir les choses est sans doute de se demander où se trouve le test de l'échantillon de travail. Le test d'échantillon de travail est adapté de manière unique pour identifier les compétences qui amplifient le rendement. En effet, à la différence d'un test algorithmique, le test de l'échantillon de travail teste des problèmes commerciaux plutôt qu'une simple aptitude au codage. Et c'est vraiment facile à faire en utilisant DevSkiller.

Dites que votre candidat est plus à l'aise avec Java. Faites-lui passer un test Java avancé et voyez comment il s'en sort.

Vérifier leur capacité d'adaptation à de nouveaux environnements de programmation

Mais un test Java n'est pas suffisant. Un développeur 10x doit être capable de s'adapter dans une certaine mesure à d'autres environnements technologiques lorsqu'il en a besoin. Supposons que votre candidat dise qu'il est très à l'aise avec Java mais qu'il n'utilise jamais Python. En plus de leur tâche Java, donnez-leur une tâche Python facile. Même s'il n'a jamais utilisé Python auparavant, un vrai développeur 10x devrait être capable de comprendre comment accomplir une tâche de base dans le temps imparti.

Vérifiez leurs compétences en matière de débogage

L'une des véritables caractéristiques d'un développeur 10x est sa capacité à effectuer un débogage complexe et de haut niveau. Il s'agit du genre de débogage qu'un développeur normal pourrait se voir accorder un temps infini pour réaliser et qu'il ne serait toujours pas capable de faire. Ceci parce qu'il n'a tout simplement pas les compétences et la compréhension de la technologie.

Là encore, vous pouvez utiliser une plateforme automatisée comme DevSkiller pour donner au candidat un code avancé avec des bogues avancés qu'il devra trouver et supprimer. Vous constaterez qu'un développeur capable d'effectuer cette tâche offre un avantage de productivité de 100 à 1 par rapport à un développeur normal. Source : Nevo

Invitez vos meilleurs candidats à un entretien de codage pour voir comment ils travaillent avec les autres.

Une partie de l'évaluation des compétences de codage d'une personne consiste à vérifier si elle possède les connaissances techniques nécessaires pour apporter une contribution décuplée. Mais l'autre moitié du rôle d'un développeur 10x est d'être capable d'élever les autres membres de votre équipe pour que l'équipe elle-même apporte une contribution 10x. Pour ce faire, vous devez déterminer si le candidat travaille bien avec les autres et comment il peut améliorer le rendement de l'équipe.

La meilleure façon de le faire est probablement l'entretien de codage en binôme. Au cours de cet entretien, un enquêteur travaille avec le candidat pour résoudre un problème commercial. Ce type d'entretien n'a pas pour seul but de déterminer dans quelle mesure le candidat comprend le codage. Il peut également montrer le type de décisions qu'il prend, la façon dont il réagit au retour d'information et sa capacité à coopérer avec les autres. Même si le développeur n'est pas disponible pour un entretien en face à face, il est facile d'organiser un de ces entretiens à distance en utilisant une plateforme telle que DevSkiller.

Il est temps de trouver votre développeur 10x.

Avant de partir à la chasse aux développeurs 10x licornes, il est important de comprendre qu'ils sont presque aussi rares que les bêtes mythiques. Vous trouverez probablement beaucoup de développeurs moyens et, à vrai dire, si vous avez un développeur 10x dans l'équipe, il peut considérablement augmenter la productivité des programmeurs moyens qui l'entourent, donc cela vaut quand même la peine de chercher l'amplificateur unique.

La chose importante à retenir est de :

  • Trouvez un développeur qui répond à vos besoins (vous pouvez commencer par consulter leur site web). les contributions open-source). C'est-à-dire une personne qui sera 10x plus performante dans l'environnement technologique et managérial de votre entreprise.
  • Assurez-vous qu'ils sont à la fois excellents seuls et excellents en équipe. Vous ne voulez pas de quelqu'un qui soit formidable tout seul mais qui entraîne le reste de l'entreprise dans sa chute.
  • Faites des tests approfondis pour déterminer à la fois leurs compétences dans leur domaine de prédilection, leur capacité d'adaptation à de nouveaux environnements et leur aptitude à travailler avec d'autres personnes.

Maintenant que vous êtes prêt, il est temps d'aller chercher votre développeur 10x. Les récompenses seront incroyables pour vous et votre entreprise.

Partager le poste

En savoir plus sur le recrutement dans le secteur des technologies

Abonnez-vous à notre Learning Hub pour recevoir des informations utiles directement dans votre boîte aux lettres électronique.

Vérifier et développer les compétences de codage de manière transparente.

Voir les produits DevSkiller en action.

Certifications de sécurité et conformité. Nous veillons à ce que vos données soient sûres et sécurisées.

Logo DevSkiller Logo TalentBoost Logo TalentScore