Pourquoi les ingénieurs « normaux » sont la clé des grandes équipes

 Pourquoi les ingénieurs « normaux » sont la clé des grandes équipes

Une version de ce post Apparu à l’origine dans Refactorisationun conseil subalterne pour ingénieurs logiciels.

La plupart d’entre nous ont rencontré quelques ingénieurs logiciels qui semblent pratiquement comme un magicien, une classe en dehors du reste d’entre nous dans leur capacité à raisonner sur des modèles mentaux complexes, à sauter vers des solutions non évidentes mais élégantes, ou émettre des vagues de code de haute qualité à une vitesse irrémédiable.

J’ai rencontré beaucoup de ces êtres incroyables au cours de ma carrière. Je pense que leur existence est ce qui explique la curieuse durabilité de la notion d’un «ingénieur 10x», quelqu’un qui est 10 fois aussi productif ou qualifié que leurs pairs. L’idéequi a devenir mème-est basé sur Recherche fragile et de mauvaise qualitéet les affirmations que les gens ont formulées pour le défendre ont souvent été risibles (par exemple, les ingénieurs 10x ont des arrière-plans sombres, sont rarement vus faire un travail d’interface utilisateur, et sont de mauvais mentors et des intervieweurs) ou doublement de stéréotypes («nous recherchons de jeunes mecs dans les sweats qui nous rappellent Mark Zuckerberg»). Mais putain si cela ne résonne pas avec l’expérience. C’est juste vrai.

Je n’ai pas de problème avec l’idée qu’il y a des ingénieurs qui sont 10 fois plus productifs que les autres ingénieurs. Les problèmes que j’ai sont deux fois.

La mesure de la productivité est lourde et imparfaite

Tout d’abord, comment mesurez-vous la productivité? J’ai un problème avec l’implication qu’il existe une véritable métrique de productivité que vous pouvez standardiser et trier les gens. Considérez l’ampleur des compétences et des expériences en jeu:

  • Travaillez-vous sur microprocesseurs, IoTInternes de base de données, services Web, expérience utilisateurapplications mobilesquoi ?
  • Utilisez-vous Golang, Python, Cobol ou Lisp? Quelle version, bibliothèqueset des frameworks? Quels autres logiciels devez-vous maîtriser?
  • Quelles compétences adjacentes, les segments de marché et l’expertise en matière des produits dessinez-vous? Conception, sécurité, conformité, visualisation des données, marketing, financement?
  • Quelle étape de développement? Quelle échelle d’utilisation? Écrivez-vous pour un Mars Rover, ou logiciel enveloppé de rétrécissement que vous ne pouvez jamais changer?

De plus, les gens et leurs compétences et capacités ne sont pas statiques. À un moment donné, j’étais un assez bon ingénieur de fiabilité de la base de données. Peut-être que j’étais même un ingénieur de la base de données 10x à l’époque, mais certainement pas maintenant. Je n’ai pas débogué de plan de requête en années.

«10x ingénieur» donne l’impression que la productivité est une caractéristique immuable d’une personne. Mais quelqu’un qui est un ingénieur 10X dans un ensemble de compétences particulier aura toujours une infinité plus de domaines où il est moyen (ou inférieur à la moyenne). Je connais beaucoup d’ingénieurs de classe mondiale, mais je n’ai jamais rencontré personne qui est 10 fois meilleur que tout le monde à tous les niveaux, dans toutes les situations.

Les ingénieurs ne possèdent pas de logiciels, les équipes possèdent un logiciel

Deuxièmement, et plus important encore: et alors? Les ingénieurs individuels ne possèdent pas logiciel; ingénierie Les équipes sont propriétaires de logiciels. Peu importe à quelle vitesse un ingénieur individuel peut écrire un logiciel. Ce qui compte, c’est à quelle vitesse l’équipe peut écrire collectivement, tester, examiner, expédier, maintenir, refacteur, étendre, architeser et réviser le logiciel qu’ils possèdent.

Tout le monde utilise le même pipeline de livraison de logiciels. S’il demande à l’ingénieur le plus lent de votre entreprise cinq heures pour expédier une seule ligne de code, il faudra l’ingénieur le plus rapide de votre entreprise cinq heures pour expédier une seule ligne de code. Le temps passé à écrire du code est généralement éclipsé par le temps passé toutes les autres parties de la développement de logiciels cycle de vie.

