Debogage existentielle
Premier article, et j'aurais aimé commencer par une note plus douce et amusante. Ici, je vais vous partager une de mes expériences récentes.
Je suis développeur, je travaille actuellement pour un opérateur télécom et un fournisseur de Cloud privé.
Mes missions sont essentiellement en lien avec les besoins métiers internes, pour faire simple, mes collègues que je côtoie utilisent l'application qu'on développe au sein d'une équipe de développeur.
Notre mission principale est de maintenir et de faire évoluer une vieille application métier qui sert de centralisateur de donnée pour tout le métier dit "Cloud interne". Elle permet d'aider les collaborateurs sur les services fournis aux clients.
Cette application a la particularité d'avoir une base de code relativement vieille (legacy pour les intimes), elle nous donne beaucoup trop de fil à retordre pour sa maintenance.
L'enfer ne toque pas à la porte avant de rentrer
C'est ici que commence la petite histoire, il y a quelque temps déjà, nous avions eu une demande d'intégration de données urgente. Je n'entrerai pas dans les détails, car privés pour l'entreprise, mais nous devions intégrer une base de client d'une de nos filiales au sein de notre application.
Pour diverse raison, je me suis retrouvé seul sur cette nouvelle quête accompagné de mon manager.
La mission est arrivée un lundi matin en fin de matinée, juste après la fin d'un comité de direction (codir). L'après-midi, je commence à me pencher dessus en sachant qu'il voulait que l'intégration soit finie pour au plus tard le lendemain midi.
La difficulté est telle que chaque système d'information à des fonctionnements différents en fonction du métier, dans le cas de la filiale, elle était spécialisée dans d'hébergement de CMS grand public. Soit à l'opposé du service que notre entreprise proposait.
Comme on peut s'y attendre, j'ai identifié une liste de freins à une intégration aussi hâtive… Car évidemment, rien n'avait été prévu et beaucoup de questions devaient être réglées avant d'effectuer d'aussi grandes actions.
Je remonte les soucis via les canaux habituels (N+1, N+2), et comme tout projet qui n'a pas de VRAI chef de projet, aucune réponse claire nous est donnée, on est donc livrée à nous-mêmes avec le chrono qui avance.
Le temps s'écoule, et mardi matin, j'ai un morceau de code semi-testé qui effectue l'importation et qui transforme les données pour répondre à notre structure de données client. Mais rien de suffisamment fiable pour un lancement optimal de l'import.
Une bonne nouvelle n'arrive jamais seule, la direction souhaite désactiver la possibilité d'éditer les données de certains clients depuis notre application, et de la rendre uniquement possible depuis un outil dédié de gestion de relation client (appelé CRM). Celle-ci doit être effective une fois l'import terminé.
Une fonctionnalité en plus à ajouter, que pourrait-il mal se passer ?
Midi passé, l'import n'est pas prêt, il y a beaucoup trop de cas à gérer. La direction nous donnait désormais jusqu'à mercredi matin.
L'import sera lancé via un ETL, une tache qui Extrait/Transforme/Charge les données depuis une source vers une autre.
En fin d'après-midi, je commence l'intégration des clients sur la base de données de production, et la mise en ligne de la feature. Celui-ci se finit un peu après 23 h.
La brèche était ouverte
Qui dit intégration rapide, dit problème en tout genre
Mercredi matin, à peine connecté sur ce fabuleux outil appelé Teams.
Des alertes commençaient à arriver, étant donné que notre application est en lien avec de multiples services en internes, ces deniers se sont mis à fortement ralentir. Aucune étude et analyse n'avait prévu qu'importer autant de client ferait autant de dégâts.
Ainsi, de mercredi à vendredi, j'ai passé mon temps à corriger tous les problèmes causés par un code d'importation de 40 lignes.
Quarante lignes ont suffi à mettre à mal le système d'information (SI) interne, c'est beau et magique à la fois.
Cerise sur le gâteau, le lundi suivant, après le codir, nous apprenons que l'intégration des données n'était plus urgentes et aurait pu être faite pour la fin du mois.
Est-ce qu'il se serait rendu compte de leurs magnifiques idées ?
Un semblant de culpabilité les a rongés ?
Que de belles questions, mais des réponses stériles quand on demande des éclaircissements.
Et cet ainsi que jusqu'à la fin du mois, avec mon équipe, nous avions débogué et corrigé tous les soucis causés par l'intégration hâtive.
Mais c'était sans me rendre compte qu'une première barrière avait été levée.
Une semaine intense, beaucoup trop intense, suivis par un mois qui n'avait rien arrangé, amenant son lot d'angoisse et de gestion de projet archaïque.
Je suis quelqu'un qui est investi dans mon travail, j'aime travailler et passer du bon temps à développer. Faire un travail bâclé m'horripile et j'ai tâché de gérer les conséquences de ce que j'avais effectué.
Moi-même, je me pensais insensible au stress, angoisses et autres problèmes de nerfs liés aux mondes du travail.
Une partie de mes études a été faite dans une école informatique. Celle-ci, avec le recul, prônait le travail au mérite à l'aide de piscines intense avec un rythme soutenu, malsain et à contre-productif, ils inculquent une valeur travail au dépit de la santé.
J'avais appris à travailler pendant près de deux ans dans un stress quasi continu accompagné d'une difficulté élevé. Dans cette école, il était courant de voir des personnes pleurées, triches ou tout simplement finir par se consoler chaque soir dans un boire pour déstresser de sa journée (l'alcoolisme commence bientôt). À la fin des études, diplôme et vacciné, je me pensais prêt à encaisser le monde du travail.
La réalité étant tout autre, quelques années après, tout cela me rattrape à vitesse match 10.
Le compteur de stress n'est jamais remis à zéro
Je me rends compte qu'un burn-out est bien arrivé et s'est bien installé. Je vous passe les syndromes et la définition du Larousse, mais je vous partage un peu la manière de comment j'ai ressenti la chose.
Une efficacité en chute libre, moins de code, incapacité à développer et à réfléchir sur des sujets complexes. Une forte irritabilité dans la vie personnelle, je m'énervais facilement au travail, la tête tout le temps dans le guidon et impossible d'avoir une prise de recul tout étant presque tout le temps sur les nerfs.
Malgré ça, je ne me suis pas rendu de suite rendu compte de l'étendue du problème.
Le côté vicieux est que je faisais du sport à côté. Rien de fourbe, me diriez-vous, que nenni, en positif, le sport permet de décompresser et d'améliorer sa santé. En négatif, il installe une fatigue physique et cache les autres symptômes que vous pouvez avoir.
Il permet de mieux supporter mentalement les événements de la vie quotidienne, de prendre l'air, sauf qu'il ne règle rien en profondeur. Si le problème est là, sport ou non, il ne disparaîtra pas, mais réduira la sensation de perte de contrôle.
Je pensais au fond de moi que le sport gardait ma santé mentale, jusqu'à que tout le mal-être ressorte en force.
Au fond, je ne dirais pas que je suis en dépression, je ne suis pas médecin, mais je sais que je ne suis pas bien.
Et dans tout ce chantier, comment ai-je pu gérer ça ?
Au travail, j'ai pu en parler avec ma hiérarchie de la besogne qui nous avaient été incombé. J'ai proposé de faire évoluer les fameux process pour espérer que cela n'arrive plus et depuis, il y a eu de l'amélioration. Cependant, j'ai préféré rester discret et de garder pour moi le sujet de ma santé mentale.
Aujourd'hui, je travaille en dents de scie, il y a des moments où je suis efficace, et d'autre moins, mais j'apprends à faire avec. Mentalement, je me sens encore un peu dépassé, j'ai pu effectuer des entretiens d'embauche sans grand succès. La vie personnelle apporte également son lot de chose à gérer. C'est assez triste de se dire qu'on commence à réaliser qu'on ne va pas bien une fois qu'on est au plus mal. Mais restons positif.
La première pierre de la guérison a été posée, le jour où j'ai réalisé que j'avais merdé quelque part. Trop de travail, trop de sport, trop de pensée, trop de tout. Et surtout pas assez de temps à passer avec soi-même.
J'ai fait du sport pour m'occuper de mon corps, mais je n'ai rien fait pour m'occuper de ma tête.
Je réalise, je respire et j'accepte de ne pas forcément être bien. La deuxième étape consiste à créer une liste de choses à faire, sans limite de temps ni chrono et simple à réaliser.
La première était d'écrire cet article.
Vous l'auriez compris (ou pas), je parlerai d'un peu tout ce qui me passe par la tête, en passante du développement, à de l'analyse hardware, ou à des sombres tests sur des logiciels, et autres gadgets au tout genre.
Ce titre de l'article était à l'origine le nom qui devait être utilisé pour ce blog.
Dans le pire des cas, si mes articles déclencheront des rires, au moins, j'aurais réussi quelque chose.
À mes plumes et bientôt.