12 points par GN⁺ 2 시간 전 | 4 commentaires | Partager sur WhatsApp
  • La valeur d’un ingénieur débutant (N00b) ne se mesure pas au nombre de tâches terminées, mais à son potentiel de progression vers un profil capable d’augmenter à terme la productivité des personnes autour de lui
  • Les ingénieurs seniors classent les débutants en A, qui transforment l’organisation / B, qui produisent des résultats stables / C, qui risquent de partir dans l’année, et les débutants doivent envoyer des signaux montrant dans quelle catégorie ils veulent être placés
  • Pour être classé B, il faut que le code fonctionne / partager l’avancement / terminer dans un délai raisonnable, par exemple en moins de 3 fois l’estimation initiale / ne pas créer inutilement du travail pour les reviewers et les équipes d’exploitation
  • Un A n’est pas quelqu’un qui boucle beaucoup de tâches, mais quelqu’un qui apprend davantage à chaque tâche en éliminant le travail inutile / en trouvant les 10 % à plus fort impact / en améliorant la conception / en soumettant une série de petits changements
  • Les activités qui témoignent d’une excellente performance demandent plus de temps que le simple fait de fermer une tâche, mais il faut éviter de se perdre indéfiniment dans des à-côtés et investir le temps gagné d’une manière utile pour soi-même et pour ses collègues

On recrute l’ingénieur de demain, pas la productivité d’aujourd’hui

  • Le regard des ingénieurs seniors sur les débutants se divise globalement en trois catégories
    • A devient un moteur de changement qui augmente fortement la productivité de son entourage
    • B produit des résultats stables et progresse graduellement
    • C risque de ne plus être dans l’organisation un an plus tard
  • Les seniors doivent accomplir leur propre travail tout en évaluant dans quelle catégorie se situe chaque débutant
    • Ils apportent autant de soutien que possible aux A
    • Ils soutiennent les B suffisamment pour les faire devenir des ingénieurs matures
    • Ils essaient de consacrer le moins d’efforts possible à ceux qui ne resteront probablement pas dans l’organisation
  • Les tâches confiées aux débutants pourraient être terminées plus vite et plus facilement si un manager ou un tech lead les traitait directement
  • Si seule la productivité immédiate comptait, il n’y aurait aucune raison d’embaucher des débutants, et l’entreprise verse leur salaire actuel comme une prime d’option pour s’assurer de l’ingénieur qu’ils deviendront plus tard
  • Si la formation réussit, une génération solide d’ingénieurs émerge ; si elle échoue, les seniors devront encore faire le même travail d’ingénierie dix ans plus tard

On ne peut pas évaluer un débutant au seul nombre de tâches

  • Entre un débutant qui a terminé 40 tâches sur un trimestre et un autre qui en a terminé 20, on ne peut pas dire lequel est meilleur en se basant uniquement sur ce chiffre
  • Même si toutes les tâches avaient la même difficulté, l’information resterait insuffisante pour distinguer A, B et C
  • L’objectif de l’évaluation n’est pas de comparer la production à court terme, mais de vérifier vers quel type d’ingénieur le débutant est en train d’évoluer

Les signaux de base qui distinguent B de C

  • Plus que fermer une tâche le plus vite possible, les critères suivants comptent
    • Le code écrit fonctionne réellement
    • Les autres savent sur quoi la personne travaille
    • La tâche est terminée dans un délai raisonnable, par exemple en moins de trois fois l’estimation initiale
    • Elle ne crée pas une quantité déraisonnable de travail supplémentaire pour les autres
  • Demander de l’aide et utiliser le temps de quelqu’un d’autre est acceptable, mais les situations suivantes sont de mauvais signaux
    • Faire perdre inutilement beaucoup de temps aux reviewers
    • Forcer l’astreinte à intervenir à cause d’une erreur
    • Déclencher l’intervention de l’équipe DevOps à cause d’un incident provoqué par soi-même
  • Les comportements visant à manipuler le système d’évaluation, comme prétendre avoir fait quelque chose qu’on n’a pas fait, deviennent immédiatement un signal de type C
  • Tout le monde peut envoyer par erreur un signal de type C, mais il ne faut pas répéter deux fois le même signal de type C, et dans l’ensemble les signaux de type B doivent être majoritaires

