Les ingénieurs logiciel ont besoin d’un peu de cynisme
(seangoedecke.com)- Un cynisme modéré chez les ingénieurs aide à comprendre avec précision le fonctionnement des grandes entreprises et, paradoxalement, empêche de sombrer dans un cynisme excessif
- Sans explication cynique mais réaliste des raisons pour lesquelles les ingénieurs écrivent du mauvais code, on risque de basculer vers des théories du complot excessives, comme l’idée d’une démoralisation délibérée ou de stratégies anti-travail
- Le point de vue dit « idéaliste » est en réalité plus cynique, car il considère le monde comme une structure fondamentalement corrompue et égoïste, en partant du principe qu’un changement positif est lui-même impossible
- Dans les discours sur le software engineering, les textes idéalistes sont surreprésentés, tandis que ceux qui expliquent comment les grandes entreprises fonctionnent réellement sont relativement rares
- Une génération ayant intériorisé dans les années 2010 un modèle de perception des grandes entreprises en décalage avec la réalité se heurte à des difficultés dans les années 2020 ; comprendre leur véritable mode de fonctionnement permet aussi de poursuivre ses objectifs idéalistes de manière plus réaliste
Position sur la critique selon laquelle je serais cynique
- Beaucoup de lecteurs m’ont qualifié de cynique à propos de mes arguments selon lesquels il faut « faire ce qui plaît au manager » ou selon lesquels « les grandes entreprises décident quels projets mener »
- Alex Wennerberg répond que « les ingénieurs sont plus que de simples instruments dans un jeu politique : ce sont des professionnels qui appliquent leur expertise à la résolution de problèmes concrets »
- Malgré cela, j’aime travailler dans de grandes entreprises et je pense que naviguer dans l’organisation pour livrer de vraies fonctionnalités ou améliorations aux utilisateurs est la meilleure manière de faire du bon travail
Pourquoi le point de vue idéaliste est plus cynique qu’il n’y paraît
- Selon une vision « idéaliste » doctrinaire :
dans un enfer de capitalisme tardif, les grandes entreprises sont dirigées par des aristocrates voleurs qui ne veulent que le pouvoir,
des ingénieurs-drones dociles produisent à la chaîne du mauvais code pour gonfler le cours de l’action,
et les utilisateurs finaux paient plus cher pour un logiciel de moindre qualité tout en subissant davantage de publicité - Cette vision consiste à regarder ses collègues et ses supérieurs avec cynisme
- En réalité, les dirigeants des grandes entreprises veulent fournir de bons logiciels aux utilisateurs
- Cette vision n’apparaît idéaliste qu’à partir du moment où l’on suppose qu’un ingénieur individuel ne doit accepter aucun compromis
- Selon cette logique, même sous pression de l’entreprise, il ne faudrait jamais écrire un logiciel médiocre et, même si l’on vous pousse à faire des compromis et à simplement livrer quelque chose, vous auriez le devoir moral de refuser fermement
- Le récit d’un individu anonyme qui défend un bien que les utilisateurs eux-mêmes ne perçoivent pas renforce une image héroïque de soi
- Mais cette vision part d’une lecture du monde qui le définit comme une structure fondamentalement corrompue et égoïste et qui considère tout changement positif substantiel comme impossible
- Cette posture me semble moins relever de l’idéalisme que d’une forme de cynisme qui a renoncé à la possibilité du changement
Pourquoi le point de vue cynique est plus idéaliste qu’il n’y paraît
- Il n’existe pas de frontière nette entre « instrument dans un jeu politique » et « professionnel qui résout des problèmes concrets »
- En pratique, presque tous les problèmes importants se résolvent à travers des jeux politiques
- Il y a très peu de problèmes qu’on peut résoudre seul ; un changement important dans un produit à grande échelle — par exemple permettre à 150 millions d’utilisateurs de GitHub d’utiliser LaTeX dans le Markdown — exige de se coordonner avec beaucoup de monde, donc de faire de la politique
- Les ingénieurs logiciel ne définissent pas la direction d’une grande entreprise, mais ils exercent une influence considérable pour traduire l’orientation de l’entreprise en changements techniques concrets
- Les grandes entreprises servent des centaines de millions, voire des milliards d’utilisateurs ; de petits changements peuvent donc avoir, dans l’ensemble, un impact positif ou négatif énorme
- Choisir de participer à ce processus politique désordonné est un acte idéaliste
- La position d’un ingénieur dans une grande entreprise ressemble à celle d’une personne au service du public : elle ne fixe pas les grandes orientations de la politique gouvernementale, mais espère idéalistement pouvoir faire le bien
Le cynisme comme vaccin
- Une dose saine de cynisme agit comme un vaccin contre le cynisme excessif
- Sans explication un peu cynique des raisons pour lesquelles les ingénieurs écrivent du mauvais code dans les grandes entreprises, on risque d’adopter une explication excessivement cynique selon laquelle leur moral serait délibérément sapé dans le cadre d’une stratégie anti-travail visant à empêcher la syndicalisation
- Les entreprises ne sont pas organisées pour se livrer à ce type de complot
- Sans explication un peu cynique des raisons pour lesquelles les grandes entreprises prennent des décisions inefficaces, on risque d’adopter l’explication excessivement cynique selon laquelle elles seraient remplies d’incompétents bons à rien
- En réalité, les entreprises comptent un mélange normal d’ingénieurs très compétents et moins compétents
Réflexions finales
- Les écrits sur le software engineering sont trop souvent idéalistes
- Il existe déjà d’innombrables livres et billets de blog expliquant qu’il faut valoriser le bon code, être bienveillant envers ses collègues et travailler sur des projets ayant un impact positif
- En revanche, les textes qui expliquent précisément comment les grandes entreprises fonctionnent réellement sont rares
- Les textes cyniques peuvent être nuisibles en rendant les gens tristes ou amers, mais les textes idéalistes peuvent eux aussi faire du tort
- La génération d’ingénieurs logiciel formée dans les années 2010 avait en tête un modèle erroné du fonctionnement des grandes entreprises,
et elle se fait en pratique broyer par la réalité des années 2020 - Si cette génération avait intériorisé un modèle correct du fonctionnement des entreprises, elle aurait eu moins de risques de se retrouver en difficulté, et aurait aussi été mieux placée pour atteindre ses propres objectifs idéalistes
Réponses complémentaires aux commentaires Hacker News
- Certains commentaires soulignent qu’il serait incohérent de dire « ce que je fais est en fait bien » lorsque son employeur est impliqué dans des activités contraires à l’éthique
- Ce billet n’est pas une réflexion sur le fait de savoir si mon travail chez Microsoft est éthique ou non, mais une suite à « pourquoi des ingénieurs compétents écrivent-ils du code médiocre dans les grandes entreprises ? »
- Certains commentaires contestent l’idée que des dirigeants de niveau C souhaitent fournir de bons logiciels, en faisant remarquer qu’ils ne renoncent pas à leur réussite personnelle pour cela
- Je suis d’accord, mais ce n’est pas toujours un jeu à somme nulle : un bon logiciel rapporte de l’argent à une entreprise de logiciel
- Certains commentaires citent High-Tech Employee Antitrust Litigation comme exemple de complot de grandes entreprises contre leurs employés
- Les entreprises sont structurellement organisées pour s’entendre sur les salaires, mais pas pour rendre délibérément leurs employés malheureux
- Il n’existe pas ce niveau de contrôle culturel fin et, dans la mesure où elles le peuvent, elles essaient plutôt de rendre leurs employés heureux afin qu’ils travaillent pour moins d’argent et ne partent pas
3 commentaires
Il est vrai qu’un certain cynisme est nécessaire.
Ne faudrait-il pas désormais transférer progressivement ce type de rôle, comme la revue de code, à l’IA ?
C’est un domaine qui convient bien à des profils enclins au cynisme.
Réactions sur Hacker News
Je pense que des cadres émotionnels comme le cynisme, l’idéalisme ou l’optimisme n’apportent pas de véritable éclairage conceptuel
Il vaut mieux comprendre le monde non pas à travers les émotions, mais à travers ce qui est possible ou impossible
Une grande entreprise est un agrégat de personnes aux incitations différentes, donc certaines choses lui sont structurellement impossibles
Mais quand les incitations s’alignent, les choses avancent à une vitesse surprenante, même si d’autres entreprises ou l’État s’y opposent
Au final, il faut voir les organisations comme des phénomènes compréhensibles, dont on peut exploiter les mécanismes
Cela dit, la manière de manipuler des systèmes complexes de groupes humains reste un problème non résolu ; si quelqu’un avait trouvé une solution reproductible, les investisseurs l’auraient déjà imposée
En pratique, la plupart des entreprises n’agissent pas dans l’intérêt des investisseurs et tendent avec le temps vers une inefficacité bureaucratique
Le cynisme est fondamentalement une disposition négative et ne peut pas avoir de « bon » effet sur les structures sociales
Le réalisme est neutre. L’attitude réellement précieuse à long terme, c’est la « parrhesia », c’est-à-dire une honnêteté franche qui ne vous trahit pas vous-même
Comme le disait Newton, l’important est de « dire l’essentiel sans se faire d’ennemis »
Une entreprise n’est pas une entité dotée d’émotions ou de croyances, c’est un système d’optimisation distribué
Chaque membre agit selon des incitations locales et des informations incomplètes, ce qui produit globalement des comportements qui paraissent irrationnels, mais qui sont localement rationnels
À cause de cette structure, une entreprise peut présenter, à l’échelle d’un individu, des traits psychopathiques — l’absence d’empathie n’est pas un échec moral, mais le sous-produit de structures de décision abstraites comme les métriques, les objectifs et les responsabilités juridiques
Une organisation ne ressent pas de culpabilité ; elle ne réagit que lorsque la pente des incitations change
Dès lors, la question du cynisme ou de l’optimisme n’est pas une question d’humeur, mais de savoir si l’on voit l’organisation comme un agent intentionnel ou comme un processus de sélection aveugle
Si l’on adopte le second point de vue, on constate qu’une grande partie de l’« inefficacité » correspond en réalité au fonctionnement prévu du système
Le problème, c’est que les entreprises optimisent trop bien les mauvais objectifs
Les émotions influencent la pensée ; il faut donc les reconnaître et les intégrer au modèle
Un peu comme on corrige la distorsion d’un objectif photo, il faut modéliser son propre prisme cognitif
Je ne suis pas d’accord avec l’idée que les dirigeants de niveau C veulent faire du bon logiciel
Ce qui les préoccupe, c’est la valeur actionnariale ; les managers intermédiaires, eux, pensent à leur promotion et à l’extension de leur pouvoir
La collaboration et la communication ne sont pas de la politique, ce sont de simples actes de coopération
Par « politique », j’entends des jeux de pouvoir internes comme rédiger des rapports inutiles, s’attribuer le mérite du travail des autres ou sacrifier un collègue comme bouc émissaire
Je pense que ce processus relève aussi de la politique, au sens large
Ce que j’appelle « bon » n’a rien à voir avec ce que la direction appelle « bon »
Certains y voient une forme de manipulation, mais en réalité c’est surtout une question de capacité à construire des relations
Dès que des humains se rassemblent, le pouvoir et le prestige s’en mêlent, et on ne peut pas l’éviter
Au final, il faut avoir un sens politique pour avoir de l’influence
Je suis entièrement d’accord avec le texte de Sean
Moi aussi, j’ai tenté un cynisme extrême au travail, mais un peu d’idéalisme donne de meilleurs résultats
En revanche, je ne suis pas d’accord sur la manière de changer la société
Si l’on reste salarié, son conseil est juste, mais rien n’oblige à rester salarié
Je me suis mis à mon compte comme consultant et j’y ai gagné énormément en liberté
Désormais, sauf pour un poste avec une vraie autonomie comme CTO ou CEO, je n’ai plus envie de redevenir salarié
Pour accomplir ce qui paraît impossible, il faut un peu de naïveté
Je suis britannique, donc cynique par défaut
Je ne comprends pas comment les ingénieurs américains, tout en se faisant régulièrement exploiter, continuent à croire au système
Pour être vraiment cynique, il faut comprendre les motivations et les intentions de l’entreprise à travers des réseaux d’information
Dire qu’une entreprise cherche le bonheur de ses employés est une interprétation excessive
Meta et Amazon ont, à un moment, préféré comme politique maintenir un certain niveau de turnover
Plus il y avait de salariés qui partaient en abandonnant des actions non acquises, plus c’était avantageux pour l’entreprise
Ils y trouvent de la satisfaction parce qu’ils peuvent travailler avec des collègues plus brillants
Cela ressemble simplement à un mécanisme de rationalisation
Les dirigeants de niveau C ne comprennent pas la technique, et les managers intermédiaires sont obsédés par le pouvoir
Quand une telle structure se met en place, la boucle de rétroaction de l’organisation se rompt et l’entreprise devient une structure toxique
À ce stade, aucun « cynisme sain » ne peut aider
Je ne comprends pas bien où est le dilemme
En tant qu’ingénieur, mon rôle est de faciliter la vie de mon manager
Si les valeurs de l’organisation divergent des miennes, je vais ailleurs
C’est tout
Au contraire, c’est plutôt le rôle du manager de lever les obstacles pour l’équipe
Si vous voulez sauver le monde, il faut aller dans une organisation à but non lucratif
Elle peut mener à une forme d’insensibilité morale du type « je construirai le camp puisqu’on m’en donne l’ordre »
Quand une technologie arrive à maturité, il est naturel que la politique et la gestion prennent le dessus
Au début, les techniciens travaillent librement, mais à mesure que l’industrie mûrit, le management intervient
On a vu le même schéma avec les ponts, l’électricité, la radio, etc.
Le logiciel est déjà entré dans cette phase
L’histoire des techniques montre que ce cycle revient sans cesse
Je me suis demandé pourquoi le cynisme apparaissait
C’est le résultat d’une incapacité à digérer correctement des expériences négatives
Quand on est jeune, on est idéaliste ; avec l’âge, l’accumulation d’expériences nous rend cyniques
Mais voir la jeune génération devenir trop cynique est tragique
Pour convaincre quelqu’un, il faut de l’empathie et une conversation sincère
Ce n’est pas une question de petits jeux politiques, mais de recherche de points communs et de respect mutuel
L’espoir seul peut difficilement servir de base à la prise de décision
L’auteur a l’air sympathique, mais je pense qu’il voit la réalité des grandes entreprises avec trop de naïveté
Il travaille dans une entreprise mentionnée dans High-Tech Employee Antitrust Litigation, et fait partie d’une organisation impliquée dans la surveillance, les monopoles et des projets militaires
S’il est très bien payé, c’est le résultat de ses choix, et cela ne l’exonère pas de sa responsabilité morale
Réussir politiquement dans un système corrompu peut rapporter de l’argent, mais cela n’a rien à voir avec une vie bonne
Quand on fait ce choix, on peut parfois être tourné en dérision dans le secteur, mais ce n’est pas grave
Même dans une grande organisation, on peut avoir un impact positif
Vivre aux États-Unis pose d’ailleurs un dilemme semblable — on y reste pour des raisons pratiques sans pour autant considérer la situation comme parfaitement morale
C’était simplement le résultat d’une structure de maximisation du profit, et l’action antitrust a corrigé cela
L’affirmation selon laquelle GitHub serait impliqué dans des actions militaires repose sur des bases fragiles