1 points par GN⁺ 2024-04-22 | 1 commentaires | Partager sur WhatsApp
  • L’auteur ne s’est jamais vraiment bien adapté au métier d’ingénieur logiciel

    • Une fois qu’il comprenait dans une certaine mesure la logique interne d’une codebase, l’aspect technique devenait ennuyeux ; il voulait en faire davantage, et autrement
    • Il se posait des questions sur les décisions de conception et sur leur finalité plus large, mais on lui disait qu’il « réfléchissait trop » ou qu’il « s’en souciait trop »
    • Ce n’était pas simplement un problème d’inadéquation entre ses talents et son poste : il n’était fondamentalement pas d’accord avec la manière dont ces structures fonctionnent, et voulait les transformer plutôt que contribuer à les perpétuer
  • En regardant les offres d’emploi en 2023, l’auteur a perdu ses illusions sur le secteur du software engineering

    • Dans la plupart des cas, il était clair que le code qu’un ingénieur allait écrire était totalement déconnecté des problèmes importants pour l’humanité ou pour les individus
    • La culture startup est à l’avant-garde de cette politique du secteur qui consiste à « produire plus de code et poser moins de questions »
    • Les startups cherchent le plus souvent à convertir l’argent des investisseurs en utilisateurs payants, mais au final le temps des ingénieurs est gaspillé et le capital-risque finit entre les mains de personnes qui possèdent déjà beaucoup de capital
    • Les annonces de recrutement qui essaient d’enrober cela comme un effort passionnant et porteur de sens sont une insulte à l’intelligence
  • Les entreprises technologiques établies sont différentes des startups sur les plans organisationnel et financier, mais culturellement il y a peu d’écart

    • Le code écrit chez les FAANG peut effectivement parvenir jusqu’aux utilisateurs, mais la réflexion personnelle de chacun sur tous les aspects de l’écriture du code devient plus insignifiante que jamais
    • Les ingénieurs ne sont pas seulement des rouages d’une machine qui fabrique des produits automatisant les pires aspects du capitalisme ; ils ne sont aussi plus que des chiffres, qu’il s’agisse de la taille de la stack backend, du score aux entretiens techniques ou des notes d’évaluation de performance
    • On attend des ingénieurs qu’ils aspirent encore davantage à ce travail vide et humiliant, et toute remise en question est encore plus fortement découragée
    • Les programmeurs sont censés se concentrer uniquement sur le comment, à peine sur le quoi, et jamais sur le pourquoi
    • Pour les rares code monkeys capables et désireux de critiquer le système, le message est clair : ces idées doivent rester à la porte
  • Dans ce monde technologique, cette manière de penser qui pousse à faire plus et à questionner moins peut produire davantage de code, mais mène à de plus mauvais logiciels

    • Même lorsque le capital et d’autres forces hors de notre contrôle nous permettraient théoriquement de construire des logiciels de manière durable, avec un impact positif sur le monde ou une utilité pratique réelle, il arrive souvent qu’on ne le fasse pas, simplement par inertie
    • Cette inertie imprègne toute la stack technologique dans laquelle se construisent des produits socialement inutiles
    • Des langages aux bibliothèques, frameworks, et même aux patterns de code, la technologie est contaminée par la nouveauté superficielle et les astuces qui précèdent la véritable innovation, un mal qui affecte l’ensemble du secteur
    • S’il ne s’agit pas de résoudre un problème non conventionnel, il n’y a aucune raison d’avoir besoin d’une ingénierie non conventionnelle
  • Les problèmes d’ingénierie les plus intéressants sont ceux qui émergent naturellement dans notre société

    • Par opposition aux problèmes où le progrès technologique devient une fin en soi, ou à ceux où l’on tente de créer artificiellement une demande de marché là où elle n’existe pas
    • Les besoins sociaux sont le meilleur moteur de l’innovation, et historiquement, les percées les plus marquantes des débuts de l’informatique ont été accomplies pour un bénéfice plus large
    • L’auteur veut que tout, des langages et paradigmes de programmation à l’architecture, jusqu’à chaque ligne de code et chaque syntaxe, soit déterminé par la raison d’être du système en cours de construction
    • Et il souhaite que cette raison soit le reflet d’un besoin réel préexistant, et non de pseudo-indicateurs business absurdes qui n’existent que pour eux-mêmes