La vitesse d’apprentissage qui distingue A de B

  • Parmi les débutants qui correspondent au minimum à B, ce qui permet d’identifier les A n’est pas le nombre de tâches terminées, mais la quantité d’apprentissage tirée de chaque tâche
  • Il est normal que la productivité actuelle d’un débutant soit inférieure à celle d’un senior ; ce qui importe, plus que la productivité elle-même, c’est la vitesse à laquelle elle progresse

Les comportements qui relèvent de A

  • Les comportements suivants dépassent le simple traitement d’une tâche et constituent des signaux de type A, parce qu’ils étendent l’apprentissage et la productivité de l’organisation
    • Produire des arguments convaincants montrant qu’il n’est pas nécessaire d’effectuer la tâche
    • Analyser les données pour identifier les 10 % de travaux qui produisent 90 % du bénéfice total
    • Implémenter la même tâche de plusieurs façons
    • Découvrir une meilleure conception et soumettre une série de diff qui simplifient non seulement l’implémentation de la tâche, mais aussi le code alentour
      • Si l’on rend d’abord un changement difficile facile à réaliser avant d’effectuer ce changement devenu simple, l’évaluation sera meilleure
    • Soumettre successivement plusieurs petits diff au lieu d’un seul gros diff
      • Publier des diff tous les jours apporte un avantage supplémentaire
    • Écrire un outil interne qui simplifie des tâches similaires
      • S’il n’y a pas d’autres tâches similaires à venir, cela devient au contraire un point négatif
    • Soumettre des diff utiles à d’autres équipes ou à d’autres zones du code sans nuire à l’achèvement de la tâche officielle
    • Documenter ce qui a été appris de façon intéressante / utile / convaincante
    • Faire des reviews pertinentes et réagir rapidement aux retours
    • Inclure des tests unitaires robustes
  • Il existe bien plus de manières de démontrer une excellente performance que d’éviter les erreurs

Un délai raisonnable compte plus que le temps minimal

  • Les activités qui constituent des signaux de type A prennent plus de temps que la simple implémentation minimale nécessaire pour fermer une tâche
  • Cela ne signifie pas qu’on a le droit de passer un temps illimité sur des sujets annexes intéressants
  • La tâche officielle doit toujours être terminée dans un délai raisonnable, mais pas nécessairement dans le délai absolument minimal

Réinvestir le temps gagné dans soi-même et dans ses collègues

  • On peut avoir l’impression de manquer de temps pour apprendre davantage et améliorer les choses, mais des compétences comme la gestion du temps / la gestion de la file de tâches / la gestion de la file de diff permettent d’accélérer le rythme d’avancement
  • Le temps ainsi économisé doit être investi dans sa propre progression d’une manière qui bénéficie aussi aux autres

4 commentaires

 
loblue 2 시간 전

Il me semble qu’il faudrait plutôt parler de la manière de recruter des juniors ayant le potentiel de devenir A,
et de la formation qui transforme ces juniors prometteurs en A…
Le contenu de l’article est très provocateur…

 
kimjoin2 1 시간 전

Je comprends qu’on distingue A et B, mais pour C, il doit aussi y en avoir beaucoup qui sont à la fois A, B et C...
On dirait donc une entreprise avec un niveau de satisfaction des employés extrêmement élevé, puisqu’elle reflète très rapidement et correctement les résultats et l’impact directement dans les salaires.

 
cartwheel8815 1 시간 전

Les comportements visant à manipuler le système d’évaluation, comme prétendre avoir fait un travail qui n’a pas été fait, deviennent immédiatement un signal C

En lisant cela, en réalité, la possibilité de partir dans l’année pourrait aussi être une façon d’enrober un licenciement...

 
kimjoin2 1 시간 전

Ah, d'accord. mdrdddddddddd J'avais même pas pensé au licenciement.