Programmer est un jeu d’enfant. Ou plutôt, c’est ce que veulent nous faire croire les gourous numériques du monde entier. De l’organisation à but non lucratif Code.org promettant que "Tout le monde peut apprendre" au PDG d’Apple Tim Cook affirmant qu’écrire du code est "amusant et interactif", l’art et la science de la création de logiciel est désormais aussi accessible que l’alphabet.
Malheureusement, ce portrait optimiste n’a aucun rapport avec la réalité. Pour commencer, la disposition mentale des programmeurs est assez exceptionnelle. En plus d’être très analytiques et créatifs, les développeurs nécessitent une concentration presque surhumaine pour gérer la complexité de leurs tâches. Une attention aux détails maniaque, la négligence est interdite. Atteindre ce niveau de concentration demande un état mental qu’on appelle être "dans la zone", une relation quasi-symbiotique entre l’humain et la machine, augmentant la performance et la motivation.
Coder n’est pas le seul travail demandant une concentration intense. Mais vous n’entendrez jamais quelqu’un dire que la neurochirurgie est "amusante", ou que l’ingénierie des structure est "facile". Quand on en vient à la programmation, pourquoi les décideurs et les technologistes font mine du contraire ? D’une, cela contribue à appâter les gens vers cette discipline à une époque où (selon les mots de l’investisseur et entrepreneur Marc Andreessen) le logiciel "est en train de manger le monde" – et ainsi, en agrandissant le bassin de main-d’œuvre, la machine continue à tourner et les salaires restent sous bon contrôle. Une autre raison est que le mot lui-même, "coder", sonne routinier et répétitif, comme s’il existait une sorte de clé que les développeurs appliquent par habitude pour résoudre n’importe quel problème donné. Le fait que Hollywood ait, dans sa typologie, entériné le prototype du "codeur" en tant que mésadapté social, hacker codant avant toute réflexion, inévitablement blanc et mâle, doué du pouvoir de repousser les Nazis ou d’inflitrer la CIA, n’aide pas.
Insister sur l’aspect glamour et amusant de la programmation est le mauvais moyen de familiariser les enfants avec l’informatique. C’est une insulte à leur intelligence et cela fait germer dans leur esprit l’idée pernicieuse que la rigueur n’est pas nécessaire pour progresser. Comme toute personne ayant été un minimum exposée à la conception de logiciels le sait, derrière chaque minute passée à coder se cache une heure de recherche.
Il est mieux d’admettre que la programmation est compliquée, d’un point de vue technique et éthique. À l’heure actuelle, les ordinateurs ne peuvent qu’exécuter des ordres, à différents niveaux de sophistication. C’est donc aux développeurs d’être précis : la machine fait ce vous lui dites, pas ce que vous vous imaginez. De plus en plus de "décisions" sont confiées à des logiciels, dont certaines qui sont des questions de vie ou de mort : pensez aux voitures autonomes, pensez aux armes semi-autonomes, pensez à Facebook et Google déduisant votre état civil, votre état psychologique et physique avant de les vendre au plus offrant. De plus, nous encourager à explorer ce qui se cache sous la surface de ces procédés est rarement dans l’intérêt des entreprises et gouvernements.
Tous ces scénarios sont construits sur des fondations extrêmement techniques. Mais nous ne pouvons pas y faire face en ne répondant qu’aux questions techniques. Programmer n’est pas un détail pouvant être laissé aux "techniciens" sous le fallacieux prétexte que leurs choix seront "scientifiquement neutres". Les sociétés sont trop complexes : l’algorithmique est politique. L’automatisation a déjà porté un sérieux coup à la sécurité de l’emploi des travailleurs peu qualifiés. Les cols blancs seront les prochains. Les géants numériques d’aujourd’hui fonctionnent avec une fraction des employés des géants industriels d’hier. L’ironie est que ceux-ci, en encourageant plus de gens à travailler dans la programmation, les pousse vers leur perte.
Dans un monde de plus en plus complexe et connecté, où le rôle que jouent les logiciels dans la vie quotidienne est de plus en plus important, il est irresponsable de présenter la programmation comme une activité légère. Le logiciel n’est ni de simples lignes de code, ni platement technique. Dans quelques années seulement, comprendre la programmation sera une part indispensable d’une citoyenneté active. L’idée que la programmation propose un chemin sans obstacle vers le progrès social et personnel ne bénéficie qu’à la techno-ploutocratie grandissante qui s’isole derrière leur propre technologie.
Traduit de l’anglais. Billet original de Walter Vannini, publié sur aeon sous licence CC BY ND. Source : https://aeon.co/ideas/coding-is-not-fun-it-s-technically-and-ethically-complex