- PagerDuty /
- Blog /
- Meilleures pratiques et perspectives /
- Guide du développeur pour surmonter la peur de l'échec par la programmation
Blog
Guide du développeur pour surmonter la peur de l'échec par la programmation
Les gens parlent volontiers de leurs succès, mais si vous les interrogez sur leurs échecs, ils peuvent se montrer beaucoup plus réticents à les partager.
L'échec est un sujet qui, curieusement, est intimement lié à la honte. Pourtant, il est indispensable à toute innovation, et les leçons qu'on en tire sont incomparables. Alors, cherchons à mieux accepter l'échec et à comprendre pourquoi on le craint.
Définir l'échec
Il nous faut d'abord définir l'échec. Pour ce faire, nous nous en tiendrons à une définition très simple : essayer quelque chose et ne pas y parvenir.
Bien que cette définition soit valable, tous les échecs ne se valent pas. Il existe de nombreuses façons de les catégoriser. Je vais simplifier et les répartir en trois catégories.
Échec évitable : Un échec que vous auriez pu empêcher malgré tout, alors que vous aviez les connaissances et les capacités nécessaires.
Exemple : Vous lancez une fonctionnalité et vous vous rendez compte ensuite qu’elle ne fonctionne pas pour les clients ayant souscrit à un certain forfait, même si cela était de notoriété publique.
Ce type d'échec peut notamment offrir la possibilité d'ajuster le processus actuel.
Ce type d'échec est particulièrement difficile à vivre car il s'agit d'un problème récurrent. Nous voulons éviter de nous retrouver dans cette situation, mais nous pouvons en tirer des leçons et l'éviter à l'avenir. Les listes de contrôle et les tests automatisés sont d'excellents outils pour prévenir ce genre de situation.
Défaillance complexe Une combinaison de facteurs internes et externes se conjugue d'une manière inédite pour aboutir à un échec.
Exemple : Deux services sont mis en service et, étant tous deux opérationnels en même temps, ils exercent une pression sur une ressource partagée, ce qui provoque la panne de cette ressource.
Les avantages liés à ce type de défaillance peuvent inclure :
- Des possibilités d'ajuster le processus actuel et d'éviter les erreurs à l'avenir
- Des prises de conscience sur le système et son fonctionnement dont vous n'aviez pas conscience auparavant.
Cet échec aurait peut-être pu être évité, mais il est difficile de se préparer à tous les cas de figure lorsqu'on souhaite agir vite. Ce genre d'échec est inévitable et permet d'en tirer des leçons et de progresser. Par exemple, dans ce cas précis, il serait possible d'accorder une plus grande attention à cette ressource à l'avenir, d'augmenter sa capacité, voire de revoir l'architecture du système.
Échec innovant Lorsque les réponses ne peuvent être connues à l'avance parce que cette situation précise ne s'est jamais produite auparavant et ne se produira peut-être plus jamais.
Exemple : Vous lancez une toute nouvelle fonctionnalité et les utilisateurs ne l'utilisent pas du tout.
Les avantages liés à ce type de défaillance peuvent inclure :
- Opportunité d'innovation, de changement et de réflexion
- L'occasion d'apprendre des choses que vous n'auriez pas pu apprendre auparavant.
C’est le genre d’espace d’échec dans lequel vous voulez être. C’est nouveau, c’est stimulant et, surtout, cela vous donne l’opportunité de… l'occasion d'apprendre des choses que vous n'auriez pas pu apprendre auparavant .
C'est dans ce contexte que l'innovation prend forme. Bien sûr, il existe des moyens d'éviter ce genre d'échec. Vous auriez pu davantage dialoguer avec les utilisateurs, analyser les données plus en profondeur, mais au final, vous avez pris un risque et vous en avez tiré des leçons. Vous pouvez désormais vous poser de nouvelles questions, comme : « Pourquoi les utilisateurs ne s'engagent-ils pas ? », et revoir vos hypothèses de départ.
Pour moi, il vaut toujours mieux se retrouver dans cette situation d'échec que de se demander : « Et si ça pouvait être la prochaine grande innovation ? » et de ne jamais essayer.
TL;DR :

