20 ans d’expérience (4) : informatique

Voici le dernier article consacré à mes 20 ans d’expérience. Je vous invite à lire les trois précédents, dédiés aux soft skills, au management et au recrutement.

Comme pour les autres articles, je vais juste parler de ce qui me passe par la tête en regardant les deux décennies passées, cette fois-ci sur des choses relatives à l’informatique au sens large.

Les évolutions technologiques entrent lentement dans les mœurs

En 2001, tout le monde n’avait pas un ordinateur chez soi, encore moins avec un accès à internet. Aujourd’hui, tout le monde a un ordinateur dans la poche, avec un accès rapide à toutes les données de la planète.

Quand de nouveaux usages apparaissent, certaines personnes en abusent, jusqu’à ce qu’ils soient entrés dans les mœurs.
Dans l’entreprise où j’ai commencé à travailler, les téléphones étaient surveillés à cause d’une personne qui passait de nombreux appels personnels à l’étranger, ce qui finissait par coûter très cher à la société. À l’époque, le téléphone était autrement plus coûteux que maintenant (de nos jours, avec un forfait adapté, on peut passer ce type d’appel en illimité depuis notre téléphone portable personnel).

À la même époque, j’ai évidemment vu des gens passer beaucoup de temps sur le web au travail, simplement parce qu’ils n’y avaient pas accès chez eux. Cela ne pose aucun souci quand l’usage est raisonnable, mais c’est plus problématique quand ça occupe la moitié de la journée.

Par la suite, j’ai travaillé dans une startup qui a accueilli un stagiaire qui était un peu spécial : lui, il passait beaucoup de temps à discuter en ligne avec ses potes (à l’époque il devait utiliser ICQ ou MSN Messenger). Mais vraiment beaucoup de temps, sa productivité était proche du zéro absolu.
Une fois, je lui ai dit qu’il n’était “pas très discret”, pensant qu’il comprendrait qu’il devrait limiter le temps qu’il y passait. Alors pour être plus discret, il écrivait ses messages dans son code source, faisait un copier-coller rapide dans son logiciel de chat, puis effaçait le texte dans le code (le but étant de faire apparaître le moins possible l’interface de chat). Il ne faut pas être bien malin…
Bien sûr, il s’est fait remonter les bretelles par le patron, il doit s’en souvenir encore.

Quelques années plus tard, c’est l’arrivée de Facebook qui a créé des abus. À ce moment-là, une autre équipe de mon entreprise avait pas mal de stagiaires, tous réunis dans un open-space. C’était une période de découvertes, de challenges, de partages d’applications FB, et ainsi de suite. Je me souviens que pendant une semaine ou deux, leur productivité avait facilement été divisée par 3 ou 4…

Le mieux est l’ennemi du bien

Il y a une quinzaine d’années, nous avions eu un stagiaire qui était très compétent, mais un peu trop confiant. Une fois, il fallait répondre à un besoin un peu pointu, pour lequel il fallait se creuser la tête avant de lancer le développement. Lui, il voulait développer un algorithme génétique, qui allait automatiquement essayer plusieurs approches pour déterminer la meilleure réponse au problème.

J’ai vite mis le holà sur cette idée : le temps de développer son algo génétique, il aurait le temps de développer une première version d’un algo standard, de le tester, de l’optimiser et de le faire tourner en production ; les 5% de performance que pouvait hypothétiquement faire gagner sa méthode auraient été une goutte d’eau par rapport au temps perdu à la mettre en œuvre.

À peu près à la même période, un autre stagiaire devait développer une bibliothèque pour remplir un besoin quelconque. Mais pour bien faire les choses, il a voulu rendre ses objets génériques et configurables. Au bout du compte, sa bibliothèque était tellement générique qu’elle remplissait autant le besoin que si on utilisait directement les fonctions de base du langage…

Un peu de pragmatisme, ça fait toujours du bien.

Nom de domaine personnel

