Personne ne veut vraiment de la simplicité
La raison pour laquelle le développement Web moderne est submergé de complexité est que personne ne veut vraiment que les choses soient simples. Nous pensons simplement que oui, alors que nos choix prouvent le contraire.
De nombreux développeurs recherchent la simplicité, tout comme de nombreux clients prétendent vouloir un site Web rapide. Vous répondez « OK, afin que nous puissions supprimer certains de ces 17 trackers Javascript et autres surcharges qui rendent votre site Web horriblement lent ? » – non, apparemment, ce sont toutes des fonctionnalités critiques pour l’entreprise.
En d’autres termes, ils donnent la priorité à tout plutôt qu’à la vitesse. Et puis ils se demandent pourquoi utiliser leur site Web, c'est comme ramer en bateau sur un lac de mélasse par une journée froide en utilisant uniquement une petite cuillère en plastique.
Il en va souvent de même pour la complexité. Le véritable test est la question « qu’êtes-vous prêt à sacrifier pour parvenir à la simplicité ? » Si la réponse est « rien », alors vous n’aimez pas du tout la simplicité, c’est votre priorité la plus basse.
Quand je dis « sacrifice », je ne veux pas dire que choisir la simplicité signifiera que votre situation sera globalement pire – la simplicité apporte d’énormes avantages. Mais cela signifie que certaines choses vous tenteront de croire que vous manquez quelque chose.
Pour chaque développeur, cela peut être quelque chose de différent. D’une part, l’ennui de devoir passer une demi-heure par mois à s’assurer que deux choses différentes restent synchronisées justifie facilement l’adoption d’un cadre volumineux qui résout ce problème particulier. D'autre part, la possibilité de contrôler la façon dont une case à cocher s'anime lorsque vous la cochez est bien sûr une raison valable pour ajouter 50 packages supplémentaires et 3 couches de frameworks à leur produit. D'autre part, ajouter une abstraction avec des milliers de lignes de codes, des dizaines de classes et page après page de documentation afin d'éviter d'écrire manuellement une petite fonction d'usine pour un test est un excellent compromis.
Bien sûr, nous prétendons tous détester la complexité, mais c'est en réalité simplement la complexité ajoutée par d'autres personnes que nous détestons - nos propres épouvantails sont toujours exemptés, et pour les choses que nous comprenons, nous devenons rapidement incapables de voir qu'il y a un problème potentiel pour les autres. Il existe certes des cadres et des dépendances qui justifient leur existence et leur adoption, mais il est difficile de déterminer lesquels.
Je pense qu'un bon test pour savoir si vous aimez vraiment la simplicité est de savoir si vous êtes capable de supprimer les éléments que vous avez ajoutés, en particulier le code que vous avez écrit, même s'il fournit encore de la valeur, car vous réalisez qu'il ne fournit pas suffisamment de valeur.
Un autre test est ce que vous êtes tenté de faire lorsqu'un problème survient avec une partie de la complexité que vous avez ajoutée. Votre premier réflexe est-il d'ajouter encore plus de choses pour résoudre le problème, ou est-ce de supprimer et de vivre avec la perte ?
La seule voie que je vois à travers tout cela est de cultiver une suspicion presque obsessionnelle à l'égard du FOMO . Je pense que c'est probablement la clé pour apprendre à dire non .
Merci de m’avoir lu!