Si vous avez des services ou des composants logiciels qui appartiennent à un seul ingénieur, cette personne est un point de défaillance unique.

Je ne dis pas que cela ne devrait jamais arriver. C’est tout à fait normal à startups Avoir des individus possédant un logiciel, car le plus grand risque existentiel auquel vous êtes confronté ne bouge pas assez vite et ne fait pas leurs portes. Mais au fur et à mesure que vous commencez à grandir en tant qu’entreprise, la propriété doit être remise à une équipe. Les ingénieurs individuels tombent malades, partent en vacances et quittent l’entreprise, et l’entreprise doit y être résiliente.

Lorsqu’une équipe possède le logiciel, le travail clé de tout leader d’ingénierie est de créer une équipe d’ingénierie hautement performante. Si vous devez 10 fois quelque chose, créez des équipes d’ingénierie 10X.

Les meilleures organisations d’ingénierie sont celles où les ingénieurs normaux peuvent faire un excellent travail

Lorsque les gens parlent des organisations d’ingénierie de classe mondiale, ils ont souvent des équipes qui sont les plus lourdes avec le personnel et les principaux ingénieurs, ou qui recrutent fortement dans les rangs des anciens Grande technologie Employés et grandes universités. Mais je dirais qu’une vraie organisation d’ingénierie est une organisation d’ingénierie où vous n’avez pas besoin d’être l’un des «meilleurs» ou les ingénieurs le plus pedigreed pour avoir beaucoup d’impact sur l’entreprise. Je pense que c’est en fait l’inverse. Une véritable organisation d’ingénierie est celle où les ingénieurs logiciels de travail parfaitement normaux, avec des compétences décentes et une quantité ordinaire d’expertise, peuvent constamment déplacer rapidement, expédier du code, répondre aux utilisateurs, comprendre les systèmes qu’ils ont construits et faire avancer l’entreprise un peu plus, jour après jour, semaine après semaine.

Tout le monde peut construire une organisation où les ingénieurs les plus expérimentés et les plus brillants du monde peuvent Créer des produits et faire des progrès. Ce n’est pas difficile. Et mettre tous les projecteurs sur la capacité individuelle a un moyen de laisser vos dirigeants décrocher en faisant leur travail. C’est un énorme avantage concurrentiel si vous pouvez construire des systèmes où des ingénieurs moins expérimentés peuvent convertir leurs efforts et leur énergie en momentum des produits et des affaires. Et la seule mesure significative de la productivité est de savoir si vous avancez ou non l’entreprise.

Une organisation d’ingénierie vraiment formidable se trouve également une organisation qui frappe les ingénieurs logiciels de classe mondiale. Mais je prends de l’avance sur moi ici.

Parlons des ingénieurs «normaux»

Beaucoup de techniciens se sont vraiment attachés à nos identités en tant qu’enfants intelligents. L’industrie du logiciel a tendance à refléter et à renforcer cette préoccupation à chaque tour, comme on le voit dans l’affirmation de Netflix selon laquelle «nous recherchons les 10% des talents mondiaux» ou le désir de Coinbase de «louer les 0,1% les plus élevés». Je voudrais nous mettre au défi de mettre ces bagages sur le côté et de penser à nous-mêmes commenormale personnes.

Il peut être humiliant de vous considérer comme une personne normale. Mais la plupart d’entre nous le sont, et il y a rien de mal à ça. Même ceux d’entre nous qui sont des génies certifiés sur certains critères sont probablement assez normaux à d’autres égards – kinesthésiques, émotionnels, spatiaux, musicaux, linguistiques, etc.

L’ingénierie logicielle sélectionne et développe certains types d’intelligence, en particulier autour du raisonnement abstrait, mais personne est né un excellent ingénieur logiciel. De grands ingénieurs sont fabriqués, pas nés.

Construisez des systèmes sociotechniques avec des «gens normaux» à l’esprit

Quand il s’agit d’embaucher des talents et de constituer des équipes, oui, nous devons nous concentrer sur l’identification de la façon dont les gens sont exceptionnels. Mais quand il s’agit de construire des systèmes sociotéchniques pour la livraison de logiciels, nous devons nous concentrer sur toutes les façons dont les gens sont normale.

