ChatGPT Isn’t Coming for Your Coding Job

Les ingénieurs logiciels ont rejoint les rangs des éditeurs de copies, des traducteurs et d'autres qui craignent qu'ils soient sur le point de être remplacé par Ai génératif. Mais il pourrait être surprenant d'apprendre que les codeurs ont déjà été menacés. Les nouvelles technologies ont longtemps promis de «perturber» l'ingénierie, et ces innovations n'ont toujours pas réussi à se débarrasser de la nécessité des développeurs de logiciels humains. Si quoi que ce soit, ils ont souvent rendu ces travailleurs beaucoup plus indispensables.

Pour comprendre d'où provient la fin des programmeurs – et pourquoi il est exagéré – nous devons regarder en arrière l'évolution du codage et de l'informatique. Le logiciel était une réflexion après coup pour de nombreux pionniers informatiques précoces, qui considéraient l'architecture matérielle et systèmes les véritables activités intellectuelles sur le terrain. Pour l'informaticien John Backus, par exemple, appeler des codeurs «programmeurs» ou «ingénieurs» s'apparentent à relancer les «gardiens» des concierges, une tentative de prétendre que leur travail subalterne était plus important qu'il ne l'était. De plus, de nombreux premiers programmeurs étaient des femmes et des collègues sexistes considéraient souvent leur travail comme un secrétariat. Mais alors que les programmeurs auraient pu tenir une position modeste aux yeux de quelqu'un comme Backus, ils étaient également indispensables – ils ont sauvé des gens comme lui d'avoir à se soucier de l'activité routine de programmation, de débogage et de tests.

Même s'ils ont effectué un ROLE vital – si sous-estimé -, les ingénieurs logiciels s'intègrent souvent mal dans les hiérarchies de l'entreprise. Au début des ordinateurs, ils étaient souvent autodidactes et travaillaient sur des programmes qu'ils avaient conçus seuls, ce qui signifiait qu'ils n'avaient pas une place claire au sein des départements préexistants et que les gérer pourraient être compliqués. En conséquence, de nombreuses caractéristiques modernes du développement de logiciels ont été développées pour simplifier et même éliminer les interactions avec les codeurs. Fortran était censé permettre aux scientifiques et à d'autres d'écrire des programmes sans aucun soutien d'un programmeur. La syntaxe anglaise de Cobol était destinée à être si simple que les managers pouvaient contourner complètement les développeurs. Le développement basé sur la cascade a été inventé pour normaliser et faire de la routine le développement de nouveaux logiciels. La programmation orientée objet était censée être si simple que tous les utilisateurs d'ordinateurs pouvaient finir leur propre génie logiciel.

Dans certains cas, les programmeurs étaient résistants à ces changements, craignant que des programmes comme les compilateurs ne les rendent sans travail. En fin de compte, cependant, leurs préoccupations n'étaient pas fondées. Fortran et Cobol, par exemple, se sont avérés être des langages durables à longue durée de vie, mais ils n'ont pas remplacé les programmeurs informatiques. Si quoi que ce soit, ces innovations ont introduit une nouvelle complexité dans le monde de l'informatique qui a créé une demande encore plus grande de codeurs. D'autres changements comme la cascade ont aggravé les choses, créant des processus bureaucratiques plus compliqués qui ont rendu difficile l'offre de grandes caractéristiques. Lors d'une conférence parrainée par l'OTAN en 1968, les organisateurs ont déclaré qu'il y avait une «crise» en génie logiciel. Il y avait trop peu de gens pour faire le travail et de grands projets ont continué à s'arrêter ou à subir des retards.

Gardant cette histoire à l'esprit, affirme que Chatgpt remplacera tous les ingénieurs logiciels semblent presque assurément mal placés. Le licenciement des ingénieurs et le lancement de l'IA au développement des fonctionnalités bloquées entraînerait probablement une catastrophe, suivie de la réhabilitation de ces ingénieurs en peu de temps. Des suggestions plus raisonnables montrent que les modèles de grands langues (LLM) peuvent remplacer certains des travaux d'ingénierie plus ternes. Ils peuvent proposer des suggestions ou des méthodes de saisie semi-automatique pour trier les données, si elles sont correctement invitées. En tant qu'ingénieur, je peux imaginer utiliser un LLM pour «canard en caoutchouc» un problème, ce qui lui donne des invites à des solutions potentielles que je peux examiner. Il ne remplacerait pas les conférences par un autre ingénieur, car les LLM ne comprendraient toujours pas les exigences réelles d'une fonctionnalité ou des interconnexions dans une base de code, mais cela accélérerait ces conversations en se débarrassant du travail occupé.

Chatgpt pourrait encore bouleverser le marché du travail technologique grâce aux attentes d'une plus grande productivité. S'il élimine certaines des tâches de développement les plus routinières (et met le débordement de pile en faillite), les managers peuvent être en mesure de faire plus de demandes des ingénieurs qui travaillent pour eux. Mais l'histoire de l'informatique a déjà démontré que les tentatives de réduction de la présence de développeurs ou de rationaliser leur rôle finissent par ajouter de la complexité au travail et rendre ces travailleurs encore plus nécessaires. Si quoi que ce soit, Chatgpt devrait éliminer le travail plus terne de codage de la même manière que les compilateurs ont mis fin à la corvée de devoir travailler en binaire, ce qui permettrait aux développeurs de se concentrer plus facilement sur la construction de l'architecture réelle de leurs créations.

L'informaticien Edsger Dijkstra a observé une fois: «Tant qu'il n'y avait pas de machines, la programmation n'était pas du tout un problème; Lorsque nous avions quelques ordinateurs faibles, la programmation est devenue un problème doux, et maintenant nous avons des ordinateurs gigantesques, la programmation était devenue un problème tout aussi gigantesque. » Nous avons introduit de plus en plus de complexité aux ordinateurs dans l'espoir de les rendre si simples qu'ils n'ont pas du tout besoin d'être programmés. Sans surprise, lancer la complexité à la complexité n'a fait qu'aggraver les choses, et nous ne sommes pas plus près de laisser les gestionnaires découper les ingénieurs logiciels. Si les LLM peuvent faire correspondre les promesses de leurs créateurs, nous pouvons très bien le faire accélérer davantage.


Opinion câblée Publie des articles par des contributeurs externes représentant un large éventail de points de vue. Lire plus d'opinions ici. Soumettre un éditorial à idé[email protected].