Ça fait maintenant 21 ans que j’ai acheté mon premier nom de domaine. C’était en 2000, et à l’époque c’était assez rare (et plus cher que maintenant, sans être vraiment ruineux pour autant). C’est mon domaine principal, celui qui me sert notamment pour mon adresse email personnelle. Je pense que c’est l’un des meilleurs achats de ma vie.

Ces deux dernières décennies, j’ai vu des gens changer plusieurs fois d’adresse email. Au début, c’était au fil de leurs changements de fournisseur d’accès à internet (les adresses hébergées par Free, Orange, etc.) ; n’oublions pas que de nombreux fournisseurs se sont créés dans les années 2000, puis la consolidation du marché a fait qu’ils ont disparu (Club Internet et Cegetel ont été rachetés par SFR ; Alice, Freesbee et Liberty Surf ont été rachetés par Free, et ainsi de suite). Ensuite, les gens se sont dirigés vers des fournisseurs de messagerie (Yahoo! Mail, Hotmail, Gmail), qui semblaient plus stables que les premiers… Mais combien de personnes sont passées aussi de l’un à l’autre ?

Moi j’ai toujours regardé ça de loin. Le fait d’avoir mon propre domaine m’a toujours rendu indépendant de la solution technique. J’en ai d’ailleurs changé à plusieurs reprises sur cette période : hébergement sur un serveur chez moi, puis un serveur dédié, puis chez un fournisseur de messagerie gratuite, et enfin chez un fournisseur professionnel. Mais c’est transparent pour les gens qui m’écrivent.

Attention à ne pas mal utiliser l’open source

Dans l’une de mes entreprises, nous avions déployé un CRM open source pour répondre aux besoins de l’équipe commerciale. C’était un outil souple et fiable, bien qu’un peu lent et avec une ergonomie un peu rustique ; mais l’un dans l’autre il faisait son boulot.

Un jour, on s’est retrouvé face à un besoin très spécifique, un cas particulier d’une fonctionnalité existante. Malheureusement, ce cas précis n’était pas rempli par le CRM, et il n’existait pas (encore) de plugin répondant au besoin.

Mon administrateur système de l’époque a pris le temps de chercher sur internet, et il a trouvé sur un forum dédié les quelques dizaines de lignes de code qu’il fallait modifier pour pouvoir gérer le cas en question.
Je n’étais pas à l’aise avec cette solution. Je lui ai expliqué que je ne voulais pas qu’on modifie le code à la main ; au fil du temps, ce CRM était devenu l’outil sur lequel se basait toute l’activité commerciale, et on ne pouvait pas se permettre le moindre bug. On prenait notamment soin de tester et appliquer toutes les mises à jour quand elles sortaient, pour éviter les failles de sécurité et améliorer les performances.

Modifier le code à la main, ça impliquait de ne plus pouvoir utiliser la fonctionnalité de mise à jour fournie par le CRM. Ou alors, il aurait fallu appliquer le patch à chaque fois, en prenant le risque que cette modification ne fonctionne plus sur une version ultérieure. Donc ça faisait prendre soit un risque sur les mises à jour, soit un risque sur la fonctionnalité.

Mon administrateur système s’était agacé, disant qu’il ne comprenait pas pourquoi on utilisait du logiciel libre si on s’interdisait de mettre les mains dans le cambouis. Je pense qu’il voulait bien faire en apportant une solution au problème qui lui avait été présenté, et en même temps, il avait envie de jouer avec le code ; en tout cas, il avait une vision à très court terme.

Je lui ai expliqué que l’open source apporte beaucoup de choses positives, pas uniquement la possibilité de modifier les logiciels pour les adapter à nos besoins.
En l’occurrence, modifier le code aurait créé une dépendance à gérer à la main ad vitam ; ça aurait été une erreur dont on aurait dû supporter les conséquences sur le long terme.

L’informatique, ça bouge vite et ça reste immobile

Ce n’est pas la première fois que j’en parle sur ce blog, mais l’informatique ne va pas aussi vite qu’on se plaît à le dire. Alors oui, on est très fort pour inventer de nouvelles technos sans arrêt, en faisant croire qu’il faut se mettre à la page très vite sinon on va être obsolète encore plus vite.

