Le sens de la « technologie ennuyeuse »
- Dire que NetBSD est « ennuyeux » est le plus beau des compliments
- Ce que veulent les administrateurs système, c’est de la prévisibilité, pas des surprises
- Une technologie ennuyeuse signifie qu’elle est très fiable
- C’est le résultat de nombreux tests et optimisations par beaucoup de personnes
- Le risque de comportements inattendus ou d’un manque de documentation est faible
- En cas de problème, il existe une communauté ou des ressources pour obtenir de l’aide
La complexité de l’environnement technique
- La technologie n’existe pas seule et interagit avec de nombreux systèmes
- Plus il y a de composants, plus la probabilité de problèmes imprévus augmente
- Les nouvelles technologies ne sont pas toujours le meilleur choix, et des technologies éprouvées et stables peuvent être une meilleure option
- Il existe des cas où un cluster Kubernetes a été remplacé par quelques machines virtuelles pour améliorer la stabilité
Objections et interprétations autour de la « technologie ennuyeuse »
- L’argument de Robert Roskam
- L’hypothèse selon laquelle une technologie « ennuyeuse » = une technologie présente depuis longtemps peut être fausse
- L’universalité ne garantit pas à elle seule la compréhension
- Une ancienne technologie n’est pas toujours facile à maintenir (ex. : systèmes COBOL)
- Réponse
- Ce n’est pas parce qu’une technologie est ancienne qu’elle est ennuyeuse (ex. : Oracle est complexe et difficile à maintenir)
- BSD est une technologie ennuyeuse, mais elle n’est pas aussi répandue que Linux
- Ce qui compte, ce n’est pas l’âge mais la maturité (maturity)
Conclusion : technologie ennuyeuse = technologie mature
- Technologie ancienne ≠ technologie mature
- Technologie mature = technologie dont le code, la documentation, la communauté et l’expérience d’exploitation se sont accumulés
- Dire que NetBSD est ennuyeux est le plus grand des éloges, car cela signifie qu’il est fiable et stable
5 commentaires
L’expression « technologie ennuyeuse » peut donner une impression un peu négative, donc le terme « mature » me paraît convenir.
Oracle est complexe et difficile à maintenir 😢
Une relation ennuyeuse n’est pas une relation ancienne, mais une relation mature.
Cela me rappelle un article qui avait été publié auparavant sur GeekNews
Après 10 ans dans l’industrie, les sujets du développement logiciel qui m’ont fait changer d’avis (https://fr.news.hada.io/topic?id=19081)
Java est un excellent langage justement parce qu’il est ennuyeux
C’est ce texte qui me revient en tête.
Commentaires sur Hacker News
Si je pense que les technologies ennuyeuses sont bonnes, c’est parce qu’elles me permettent de me concentrer sur la vraie technologie du produit. En exploitant une app SaaS, j’ai le sentiment de faire un travail de pointe dans divers domaines liés au produit. Pour les éléments qui fonctionnent « en arrière-plan », comme la base de données ou le framework backend, je préfère qu’ils soient aussi ennuyeux et stables que possible. Quand on travaille seul sur un projet, le temps est extrêmement limité. Je préfère consacrer ce temps à développer de nouvelles fonctionnalités intéressantes du produit plutôt qu’à toucher à des parties dont les clients se moquent. Les clients ne savent pas et ne se soucient pas de savoir si j’utilise Deno ou Bun au lieu de Node, ou pnpm au lieu de NPM. Ce qu’ils voient, c’est à quel point mon app fonctionne bien et quelles fonctionnalités elle offre
Je suis d’accord avec cet avis, mais j’aimerais proposer, à partir de mon expérience personnelle, un point de vue inverse. Dans beaucoup de situations, quelqu’un qualifie son choix de « ennuyeux » lorsqu’il veut que l’organisation adopte sa propre préférence logicielle. En l’appelant ennuyeux, il présente sa préférence comme une décision mûre et évidente, acceptée par la majorité, tandis que tout le reste serait simplement des ingénieurs logiciels en train de courir après des objets brillants. La réalité est presque toujours plus complexe. Les deux solutions ont des avantages et des inconvénients. Elles impliquent des arbitrages entre des valeurs qui parlent plus ou moins à différentes personnes. Il faut se méfier de l’argument « c’est ennuyeux, donc naturellement meilleur ». Cela ne doit pas devenir une façon de remplacer la préférence des autres par la sienne sans discussion de fond. Sinon, ce n’est guère différent d’une autre tentative arrogante de gagner un débat sans avancer d’argument substantiel
J’aimerais ajouter « stable » à la notion de technologie « ennuyeuse ». En particulier, « stable » ne veut pas dire « ne plante pas », mais « ne change pas ». En général, on observe cela dans les choses anciennes et établies. Mais rien ne le garantit. C’est souvent le résultat d’actions précises de la part des mainteneurs de la technologie. On peut souvent l’expliquer en termes de rétrocompatibilité. C’est une action concrète que l’on peut poursuivre pour obtenir de la stabilité. Mais on peut aussi y voir une forte limitation du champ des possibles. Par exemple, nous aimons parler d’échelle, mais nous n’avons pas besoin de concevoir et de construire pour une échelle que nous ne verrons jamais
Le débat éternel n’oppose pas l’ancien au nouveau, ni l’ennuyeux à l’intéressant. La maturité reste de la maturité, quel que soit l’âge. Un système qui casse quand on met à jour des dépendances, qui introduit des comportements inattendus via des valeurs par défaut ambiguës, ou qui oblige à naviguer à travers des couches d’abstraction, n’est pas mature... (je regarde du côté de l’écosystème Spring et Java), c’est ancien et instable. La stabilité, la prévisibilité et une simplicité bien conçue définissent la maturité, pas l’âge à lui seul. Python est-il mature et ennuyeux ? Il y a des problèmes de toolchain et divers maux de tête... Des langages plus récents comme Go ou Rust résolvent tous ces problèmes de toolchain et les rendent vraiment ennuyeux de la meilleure façon possible
L’ennuyeux, c’est bien sauf si l’on ne cherche pas d’emploi. S’accrocher aux technologies ennuyeuses fait courir le risque de s’exclure progressivement du marché du travail. Le prochain employeur ne se souciera pas du fait que vous avez apporté une excellente valeur business. La plupart veulent des choses nouvelles et brillantes. En lisant les annonces de mon employeur actuel, je ne pense même pas que je serais embauché
Sur GitHub, il est difficile de distinguer un projet mature d’un projet mort. Quels que soient les objets des commits, ils signalent que quelqu’un surveille et maintient le projet, et que les nouveaux problèmes ont des chances d’être résolus rapidement. Cela signifie que le neuf aura toujours un avantage sur ce point
Personne n’a été promu ou embauché pour avoir utilisé des technologies ennuyeuses. Je pense que si je ne reçois pas de réponse à beaucoup de candidatures, c’est parce que la grande majorité de ce que j’ai fait est « ennuyeux », et que la majorité du code open source que j’ai écrit est en shell script. Tout fonctionne parfaitement, sans bugs ni coûts de maintenance, mais ce n’est pas séduisant. L’élitisme intellectuel a défini mon rôle (« DevOps Engineer », c’est littéralement « administrateur système du cloud », mais on ne peut pas le dire comme ça parce qu’on devrait en avoir <i>honte</i>) ; je suis convaincu que si mon CV contenait davantage « Go et Rust » que « Python et Shell », j’aurais été embauché immédiatement
Les technologies ennuyeuses permettent d’accomplir le travail et de se concentrer sur le problème que l’on essaie de résoudre, au lieu de faire des choses inutiles
J’allais lancer un Ask HN sur ce sujet, mais je pense que ce post est parfait pour poser ma question. Quelles sont les technologies tellement ennuyeuses que vous ne pourriez pas vous en passer ? Depuis combien de temps les utilisez-vous ? Pour moi, ce sont des choses comme Vim, C, Python, Fedora, mutt, et je les utilise depuis 25 à 30 ans. Et vous ?
J’utilise une nouvelle technologie si ses avantages dépassent les risques. Le défi consiste à évaluer les preuves. Les nouvelles technologies mettent en avant leurs points forts, mais leurs inconvénients sont beaucoup moins publicisés et ne sont souvent découverts qu’après avoir investi. « Ennuyeux » ou « intéressant » est un mauvais cadrage