Les gens normaux ont biais cognitifs– Biais d’accès, biais de récence, biais de recul. Nous travaillons dur, nous nous soucions et nous faisons de notre mieux; Mais nous oublions aussi les choses, obtenons l’impatient et que nous zones. Nos yeux sont inexorablement attirés par la couleur rouge (sauf si nous sommes daltoniens). Nous développons des habitudes et résistons à les changer. Lorsque nous voyons le même bloc de texte à plusieurs reprises, nous cessons de le lire.

Nous sommes des êtres incarnés qui peuvent être submergés et fatigués. Si une alerte nous réveille à 3 heures du matin, nous sommes beaucoup plus susceptibles de faire des erreurs tout en répondant à cette alerte que si nous essayions de faire la même chose à 15 heures, notre état émotionnel peut affecter la qualité de notre travail.

Lorsque vos systèmes sont conçus pour être utilisés par des ingénieurs normaux, tout cet excès de brillance peut être versé dans le produit lui-même, au lieu de le gaspiller pour naviguer dans le système.

Great Engineering Orgs Mint Ingénieurs de classe mondiale

Une grande organisation d’ingénierie est celle où vous n’avez pas besoin d’être l’un des meilleurs ingénieurs du monde pour avoir beaucoup d’impact. Mais – ironiquement, de grandes organisations d’ingénierie mentes d’ingénieurs de classe mondiale comme les affaires de personne.

Les meilleures organisations d’ingénierie ne sont pas celles avec les personnes les plus intelligentes et les plus expérimentées du monde. Ce sont eux où les ingénieurs logiciels normaux peuvent régulièrement progresser, fournir de la valeur aux utilisateurs et faire avancer l’entreprise. Endroits où les ingénieurs peuvent Avoir un grand impact sont un aimant pour les meilleurs artistes. Rien ne rend les ingénieurs plus heureux que de construire des choses, de résoudre des problèmes et de progresser.

Si vous avez la chance d’avoir des ingénieurs de classe mondiale dans votre organisation, bon pour vous! Votre rôle de leader est de tirer parti de leur éclat pour le bien de vos clients et de vos autres ingénieurs, sans venir à dépendre sur leur brillance. Après tout, ces gens ne vous appartiennent pas. Ils peuvent sortir à tout moment, et ça doit être bien.

Ces personnes peuvent être des actifs phénoménaux, en supposant qu’ils peuvent être des joueurs d’équipe et garder leurs egos sous contrôle. C’est probablement pourquoi tant d’entreprises technologiques semblent obséder Silicon Valley.

Mais les entreprises attachent trop d’importance à trouver ces personnes après avoir déjà été frappées, ce qui finit par renforcer et reproduire tous les préjugés et les inégalités du monde en général. Les talents peuvent être répartis également entre les populations, mais l’opportunité ne l’est pas.

N’engagez pas les «meilleures» personnes. Embaucher les bonnes personnes

Nous mettons trop l’accent sur les agences et les caractéristiques individuelles, et pas assez sur les systèmes qui nous façonnent et informent nos comportements.

Je crois que toute une série de problèmes (les candidats qui s’auto-sélectionnent du processus d’entrevue, de la diversité des candidats, et plus encore) seraient améliorés simplement en éloignant l’objectif de l’embauche de cet accent excessif sur l’embauche du meilleur les gens et réalignent autour du plus raisonnable et précis droite personnes.

C’est un avantage concurrentiel de construire un environnement où les gens peuvent être embauchés pour leurs forces uniques, pas leur manque de faiblesses; où l’accent est mis sur la composition des équipes; où l’inclusivité est donnée à la fois pour des raisons éthiques et parce qu’elle augmente la barre des performances pour tout le monde. La culture inclusive est ce dont dépend la méritocratie.

C’est le genre d’endroit où les talents d’ingénierie sont tirés pour aimer un papillon à une flamme. Cela fait du bien de faire avancer l’entreprise, d’aiguiser vos compétences et d’améliorer votre métier. C’est le genre d’endroit où les gens vont quand ils veulent devenir des ingénieurs de classe mondiale. Et cela a tendance à être le genre d’endroit où les ingénieurs de classe mondiale veulent rester et entraîner la prochaine génération.

À partir des articles de votre site

Articles connexes sur le Web



Source link

Related post