J’ai découvert ce texte au hasard d’une signature, dans un message sur ./ - Slashdot.org : “In Software Engineering, You Are Supposed To Go Mad !” - J’ai traduit ce court texte en français. Quel intérêt ? Aucun, c’est juste pour le plaisir. Commentaires, corrections, et surtout, autres anecdotes bienvenues !!!

LE VIEUX PROGRAMMEUR

Ce texte est de Targo Tennisberg, la version originale se trouvait ici : The Old Programmer - mais le temps passe !

Introduction

Cette histoire a été écrite, à l’origine, en Janvier 1998, à Taru, en Estonie. Elle est basée sur le folklore estonien et sur la vie de tous les jours dans la société où je travaillais à l’époque. Nous faisions beaucoup d’analyse système, d’où les mentions des outils et des diagrammes CASE(1). C’était une rude compagnie, pas du genre de ce qu’on peut voir dans les sociétés de nos jours, et nous passions vraiment des nuits dans des sacs de couchage de façon assez régulière. Et nous avons réellement eu un gars qui donnait des décharges électriques à ses collègues. Je pourrai vous raconter de longues histoires à ce sujet…


Le nouveau gars fut amené dans la société à la tombée de la nuit.

“Alors, ils t’ont fait signer,” lui dit un programmeur, “Tu devais certainement être bourré, comme nous tous. Qui viendrait dans une société pareille en étant à jeun !”

“Tu sais ce qu’il est arrivé au gars qui avait ta place avant ?” lui demanda un autre. “Le chef de projet l’a tué. Il l’a tabassé et tué sur place. Beaucoup ont trouvé la mort par ses poings.”

“Ouais, c’est comme ça que ça doit se passer, non ?” dit alors le nouveau, calmement. “Qui a déjà vu une société où l’on ne tuait pas ! Je suis un vieux hacker, j’ai testé tous les systèmes d’exploitation moi-même, et il y a toujours eu des bagarres. Dans le temps, les hommes étaient de vrais hommes ! Tout le monde se promenait avec des cables haute tension dans les mains, électrocutant les autres chaque fois qu’ils le pouvaient !

J’ai été le dernier a rester vivant, j’ai fini le projet, et j’ai été pris pour un nouveau boulot. Ouais, je les connais, les usages de l’ingénierie logicielle !”

Et il se glissa dans son sac de couchage et s’endormi aussitôt, en ronflant bruyamment.

Le lendemain matin, le chef de projet demanda à voir le nouveau.

“Où se trouve-t-il ?” demanda-t-il à l’analyste. “Je vais lui expliquer les règles qui ont cours dans cette société.”

L’analyste rougit et baissa les yeux.

“Ben… comment dire… il est sur IRC (2)… je lui ai dit, mais…”

“QUOI !!” hurla le chef de projet. “A rien foutre ! Mais il croit que cette société est une maison de repos ou quoi ! Par mille pointeurs non initialisés ! Montrez-moi où il est !”

Le programmeur était effectivement sur IRC, et rigolait fortement de temps à autre.

En voyant le chef de projet, il sourit d’un air un peu endormi.

“Je me remémorais le temps où j’étais jeune,” lui dit-il. “Les hommes étaient faits d’acier pur. Il y a eu des tonnes de fois où j’ai du trouver des bugs dans le code machine brut. Un jour j’en ai trouvé un vraiment récalcitrant. Bon dieu ! Trois fois j’ai du tout recompiler. Mais finalement, j’ai été son pire cauchemar !”

“Quoi !” dit le chef de projet. “Mais comment oses-tu raconter ces histoires, espèce de malotru !”

“Eh là !” dit le vieux programmeur en colère, “Tu vas commencer par la fermer, quand tu parles à un vieux hacker. Je n’ai pas encore fini. Il y a eu une autre fois où on a du patcher un moteur de base de données. Tout le groupe est devenu fou à cause de ça, mais finalement, on a fini par trouver un enregistrement interressant. “Viens là, vieille carne” que j’ai dit à la base de donnée, “Maintenant, je vais te réduire en pièces !” C’etait un moment dont je me souviendrai toujours.”

Le chef de projet écoutait et devenait fou de rage.

“Mais tu sais à qui tu parles !” cria-t-il. “Tu parles à ton chef de projet en personne !”

“Tu n’es pas un chef de projet ni quoi que ce soit.” lui répondit le vieux programmeur. “J’ai vu des chefs dans ton genre un sacré paquet de fois par le passé. Tu sais, à l’époque, on avait des vrais chefs de projets. Ils bondissaient dans les couloirs, les yeux exorbités, et juraient tant et si bien que toutes les machines subissaient des erreurs de protection générale. Les petits bricolos dans ton genre n’avaient même pas le droit de venir au même étage, parce que cela portait malheur. File dans ton bureau et restes-y ; je vais tout réparer ici. Je connais le C++ comme ma poche.”

“Eh, toi, là,” dit-il à l’analyste. “Combien d’outils de CASE tu utilises ?”

“Un,” répondit l’analyste, perplexe.

Le vieux programmeur hocha la tête.

“Qui a jamais vu une chose pareille !” dit-il. “Il doit y avoir au moins sept outils de CASE différents et tous les diagrammes doivent être refaits douze fois chaque jour. C’était toujours comme ça, dans le bon vieux temps. Envoyez tous les hommes au dessin !”

“Je pense que…” commença le chef de projet confus, mais le vieux programmeur lui ordonna de fermer son clapet.

