Aller au contenu

Vieux code, peur du changement et poésie de la reconstruction

Je connaissais un gars en 2010 qui écrivait encore du code ASP. Il savait que la plateforme était obsolète depuis des années. Il savait qu’il serait inemployable s’il ne se mettait pas à jour. Mais le changement le pétrifiait. L’idée même d’apprendre quelque chose de totalement nouveau le secouait d’une manière que je ne comprendrai jamais vraiment.

Je comprends un peu : quand on apprend un langage ou un ensemble d’outils, on investit son temps et son argent dans sa capacité à maîtriser ce truc. Mais c’est quoi l’intérêt de se lancer là-dedans si on fixe une limite aux défis qu’on est prêt à relever ?

Et ouais, ça craint quand les instances dirigeantes décident que vos outils ne seront plus utilisés sur le marché. J’ai détesté quand ils ont décidé qu’il n’y aurait plus d’applis Perl d’entreprise, j’ai détesté quand VB est devenu obsolète, j’ai détesté devoir lâcher Flash.

Tout ça semble tellement arbitraire. On a l’impression de ne pas être vraiment aux commandes, mais d’être soumis aux caprices de corporations sans visage qui contrôlent notre sort à des milliers de kilomètres. C’est un sentiment bien réel. Mais c’est le jeu. C’est ce qu’on accepte en signant.

Traiter ses compétences comme un investissement

Ce qui m’a aidée, c’est de voir mes compétences comme un portefeuille d’investissement. Il me faut W mois pour apprendre la compétence X, ce qui rapportera Y en salaire et revenus sur une période Z. Et chaque chose que j’apprends réduit le temps nécessaire pour la suivante. Facile.

L’autre truc que j’ai toujours fait, c’est de bâtir toutes ces combinaisons de compétences bizarres et intéressantes que les gens recherchent tout le temps, mais que personne n’a vraiment. Je suis cette personne. Je suis une petite licorne du code. Je peux faire quasiment n’importe quoi si c’est intéressant. L’ennui, c’est ma kryptonite.

Mais plus je fais ça, plus je suis convaincue que je suis un genre de masochiste unique, et qu’il n’y a pas vraiment beaucoup de gens avec mon profil mental et émotionnel dans le milieu. Par contre, il y a plein de gars comme David. Je n’imagine pas comment ils en arrivent là, mais ils existent !

Lire le vieux code

Bref, si je pense à tout ça, c’est parce que je me tape une tonne de code ASP vieux de 23 ans. Écrit activement sur toute cette période, par toute une bande de David. Des gars exactement comme lui. Ça se voit. La qualité du code est atroce, même en tenant compte de ce que c’est.

La seule façon d’obtenir un code pareil, c’est la peur et/ou l’ignorance. Vous savez, pour un truc conçu pour être lu par des machines... c’est dingue tout ce qui transparaît en termes d’émotions, même quand on ne le fait pas exprès. Chaque appli a ce genre de cœur qui bat, je pense.

Je n’arrivais pas à dormir, et je n’ai pas envie de faire de l’art ce matin. Alors je me suis dit que j’allais jeter un œil pendant que j’écris mon joyeux petit processeur de code, celui qui va tout effacer. Mon approche est plutôt intéressante.

Préserver le workflow, repenser l’implémentation

Plutôt que d’écrire un convertisseur de code direct, ce qui me donnerait du mauvais code moderne pour du mauvais code ancien, je commence par cataloguer ce qui est là. Le cœur du sujet. Les trucs de base de données et d’API. Et je m’assure que le code moderne copie le workflow, mais pas forcément via un portage 1:1.

Il leur faudra cinq ans pour faire les tests de bout en bout sur ce monstre, lol. Mais ça, ce n’est clairement pas mon problème. Du moins pour l’instant, alors que je m’occupe de la partie fun avec un café à 5h du mat'. Il y a une sorte de poésie là-dedans, je pense. Mais ça ne rime pas.