The Humble Programmer
Je ne sais qu'une chose, c'est que je ne sais rien
Bonjour à toutes et à tous, En cette période de Noël, je souhaitais vous faire découvrir un sujet peu abordé en informatique : l'importance de l'humilité en développement logiciel.
A mon entrée dans le monde de l'entreprise, j'ai découvert l'importance de cultiver sa part d'humilité lors de la production de code.
En effet, je me suis parfois retrouvé bloqué devant un problème sans oser chercher la solution auprès de personnes plus compétentes que moi, par peur du ridicule. D'une autre façon, devant un point de vue différent du mien, il m'est arrivé de ne pas réussir à m'extraire de la vision binaire que je m'étais construite. Ayant appris de ces erreurs et continuant à en tirer des apprentissages, je souhaitais partager avec vous mon point de vue sur le sujet afin de vous amener à y réfléchir.
Le premier point, consiste à d'abord produire un code simple sans chercher à l'optimiser de façon prématurée. Qui ne s'est jamais retrouvé confronté à une optimisation incompréhensible qui perturbait la fluidité du raisonnement initial ? La rédaction d'un code naïf mais lisible prévaut à l'écriture d'un code optimisé mais immaintenable.
L'excès de confiance nous pousse parfois à considérer la rédaction de documentation comme une étape négligeable. Pourtant, lorsque nous oublions le sens que nous souhaitions donner au code, cette documentation nous rappelle les motivations qui nous ont amené.e.s à le rédiger ainsi.
Face à la quantité astronomique de contenu proposé sur Internet (tutoriels, cours en ligne, etc.), il est aisé de se sentir à la fois submergé par tant d'informations et en même temps de se considérer expert dans un domaine. Cependant, le ou la programmeur.se compétent.e se distingue par sa capacité à reconnaître ses propres limites plutôt qu'à la somme de ses connaissances. Ce pragmatisme lui permet de savoir quant vient le temps de se former.
Enfin, en informatique tout comme dans de nombreux domaines, savoir se remettre en question est la clé de l'intelligence collective. Questionner ses propres choix et les étudier sous divers angles en ayant conscience des biais qui nous habitent permet de concevoir des solutions sortant de nos schémas de pensées habituels. En outre, mettre à l'épreuve les raisonnements de nos collègues ouvre la porte à de nouvelles perspectives qu'il aurait été compliqué d'imaginer seul. Continuer de s'améliorer et d'apprendre requiert de savoir ranger son ego de côté.
Si vous n'aviez qu'une chose à retenir de cet article, ce serait de se rappeler que nous ne sommes que des humains avec nos limites, nos biais et nos imperfections. Des humains qui apprennent de leurs erreurs pour aller plus toujours plus loin et repousser ses limites.
J'espère, via ces quelques mots, vous avoir amené.e à réfléchir sur l'importance de l'humilité. Dans le cas où vous seriez tenté.e.s de vous aventurer au-delà de ce texte, l'artcile d'Edsger Dikjstra développe les caractéristiques d'un bon programmeur et a servi d'inspiration à ce texte.
The Humble Programmer :
https://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/EWD340.html
par Un pirate parti naviguer sur les dunes d'OCaml, secondé par un poulpe minutieux.