Maintenant que nous comprenons ce qu'est l'échec et ses différentes formes, comment pouvons-nous l'accepter sereinement ? À l'instar du développement logiciel, procédons étape par étape.
- Normaliser l'échec
- Comprendre l'échec
- Acceptez l'échec
Normaliser l'échec
Pour qu'un sujet nous soit familier, il faut qu'il nous soit accessible. De même, pour accepter l'échec, il est essentiel de se familiariser avec lui.
Tout le monde connaîtra l'échec à un moment ou un autre de sa vie. Lorsque vous avez fait vos premiers pas, vous êtes tombé. Lorsque vous avez appris à lire, vous avez buté sur les mots. Sachez que vous êtes capable d'échouer et de surmonter cet échec. Vous l'avez fait maintes et maintes fois, même si vous l'avez peut-être oublié. Ce sont des types d'échecs courants, et les gens les acceptent généralement mieux.
Faire planter une application, introduire un bug ou lancer une fonctionnalité impopulaire sont des types d'échecs moins acceptables, mais ils font aussi partie du processus de croissance.
Si vous voulez écrire du code élégant, propre, bien structuré et testé, devinez quoi ? Il vous faudra d'abord écrire du code médiocre. Si vous appliquez ce principe à n'importe quel autre art ou discipline – jouer d'un instrument, peindre, composer des chansons – vos premiers essais seront forcément mauvais.
Sache que ce n'est pas grave. Continue d'essayer. L'échec fait partie du processus.
Vous souvenez-vous de votre premier gros bug ? Pas un bug repéré par l'assurance qualité ou signalé par un développeur senior lors d'une revue de code, mais un bug qui s'est retrouvé en production ?
Je partagerai le mien.
À mes débuts comme développeur logiciel, je travaillais pour une start-up fintech spécialisée dans les prêts automobiles. J'ai conçu une requête permettant de repérer les véhicules ayant des numéros VIN (numéros d'identification du véhicule) en double et de les prendre en compte lors de l'approbation du prêt. Voici un exemple simplifié de ce code :

Dès que cette modification a été intégrée, j'ai vu ce petit message sympa sur Slack.

J'étais terrifiée et complètement perdue. C'était mon ticket, mon code, mais je ne comprenais pas où j'avais fait une erreur. Le code avait passé la relecture et semblait correct.
Alors, quel était le problème ?
Il s'avère que, pour gagner du temps, certains concessionnaires affichaient des voitures avec un numéro VIN fictif (par exemple 0000000), qu'ils mettaient à jour une fois le prêt débloqué. Rien d'anormal, sauf que mon code importait systématiquement tous ces véhicules avec un numéro VIN fictif, ce qui ralentissait tellement le chargement de la page qu'elle en devenait inutilisable.
La solution ? Ajouter une limite.

