- Le fait d’apprendre en touchant et en modifiant les choses (tinkering) n’est pas un simple apprentissage technique, mais un processus essentiel pour apprendre et se forger un goût
- C’est en essayant sans but précis et en répétant les échecs que la curiosité et le sens des choses se développent
- Le bon goût se construit en essayant soi-même divers outils et environnements, à travers des expérimentations répétées où l’on écarte ce qui déplaît et l’on garde ce qui fonctionne bien
- Le fait de toucher, casser et reconstruire sans cesse est une manière de développer le sens qui permet de distinguer l’ordinaire de l’excellent
- Questionner, expérimenter et se confronter chaque jour aux choses est précisément l’attitude que les développeurs d’aujourd’hui devraient adopter
Qu’est-ce que le tinkering ?
- « Tinker » désigne l’action de faire de petits ajustements répétés pour réparer ou améliorer quelque chose
- Ajuster la sensibilité de la souris dans un FPS, configurer un gestionnaire de fenêtres Linux, ou démonter et lubrifier un clavier mécanique en sont des exemples
- Ces pratiques ne sont pas forcément nécessaires, mais elles procurent le plaisir de construire son propre environnement et mènent à l’apprentissage
L’état d’esprit du tinkering
- Il existe deux types de personnes : celles qui agissent uniquement pour atteindre un objectif et celles qui essaient sans raison particulière
- L’attitude idéale se situe entre les deux : trouver un équilibre entre expérimentation et utilité pratique
- Manipuler de nouveaux langages, outils ou éditeurs en acceptant une part d’inconfort devient un processus qui élargit la sensibilité créative
- Il ne s’agit pas d’affirmer que le fait que certains développeurs n’utilisent que le terminal de VSCode, ne connaissent pas les raccourcis de vim ou utilisent GitHub Desktop au lieu de la CLI est mauvais, mais il faut y voir le niveau de base (minimum)
- Comme le dit l’expression « l’entraînement est quelque chose que l’on peut jeter », la dimension exploratoire du processus et sa fréquence comptent plus que le résultat
Le lien entre apprentissage et goût
- Le bon goût est une capacité de discernement issue de l’accumulation d’expériences, et il ne peut pas exister sans essais variés
- Essayer différents outils et langages, puis distinguer ce qui est « bon » de ce qui l’est moins, constitue déjà un apprentissage
- Des tentatives qui semblaient autrefois inutiles ont finalement approfondi la compréhension de la programmation et l’attachement qu’on lui porte
- Le vrai goût naît du fait de ne pas suivre les critères des autres, mais de répéter ses propres choix, en gardant certaines choses et en en écartant d’autres selon ses propres critères
- Récemment, l’auteur a essayé l’écriture de shaders GLSL, les proc macros Rust, le C++ à templates, le développement d’apps Swift et l’éditeur Helix, y trouvant de nouvelles connaissances et expériences par pur plaisir
« Le temps consacré à apprendre n’est jamais du temps perdu »
Pourquoi le goût est important aujourd’hui
- C’est dans le fait d’essayer sans cesse, de corriger, de casser et de reconstruire que se développent non seulement les compétences techniques, mais aussi la sensibilité et les critères esthétiques
- Le bon goût (good taste) se forme en essayant diverses choses, en écartant celles qui ne plaisent pas et en gardant celles qui plaisent
- Ici, le mot « goût » désigne la capacité à distinguer l’ordinaire de l’excellent ; il diffère selon les personnes et n’a pas à être identique à celui des autres
Remettez en question le statu quo, expérimentez, cassez, et recommencez.
1 commentaires
Avis Hacker News
Un ami m’a dit il y a longtemps qu’après avoir tout appris sur le café, il ne pouvait plus vraiment apprécier que le café préparé avec des grains et des machines coûteux, alors que le plaisir restait le même que lorsqu’il buvait du café de supermarché avant
Du coup, j’essaie autant que possible de vivre en réduisant mes “goûts”. Un casque à 20 dollars et une TV à 200 dollars me suffisent largement, et même si mes amis utilisent des TV à 3 000 dollars, leur plaisir n’est pas forcément plus grand.
Aujourd’hui, je suis abonné aux grains d’un torréfacteur indépendant, et j’ai le plaisir d’explorer de nouvelles saveurs à chaque fois. Découvrir le bon café a été une expérience qui a enrichi ma vie.
Pour moi, le “goût” n’abîme pas l’expérience, il la rend au contraire plus riche.
Malgré ça, au quotidien, j’utilise toujours celui à 20 dollars. L’important, à mon avis, c’est “d’apprécier sans frime”.
C’est comme un excellent ingénieur qui, le week-end, fait tourner Doom sur une pomme de terre : le goût, c’est aussi la capacité d’embrasser la diversité.
Le vrai goût, c’est la capacité de comprendre la beauté de styles variés. Moi aussi, à force d’essayer différents équipements de café, j’ai fini par acquérir un “goût moins dans le jugement”.
Je me retrouve dans l’idée qu’il y a les “gens qui font les choses uniquement pour atteindre un objectif” et ceux qui “les font simplement”
Aujourd’hui, tout le monde peut faire du vibe coding, donc je pense que la différence entre développeurs se joue dans le “bon goût (good taste)”
Ce n’est pas juste une question d’intuition, mais de discernement accumulé à travers de multiples essais. C’est pareil en conception de systèmes : il ne s’agit pas seulement de construire vite, mais aussi de savoir créer une “structure qui ne s’effondre pas”
C’est pour ça que j’ai un dossier
sandboxdans lequel j’expérimente de nouvelles idées ou bibliothèques pour affiner mon goût.~/Codeest rempli de projets expérimentaux. Ce sont ces petites expériences qui font de moi un meilleur programmeur.Par exemple, j’ai déjà vu une PR qui compliquait inutilement les choses avec AWS Lambda et Terraform alors qu’il suffisait simplement d’ajouter une route à une app Flask.
Je comprends l’idée générale de l’auteur, mais je trouve les exemples assez mauvais. La sensibilité de la souris, les switches de clavier ou les réglages de VSCode sont “des choses conçues dès le départ pour être ajustées”
Le véritable apprentissage vient du fait de “les utiliser de travers”, mais aujourd’hui même ce type d’essai a été marchandisé. C’est dommage que le monde soit devenu si confortable que “même le tweak soit devenu une expérience emballée”.
Avant, je pensais que le “goût” était un critère permettant de distinguer la bonne qualité, mais maintenant je le vois plutôt comme un “degré d’alignement des valeurs”
Quand on dit que quelqu’un a bon goût, cela signifie au fond que cette personne et nous partageons les mêmes valeurs.
À mes yeux, cette “intentionnalité” est justement au cœur du vrai goût.
Les pires ingénieurs que j’aie vus étaient des gens enfermés dans leur propre goût. Dans un environnement où la collaboration est nécessaire, cette attitude détruit une équipe
Le code n’est pas de l’art, c’est “un travail pour les autres”. Les utilisateurs s’intéressent à la valeur du résultat, pas au langage ou aux patterns employés
Un développeur vraiment compétent, c’est quelqu’un qui sait collaborer quelle que soit la manière.
L’important, c’est d’avoir le discernement de savoir quand respecter les principes.
La distinction entre “agir pour un objectif” et “agir simplement” ressemble à un concept de Zen and the Art of Motorcycle Maintenance
Robert Pirsig parle de “compréhension romantique” et de “compréhension classique”, mais il dit au fond que les deux sont illusoires et qu’une vision intégrée est l’idéal.
J’ai l’impression que la notion de
tinkeringchez l’auteur ressemble en réalité à un comportement de concentration répétitive qu’on voit dans la neurodivergenceLe bon goût ne naît pas d’une simple répétition, mais de la combinaison du savoir et de la technique. L’essentiel, c’est l’ampleur de notre compréhension du monde et notre capacité à reconnaître les domaines que nous ne maîtrisons pas.
Autrefois, moi aussi, j’étais un “tweaker infini”, mais avec la famille, le travail et la vie qui s’accumulent, j’ai dû y renoncer en pratique
Aujourd’hui, j’utilise un Synology NAS, et je suis revenu à Windows au lieu de Linux. Mais l’esprit du tinkering est toujours en moi.
Les “méthodes de prise de notes qui demandent de la maintenance” ne me conviennent pas.
Je ne sais pas si le mot “goût” est le bon, mais je suis d’accord avec l’idée d’un “processus d’apprentissage par l’expérimentation plaisante”
Cela dit, cette façon d’apprendre a deux limites
L’auteur a défini le
tinkeringen prenant l’IDE comme exemple, mais l’IDE n’est pas le seul objet possible d’expérimentationIl y a aussi la sensibilité de la souris, le clavier, le gestionnaire de fenêtres et bien d’autres domaines
Ce n’est pas parce qu’on ne touche pas à son IDE qu’on est un “non-tweaker”. Au final, ce qui compte, c’est “l’attitude d’exploration”, pas un outil particulier.