
Le mieux est l'ennemi du bien
Durée: 11m0s
Date de sortie: 27/08/2020
L’excellence et le pragmatisme sont des valeurs qui s’équilibrent bien. Sans le pragmatisme, la recherche d’excellence risque de nous faire perdre de vue ce qui est réellement important, et ce n’est pas le code, hélas.
Pour rejoindre la communauté des artisans développeurs : https://artisandeveloppeur.fr/
Hébergé par Ausha. Visitez ausha.co/politique-de-confidentialite pour plus d'informations.
Bienvenue sur le podcast Artisan Developer, l'émission pour les
programmeurs qui veulent vivre une carrière épanouissante. Prêt à
passer au niveau supérieur ? C'est parti !
Le mieux est l'ennemi du bien. Tu vois je constate qu'il y a une espèce de courbe
chez les développeurs. Au début les développeurs débutants ils codent un peu
comme ça vient, sa première préoccupation c'est avant tout que le
code fonctionne. Il se pose pas tellement de questions de comment il va le maintenir,
comment il va devoir le faire évoluer dans le temps, en tout cas à la plupart
des développeurs. Et je crois être passé par là à moi aussi. Et puis un moment
donné il va se prendre des murs. Tu vois c'est comme si tu te mets à courir, tu
t'entraînes, tu t'entraînes, tu t'entraînes et puis un jour tu vas un petit peu plus
loin, un jour tu tente le 10 km et en fait tu te rends compte qu'au 5ème
km ça bloque. Ça bloque parce que tu te prends des murs, alors les murs ça va être
quoi ? Ça va être les bugs, les régressions, les estimations non maîtrisées,
les délais du coup nous n'ont respecté. Tu vois un moment donné il y a une espèce de
point de blocage parce que tu n'étais jamais allé jusque là avant et maintenant tu y es
parce que finalement quand tu apprends à coder tu vas apprendre sur des projets qui vont durer
quelques jours quelques semaines, rarement sur des projets qui vont durer des années.
Mais dans la vraie vie tu vas soit hériter d'un projet qui a déjà plusieurs années d'antériorité,
soit démarrer un projet et dans quelques années il va falloir que tu assumes ce que tu as fait.
Alors à ce moment là c'est là qu'il y a déjà une première forge, il y a déjà deux
routes qui se séparent. Tu as ceux qui vont dire bon ben c'est la vie, c'est comme ça et puis tu as
ceux qui vont se poser des questions. Moi si je prends une espèce de test, de doigts mouillés,
de l'expérience que j'en ai je dirais qui a moins de 20% de développeurs qui se posent un peu
des questions qui commencent à dire tiens mais c'est bizarre, on se prend des murs c'est pas normal,
et si on trouve un moyen d'éviter les murs, de les voir venir ou peut-être d'arrêter les
construire déjà. Et donc comme je te dis tu en as à peu près 80% qui vont rester dans ce que
j'appelle les limbes du code, ils vont hérer de légacies en légacies et se plaindre parfois
ou simplement accepter ça comme une fatalité. Et puis tu en as 20% qui vont dire non c'est pas
normal et si tu écoutes ce podcast peut-être bien que tu en fais partie d'ailleurs normalement. Et
là aussi ça va être une question d'énergie de temps passé. Clairement le craft est une bonne
inspiration tout ce qui va toucher au craft manchip, à l'artisanal logiciel, est une bonne
inspiration pour éviter de se prendre des murs. Et là tu as ceux qui vont trouver des réponses. Alors
chacun un peu les siennes, il y a quelques réponses qui sont un peu un peu classiques. Moi par exemple
je fais du TDD une pratique assez centrale dans ma pratique, dans ma manière de travailler,
de réfléchir, de transmettre. Mais bon je sais aussi qu'il y en a qui sont pas fans de ça,
qui ont trouvé autre chose, qui ont trouvé un épanouissement dans d'autres voies. C'est très
bien aussi. Et à ce moment là arrive ce que j'appelle la phase de foris. La phase de foris c'est
le moment où tu viens de découvrir un truc absolument génial et tu veux en mettre partout. Tu
vois quand j'ai découvert les dizaines de paternes j'ai clairement traversé cette phase de foris.
Je voyais tout en paterne d'essayer d'en mettre partout, qui t'allait faire rentrer un peu de
force là où il n'avait pas forcément besoin. Et là c'est un moment qui est super dur pour la
personne qui vient de quelque part de changer d'état d'esprit. Elle de son regard vient de
changer sur le monde. Elle a compris de nouvelles choses cette personne. Et il y a un truc qui est
un petit peu dur c'est que parfois difficile de comprendre les autres qui ne comprennent pas.
Parce que à ce moment là ce que tu risques d'oublier c'est qu'en fait il t'a fallu des années
pour en arriver là où tu en es. Et c'est vrai que même moins ça c'est un peu le risque de l'expert.
Un moment donné ça demande un effort de se remettre dans la peau du débutant,
enfin au tout cas du néophyte du sujet pour comprendre un petit peu quels sont les blocages,
comment est-ce qu'il perçoit les choses. Ce qui peut générer parfois un petit peu des tensions si
tu prends pas garde à ça parce qu'en fait quand tu as vu de nouvelles choses par exemple
les dizaines de paternes, le TDD, ça devient très difficile de travailler avec des gens qui non
seulement n'y adhèrent pas mais ne le comprennent même pas. Parce que le code est un peu commun,
on travaille tous ensemble sur le même peu de code commun et donc c'est un petit peu comme
cohabiter, ça c'est une métaphore que j'ai souvent fait. Il faut qu'on se comprenne, il y a une
nécessité à un moment donné d'être à un certain niveau d'homogénéité au moins dans l'intention
à défaut d'être dans la technique. Tu vois c'est comme quand tu pratiques un sport depuis longtemps
ou n'importe quelle activité difficile parfois de se rappeler des sensations qu'on avait quand
on était débutants. Moi là aujourd'hui où j'enregistre ce podcast je suis allé dans un magasin
de tissu. Alors pourquoi je te raconte ça d'abord parce que ça vient nourrir un peu là,
parce que très clairement j'ai bien senti que le gars avait compris que c'était la première
fois que je rentrais dans un magasin de tissu. Je pense que j'étais le seul client masculin et
alors qu'est ce que je vais faire ce tissu si je te le raconte c'est pas juste pour mon plaisir
personnel, c'est que je vais faire des magnifiques panneaux, enfin magnifiques j'espère qu'ils seront
pas bon, des panneaux acoustiques pour pouvoir enregistrer de nouvelles vidéos. Donc si tu
en t'en spotcages je sais pas si ce sera avant ou après ces nouvelles choses mais voilà c'est un
upgrade que je fais du studio. Et donc voilà je me suis senti même à mon donné presque un peu
un peu pâteau, un peu ridicule à demander un peu qu'elles étaient les codes. Ok d'accord le tissu
ça se coupe comment, comment est-ce que j'achète du tissu tu vois mon problème en rentrant dans
le magasin c'était comment est-ce que je vais acheter du tissu qui me convienne. Et je pense
que c'est pas tout à fait la préoccupation première des gens qui rentrent là-dedans parce
que eux ils sont habitués. Et bien c'est ça une fois que tu as fait ce passage là que tu as assimilé
de nouveaux concepts que maintenant ils te paraissent naturels c'est là qu'il y a un enjeu qui est
de le diffuser en fait. C'est pas très grave s'il y a un décalage de niveau ce qui serait embêtant
c'est que ce décalage de niveau persiste et qu'il n'y ait pas de convergence en fait, voire qu'il
y ait une même forme de divergence là ça serait vraiment le pire. Et là à ce moment là au moment
de commencer à transmettre il y a un vrai risque c'est de se transformer en dictateur du code propre.
À ce moment là la personne en général même elle est surtout quand on découvre des choses autour
de l'article analogie, il y a quelque chose d'assez enthousiasmant derrière ces choses là qui peuvent
amener une certaine énergie, un certain leadership même par rapport à ceux qui n'ont pas forcément
fait chemin ou qui n'ont pas le bagage technique. Et là le risque c'est de venir imposer de haut
commencer à rentrer dans une espèce de dogme des choses et puis de chercher une forme de
perfection. J'en entends je les appelle les illotes du code c'est à dire une forme de, je dirais
presque une forme de fanatisme en fait où il y a une recherche absolue de la perfection où chaque
ligne de code est décortiquée octée par octée caractère par caractère et tu vois c'est un petit
peu comme un peintre qui va jamais montrer sa toile parce qu'elle n'est pas assez bien. Moi j'ai
peintre dans ma famille et c'est toujours difficile de montrer ses toiles parce qu'elle n'est pas assez
bien. Je vois même des fois des toiles qui sont recouverte simplement parce qu'elle ne plaisait pas
à l'artiste. Alors du coup en refactor à tout va et le gros risque c'est de tomber dans l'over
engineering. Tu vois l'over engineering c'est quand tu en fais trop par anticipation. C'est un petit
peu comme si le matin au réveil au petit déj tu mangeais trois repas en prévision de la journée
parce que tu te disais je vais pas avoir le temps de manger aujourd'hui je mange trois repas
aujourd'hui mais tu vois quand tu anticipes sur les problèmes futures c'est un petit peu pareil.
Ça marche pas comme ça tu sens bien que si tu fais trois repas le matin déjà tu vas être un petit
peu lourd tu vas pas te sentir super bien si tentez que tu arrives à faire rentrer toute cette nourriture
dans ton estomac et puis en plus ça marche pas comme ça quoi ton corps il a besoin de temps
pour le digérer. Il te faut au moins quelques heures pour prendre toute la porte calorique que tu
vas avoir besoin dans une journée. Mais ton code c'est un petit peu pareil il va lui falloir du temps
pour digérer les nouvelles choses que soit le code soit l'équipe qui sont un petit peu jumelés
quelque part que je veux dire l'état de santé du code et l'état de santé de l'équipe vont
bien ensemble sont corrélés et le niveau technique de l'équipe influe directement sur le niveau
technique du code et réciproquement d'ailleurs. Et le pire quand tu commences à rentrer dans ce
piège là de l'over engineering d'une certaine forme de dogmatisme c'est que ça crée quelques
tensions avec le bise. Parce que le business ils sont là en mode mon les gars on a des opportunités
ce serait cool qu'on les saisisse ce serait bien qu'on avance et là t'as les îlotes qui arrivent
qui disent non non mais ça il va falloir quatre semaines pour le faire mais comment ça quatre
semaines la dernière fois ça avait pris deux semaines ah ouais ouais mais on avait fait un truc tout
pourri là on va faire un truc nickel ça va être parfait quoi. Le problème avec ça c'est que tu
commences à dériver et tu te concentres plus sur les bons objectifs. Les bons objectifs c'est quoi
bah c'est de servir ton client avant tout et à des fois malheureusement c'est pas super sexy. Moi
j'ai un principe cette phrase je l'ai piqué à Jean-Pierre Lambert on n'est pas là pour coder on
est là pour servir un client mais c'est tellement vrai c'est tellement frustrant aussi tu vas me
dire parce que si tu aimes les technos un peu sexy un peu funky, tu es fan de tout ce qui sort et
la stack principale tu vois moi perso ma stack rate elle me convient très bien j'ai aucun framework
j'y ai ce machin truc quand j'ai besoin d'un truc dynamique c'est un du bon vieux jquery des familles
de toute façon on en a très très peu et rien de truc super tendance que je vais mettre des plombes à
intégrer qui va me demander des semaines d'effort qui va créer de l'instabilité qui va enfin j'ai pas
envie de tout ça quoi. Alors on peut s'en plaindre en tant que développeur c'est vrai qu'il y a
il peut y avoir une forme d'épanouissement à explorer ces choses là mais moi je te propose
plutôt une autre manière de voir les choses je te propose plutôt d'embrasser la contrainte parce
que finalement si tu si tu regardes bien sans contrainte c'est impossible de créer au-delà du
fait de risquer de se perdre dans la technique il y a cette idée que c'est justement de la contrainte
que n'est la création si tu si tu donnes à un artiste aucun champ de contrainte il va être perdu
face à son tableau et c'est là tout l'enjeu garder un niveau de qualité élevée sous contrainte
forte et ça pour moi c'est ce qu'on appelle être professionnel. Je te remercie d'avoir écouté
ce podcast jusqu'au bout si tu y trouves du sens si tu as envie de le partager je trouve que ce
podcast se prête assez bien à une écoute commune le truc est assez simple tu prends un quart d'heure
tu profites d'une pause café ou d'une pause que fait ton équipe régulièrement et tu proposes à
juste tout simplement l'épisode et après pendant un petit quart d'heure vous en discuter ensemble
c'est un format qui marche bien j'ai des bons retours de cette expérience là de ces expériences
là par les par les auditeurs et je suis très curieux que tu me racontes comment ça s'est passé sur
benoît à RobaseArtisanDeveloppeur.fr je souhaite une bonne journée je te dis à bientôt
Episode suivant:
Les infos glanées
ArtisanDéveloppeur
Artisan Développeur est un podcast destiné aux développeurs qui veulent bâtir une carrière épanouissante. Hébergé par Ausha. Visitez ausha.co/fr/politique-de-confidentialite pour plus d'informations.
Tags
Card title
[{'term': 'Technology', 'label': None, 'scheme': None}, {'term': 'Technology', 'label': None, 'scheme': 'http://www.itunes.com/'}]
Go somewhere
Solidité ou rapidité