Puis il utilisa rapidement toute la place disque disponible sur le serveur de fichier et ordonna au DF (3) d’acheter du nouveau matériel.

“De cette façon, nous n’allons pas tarder à manquer d’argent,” osa dire le DF.

“Les sociétés ne sont pas sensées avoir autant d’argent,” répondit fermement le vieux programmeur. “A l’époque, quand je codais sur FreeBSD, personne n’a été payé le moindre centime pendant sept mois. Mais qu’est-ce que vous tous connaissez à l’ingénierie logicielle ?”

“A qui achetez-vous le logiciel ?” demanda-t-il alors à l’analyste.

“Microsoft.” répondit celui-ci.

“Effacez-moi ça sur le champ,” dit le vieux hacker. “Qui a jamais vu quelqu’un utiliser du logiciel de chez Microsoft ! Il est clair que cela ne peut apporter que de funestes augures. Tous les vieux programmeurs savent que les logiciels Microsoft sont peuplés d’esprits malins. Enlevez-moi ces logiciels des disques durs, vite ! Je me souviens d’un cas où un autre de ces stupides chefs de projet avait dit aux gars d’installer des logiciels Microsoft sur leurs ordinateurs. Les démons se sont glissés hors des ordinateurs, et ont sucé le sang des gars dans leurs sacs de couchage, la nuit. Je suis le seul qui s’en soit sorti vivant.”

Les employés, horrifiés, reformatèrent tous les disques durs.

“Bon dieu de bon dieu !” cria le chef de projet, en état de choc. “Maintenant nous ne pourrons plus tenir les délais ! Je deviens fou !”

“Dans l’ingénierie logicielle, vous êtes supposés devenir fous, il n’y a pas d’autre choix,” acquiesca le vieux programmeur. “Dans le bon vieux temps, on a eu un cas où tous les gars de la société sont devenus fous.”

Le chef de projet gémit et s’échappa vers son bureau.

Mais le vieux programmeur tournait alentour et finalement trouva le bureau de l’administrateur système.

“Le serveur ne marche pas correctement.” dit-il après un moment de réflexion.

“J’ai une interface graphique ici qui surveille le serveur,” repondit l’administrateur.

Le vieux hacker soupira.

“Alors, c’est ça,” dit-il. “Une interface graphique ! Qui a jamais vu une chose pareille ! Personne n’avait d’interface graphique dans le bon vieux temps. La ligne de commande, c’est tout ce dont un hacker a besoin. Les interfaces graphiques ne font que d’induire les gens en erreur.”

Il poussa l’administrateur, effaça X-Window, et, fatigué par son dur labeur, alla se coucher.

Quelques instant plus tard, la secrétaire avertit tout le monde qu’il allait y avoir une coupure de courant. Le chef de projet, dont le visage indiquait que les dernières heures n’avaient pas été des plus faciles, sortit de son bureau et dit à tout le monde d’enregistrer son travail.

“Foutaises !” s’exclama le vieux programmeur, “Qu’il en soit ainsi ! Fermez tous vos clapets, je m’occupe des données !”

Bien sur, le courant fut coupé et les données furent détruites.

La société collaborait avec Microsoft, et des représentants de Microsoft devaient vérifier l’état d’avancement du projet dans la soirée.

Mais l’administrateur ne put faire son travail, et les données ne purent être restorées. Les gens de chez Microsoft étaient très en colère.

“Maintenant, nous allons droit à la faillite,” se plaignit le PDG.

“Une société est destinée à la faillite,” dit le vieux programmeur, ne départissant pas de son calme. “Il n’y a pas de société qui ne fasse pas faillite ! Aussi longtemps que j’ai bossé dans ce secteur, les sociétés l’ont fait. Dans le bon vieux temps…”

Mais il ne put finir, car une troupe d’avocats de Microsoft arrivèrent à l’instant, s’emparèrent de lui et des autres, et les amenèrent à Bill Gates en personne.

Bill était assis sur son trône, resplendissant de dignité, et ajustait ses lunettes rondes.

“Rien de mauvais ne vous arrivera ici,” dit-il. “Vous allez juste devenir des codeurs sur mes projets, comme tout ceux qui ont mis les pieds dans mon domaine. A partir de maintenant vous serez tous mes serviteurs !”

Il y eu un moment de silence, et immédiatement après ils purent entendre la voix du vieux programmeur qui patchait MS Word. “Qui a jamais vu tourner Word sur un PC ? Word doit tourner sur des mainframes !”

“Ce ne serait pas le Vieux Programmeur ?” s’exclama Bill, clairement effrayé. “De nouveau ici !”

“Oui, c’est moi,” repondit le hacker. “Et pourquoi diable avez-vous des lunettes rondes ? Elles ont toujours été rectangulaires.”

“Emportez-le loin d’ici !” cria Bill. “Vite !!!”

Et les avocats emportèrent le Vieux Programmeur au loin.


Le jour d’après, comme il était assis devant un terminal et jouait au MUD (Multi-Users Dongeons, jeux de rôles), deux hommes rentrèrent dans la pièce.

“Notre société a besoin d’un programmeur expérimenté !” cria l’un deux.

“Me voici,” répondit le Vieux Programmeur, et il sortit avec les deux hommes.


(1) CASE : Computer Assisted Software Engineering - outil de mise au point de logiciels.

(2) IRC : Internet Relay Chat - serveur permettant des conversations en mode interactif.

(3) DF : Directeur Financier.