Honnêtement, quand j'ai commencé à programmer, je n'avais jamais pensé aux notions de performance et de limites de requêtes. Depuis, j'ai travaillé dans des entreprises où la scalabilité est cruciale, mais aussi sur des applications où gagner quelques secondes se traduit par une meilleure interaction avec les utilisateurs ; la performance est donc une priorité absolue.
C'est une leçon que j'ai dû apprendre, et l'échec peut être un excellent professeur.
Je tiens également à souligner la réaction de mon équipe. Ils ont corrigé le bug, intégré la modification et analysé les causes de son apparition. Souvent, l'important face à l'échec n'est pas l'échec lui-même, mais la façon dont chacun y réagit. Personne n'a blâmé qui que ce soit, personne ne m'a dit « tu aurais dû le savoir », et je n'ai pas été humilié pour mon erreur.
Comprendre l'échec
Nous avons abordé la question de la familiarisation avec l'échec. Approfondissons maintenant la compréhension de l'échec et de son corollaire, la honte.
Honte :
- « La honte est une expérience émotionnelle extrêmement pénible, intrinsèquement liée aux tendances à l’évitement et au retrait. » Mascolo et Fischer, 1995 )”
- « Le reproche que nous ressentons envers nous-mêmes lorsque nous n'avons pas été à la hauteur de nos propres exigences. » HB Lewis, 1971 )
- « L’incapacité à assumer ses rôles ou à atteindre ses objectifs. » M. Lewis et Haviland-Jones, 2000 ),
- « Lorsqu'une personne a le sentiment de devenir la personne qu'elle n'aime pas ou qu'elle craint. » Gilbert, 1998 ; Ogilvie, 1987 )
Tous les éléments ci-dessus sont tirés d'articles scientifiques et définissent la honte. Bien que la formulation varie selon l'auteur et la publication, un point fait presque l'unanimité :
La honte est une émotion relationnelle .
Qu'est-ce que cela signifie ? On peut être en colère parce qu'on s'est cogné le pied contre une pierre, ou triste parce que le temps a changé. Mais la honte est différente, car on ne peut l'éprouver que dans un contexte particulier. relation avec les autres personnes Je ne peux pas ressentir de honte sans public ou sans la perception que j'ai d'un public.
« De ce point de vue, la fonction de la honte est de susciter des comportements visant à se soustraire au regard des personnes importantes, minimisant ainsi le risque de perte d'amour et de rejet. » McGregor et Elliot, 2005 )
Si l'on extrapole le sens de cette formulation, on peut supposer que la honte trouve son origine dans une réponse évolutive héritée de l'époque tribale. Autrement dit, face à la honte, on dissimulait ce qui la provoquait, et ainsi, la tribu n'était pas rejetée, car le rejet équivalait à la mort. Bien que les temps aient changé, l'impact de cette émotion reste viscéral.
La peur de l'échec
Une étude scientifique a défini la peur de l'échec comme suit : « La capacité ou la propension à éprouver de la honte en cas d'échec » ( Atkinson 1957 Une autre étude a avancé que « les individus ayant une forte peur de l’échec ont rapporté un sentiment de honte plus grand face à une expérience d’échec perçue que ceux ayant une faible peur de l’échec » ( McGregor et Elliot, 2005 ).
On peut visualiser cela à travers le cycle honte/échec.

- Vous échouez à quelque chose.
- Vous éprouvez de la honte à cause de cet échec.
- La honte est une émotion négative puissante que l'on ne souhaite pas éprouver, c'est pourquoi il faut éviter l'échec.
- Vous craignez l'échec.
- La prochaine fois que vous échouerez, vous ressentirez encore plus de honte.
- Votre peur de l'échec s'intensifie.
N'oublions pas non plus que, pour éprouver de la honte lors de ce premier échec, il faut que d'autres personnes (ou votre perception des autres) vous observent.
Voici une interprétation de la peur de l'échec, que je trouve personnellement très convaincante. Comme souvent en psychologie, cette peur pourrait trouver son origine dans l'enfance, notamment lorsque les parents réagissent fortement à l'échec mais restent indifférents à la réussite (McGregor & Elliot, 2005). Elle peut cependant se développer à n'importe quel moment de la vie. Vous vous souvenez de ce que nous avons mentionné précédemment ?
Ce n'est pas tant l'échec en lui-même, mais la façon dont vous et votre entourage réagissez à cet échec. .
Très bien. Nous comprenons que l'échec existe, nous comprenons pourquoi il peut faire peur… Comment pouvons-nous nous ouvrir à l'échec ?
Accepter l'échec
Accepter l'échec implique en partie de trouver des moyens d'y être plus résilient.
Alors, comment renforcer notre résilience ?
Décatastrophiser l'échec Lorsque nous échouons, nous avons tendance à avoir trois schémas de pensée dominants.
- Personnellement : C'est entièrement de ma faute.
- Omniprésent : Cela arrive toujours.
- Permanent : Tout est ruiné maintenant.
Nous pouvons toutefois approfondir ces croyances. D'autres personnes ont-elles contribué ou participé ? Y a-t-il déjà eu un moment où cet échec ne s'est pas produit ? Cette situation est-elle irrémédiablement compromise ?
Comprendre le fonctionnement de notre cerveau et les pensées courantes qui nous traversent face aux situations difficiles nous permet de nous préparer à l'échec et de l'accepter. Ce n'est pas entièrement de notre faute, nous n'échouons pas toujours, et tout finira par s'arranger.
Faites preuve de compassion envers vous-même. Imaginez que vous consolez un ami dans une situation identique. Diriez-vous à quelqu'un qui a commis une erreur qu'il a tout gâché ? Bien sûr que non. Ne le faites pas aux autres, et ne le faites pas à vous-même.
Pré-mortem Une analyse pré-mortem est réalisée avant un projet ou une initiative, au cours de laquelle l'individu ou l'équipe imagine que celui-ci a échoué et travaille à rebours à partir de ce point pour éviter que de tels échecs ne se reproduisent.
Autopsie Une fois l'événement survenu, établissez une chronologie des événements et réfléchissez aux mesures à prendre concernant la façon dont l'échec s'est produit et les moyens d'éviter que des incidents similaires ne se reproduisent.
Dialogue intérieur interrogatif Une pratique courante pour se motiver consiste à s'encourager avec des affirmations telles que « Je peux le faire », mais de nombreuses études suggèrent que se poser des questions peut être une méthode plus efficace.
C’est la différence entre se demander « Vais-je le faire ? » et « Je vais le faire ». En vous demandant « Serai-je capable de le faire ? », vous renforcez votre conviction que vous en êtes capable et que vous possédez les compétences nécessaires.
Une série d'expériences ( Senay, Albarracin et Noguchi, 2010 Des expériences ont été menées où les groupes étaient préparés par des questions ou des affirmations. Les questions ont systématiquement donné de meilleurs résultats. Poser ces questions motive les comportements orientés vers un but.
Instaurer un climat de sécurité psychologique Disposer d'un environnement où l'on se sent en sécurité même en cas d'échec est primordial pour prendre des risques et innover. Instaurer un climat de confiance est difficile, mais absolument essentiel.
Voici quelques suggestions pour contribuer à créer ce type d'environnement.
- Il faut que les dirigeants soient prêts à faire preuve de vulnérabilité.
- Encouragez l'empathie et rassurez vos coéquipiers lorsqu'ils en ont besoin.
- Intégrez des mécanismes de rétroaction pour que chacun puisse s'exprimer et se sentir écouté.
- Organisez un événement où les gens partagent leurs propres échecs.
- Créez un espace où vous encouragez les gens à essayer de nouvelles choses, comme une journée ou une semaine de hackathon (nous en organisons une par trimestre chez PagerDuty).
Conclusion
Je vous invite à prendre du recul par rapport au développement logiciel et à réfléchir à votre vie en général. L'échec s'infiltre dans tous les aspects de notre existence. Avez-vous déjà tenu les propos suivants, ou entendu un ami les tenir ?
- Je suis incapable de cuisiner, alors je prends des plats à emporter.
- Je ne sais pas chanter, donc je ne participerai pas au karaoké.
- Je suis une piètre danseuse, alors je ne le fais tout simplement pas.
Se pourrait-il qu'une peur de l'échec se cache derrière ces déclarations ? Ils ne précisent pas s'ils aiment cette activité, mais simplement qu'ils n'y sont pas doués. La honte serait-elle en train de les envahir ?
J'en ai parlé comme si vous en étiez conscient en permanence, mais beaucoup de choses peuvent être tellement intériorisées qu'elles deviennent inconscientes. Vous pourriez avoir ces peurs et ne même pas en être conscients .
Revenons à la définition originelle de l'échec : essayer quelque chose sans y parvenir. Même s'il est probable que vous échouiez, j'espère sincèrement que vous tenterez au moins votre chance. N'oubliez pas que l'échec ne vous est pas étranger. Apprendre à parler, à conduire, à cuisiner, et toute autre compétence que vous avez acquise, a toujours impliqué des échecs à un moment ou un autre. Le vieil adage « qui n'y arrive pas du premier coup persévère » reste d'actualité. J'espère que vous oserez aujourd'hui essayer quelque chose qui vous fait peur !