Sauf que dans les faits, ça ne va pas si vite que ça.

Évidemment, on ne développe plus aujourd’hui comme on le faisait il y a 40 ans. Mais on n’est pas obligé de surfer continuellement sur les dernières technos. Le fait qu’un nouveau truc semble hype ne veut pas dire que ce qu’on faisait avant ne fonctionne plus − ni que le nouveau truc sera encore là dans quelques années.

À la fin des années 2000, à en croire certains, vous n’aviez rien compris si vous n’aviez pas un projet de Rich Internet Application avec Adobe AIR (entre nous, tous ceux qui en parlaient n’ont jamais dépassé le stade du prototype). Ou encore, un magazine informatique français a essayé de pousser le langage Rebol, allez savoir pourquoi (je pense que ce langage est utilisé par 3 personnes sur la planète).
Je n’ai jamais compris l’engouement pour l’Objective-C − dont je trouve la syntaxe affreuse − qui était incontournable (obligatoire, en fait) pour développer sur Mac OS X et sur iOS… Bon, depuis ils ont sorti Swift pour une bonne raison, et l’Objective-C a dégringolé.
En 2010, bon nombre de blogueurs clamaient que l’avenir était forcément de développer en Ruby avec une base MongoDB. Puis le NodeJS et le Python ont repris le dessus… Jusqu’à quand ? (maintenant Ruby est même considéré comme un langage en train de mourir)
En remontant plus loin, je me souviens qu’en 1995 ou 1996, certains disaient qu’en 2000 on serait tous en train de développer en Java sous Taligent. J’en rigole encore quand j’y pense.

De très nombreux logiciels d’importance majeure sont développés en C et en C++, comme il y a 25 ans. Parce que ce qui marchait alors marche toujours maintenant.
Basiquement, la majorité des sites web sont développés de nos jours en utilisant les mêmes principes qu’il y a 15 ans, tout en considérant que c’est fait dans les règles de l’art.
Par contre, on a maintenant à notre disposition des moyens en intelligence artificielle dont on n’osait rêver il y a 10 ans.

Un autre exemple de cycle concerne les microprocesseurs. Dans les années 1980, le constructeur britannique de micro-ordinateurs Acorn avait créé le processeur ARM pour ses ordinateurs Archimedes. Ce processeur 32 bits avait la puissance d’une puce haut de gamme (comme le 80386 d’Intel), mais pour une fraction de son prix, le plaçant en concurrence avec le 68000 de Motorola utilisé dans les Apple Macintosh, les Comodore Amiga et les Atari ST.
Sauf que dans les années 1990, le couple “Wintel” (compatibles PC sous Windows avec un processeur Intel) écrasa tout sur son passage, et les Archimedes ont disparu malgré les nombreuses qualités de leur processeur. Parmi celles-ci, sa faible consommation électrique lui ouvrit la porte des PDA, puis des téléphones portables ; et avec l’augmentation de leur puissance, les ARM ont équipé les tablettes, et aujourd’hui les Mac d’Apple.
Si ça, ce n’est pas un fabuleux pied de nez à l’histoire technique…

Pour finir sur le sujet, dans l’une des entreprises où j’ai travaillé, une personne de l’équipe éditoriale a fait une reconversion professionnelle en allant vers le développement informatique. Il s’est autoformé avant de faire une formation ultra-courte de quelques mois. Mais avec juste ça, il se voyait assez compétent pour dire à qui voulait l’entendre que je suis un mauvais directeur technique, complètement “has been”.
Mmh… J’ai mené pas mal de projets informatiques, certains sous licence libre, certains gratuits, certains qui n’ont pas trouvé d’utilisateurs, d’autres qui tournent encore en production 10 ou 15 ans après…
Le fait de ne pas avoir imposé dans notre entreprise des technos à la mode au fur et à mesure qu’elles apparaissaient, ce n’est pas être mauvais, c’est être pragmatique. Et accessoirement, ça a payé son salaire pendant plusieurs années.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Notifiez-moi des commentaires à venir via email. Vous pouvez aussi vous abonner sans commenter.