L’avis de GN⁺

  • Beaucoup d’ingénieurs logiciel semblent éprouver du scepticisme face à l’ambiance actuelle du secteur, centrée uniquement sur l’amélioration des compétences techniques ou sur l’avancement de la technologie elle-même. Je partage l’idée qu’il est plus important d’utiliser la technologie pour résoudre de vrais problèmes sociaux et créer de la valeur.
  • L’innovation technologique en elle-même est importante, mais réfléchir à son impact concret sur le monde semble aussi faire partie du rôle essentiel de l’ingénieur. Plus que d’écrire beaucoup de code rapidement, il paraît nécessaire de s’interroger sur sa finalité et sa direction.
  • Les problèmes de culture dans les grandes entreprises ou les startups peuvent être difficiles à changer du point de vue d’un ingénieur individuel. Mais selon ses valeurs personnelles, choisir l’organisation à laquelle on veut appartenir, ou tenter de résoudre des problèmes autrement avec des proches, peut aussi avoir du sens.
  • Il est préoccupant que la logique du capital ait une influence excessive sur la direction que prend le développement technologique. Il semble nécessaire de réfléchir à la manière dont la technologie peut contribuer au consensus social ou à l’intérêt public, et de faire des efforts conscients pour aller dans cette direction.
  • Il serait souhaitable de voir se développer davantage d’espaces où des ingénieurs, comme l’auteur, qui remettent en question les pratiques du secteur et cherchent des alternatives, puissent se solidariser et échanger. J’espère voir grandir une communauté qui œuvre ensemble à construire des technologies durables et socialement porteuses de sens.

1 commentaires

 
GN⁺ 2024-04-22
Avis sur Hacker News

En résumé, voici l’idée :

  • Dans le monde de l’entreprise, on veut des développeurs capables de produire rapidement des fonctionnalités répondant aux besoins métier, bien plus que des développeurs attachés à l’élégance ou à la beauté du code. Si un développeur n’apporte pas de valeur économique à l’entreprise, il est considéré comme un passif.
  • Le développement logiciel est avant tout une activité économique, et les développeurs produisent du code pour enrichir les actionnaires et la direction. Ceux-ci ne s’intéressent ni au travail réel des développeurs ni à l’idée du développement logiciel comme art ou artisanat.
  • Le secteur a été largement infiltré par des imposteurs. Des « faux rôles » comme product manager ou scrum master sont aussi apparus. Les ingénieurs compétents doivent soutenir les personnes incompétentes et les aider à faire semblant d’expérimenter la créativité, l’innovation, la recherche, la découverte et l’ingénierie.
  • Une personne ayant travaillé plus de 10 ans dans le développement logiciel en entreprise dit qu’elle ne se soucie plus désormais que du chèque correspondant à son salaire extrêmement élevé.
  • La programmation en elle-même est stimulante, mais en tant que métier, elle n’occupe qu’une petite part du temps. Le reste est absorbé par des réunions absurdes, de la planification, etc. Après la retraite, certains comptent programmer ce qu’ils veulent, uniquement pour le plaisir pur.
  • Pour travailler sur des projets porteurs de sens, il faut parfois renoncer au salaire annuel ou aux stock-options. C’est encore plus vrai si l’on travaille dans l’adtech ou dans une startup IA.
  • Parmi les solutions proposées : le développement indépendant, la création de ses propres idées, la vente directe aux consommateurs. Monter sa propre entreprise est aussi une option.