Persévérance

Persévérer, c’est faire face à l’éxecution d’une tâche complexe sans renoncer. C’est la détermination d’accomplir une tâche tout en franchissant des difficultés.

En effet, à WALLIX j’ai dû développer un Proof Of Concept en langage C d’un driver minfilter. Je partais de rien, j’étais persuadé que j’aurais échoué ou que j’aurais réussi au bout de 6 mois voire plus. Au départ, je n’y comprenais rien mais à force de lire, m’intéresser au sujet j’ai fini par comprendre le fonctionnement et prendre confiance en mes capacités. Au développement du driver j’éprouvais des difficultés et rencontrais des bugs qui prenaient quelques fois une semaine à être résolus. Ainsi, au bout de deux mois j’ai pu atteindre mes objectifs sans demander à mon maître d’apprentissage de me changer de projet (j’ai pu choper quelques astuces sur les mutex et spin locks grâce à lui).

Un moment particulièrement marquant a été quand je devais trouver une solution afin de partager les différentes informations entre les fonctions que j’avais développé sachant que je ne pouvais pas modifier leurs entrées car elles sont spécifiques au système d’exploitation Windows. J’ai utilisé une variable dont l’accès mémoire était possible par toutes les fonctions communément appelé variable globale, problème ? Il y a du multithreading, la valeur de ma variable se faisait écraser et ne correspondait pas au contexte et ça créait une vulnérabilité en plus qui permettait contourner le mécanisme de gestion des droits du driver. J’ai été bloqué pendant presque deux semaines je me suis sorti de cette impasse en créant ma structure de donnés et des spin locks (interdit l’accès mémoire à tout sauf à la fonction qui l’utilise), c’est ce qu’on appelle communément des opérations atomiques. L’étincelle de la réussite m’est venue à 2h du matin quand je dormais, je me suis levé et j’ai noté la solution sur une feuille.

En conclusion, après plusieurs échecs j’ai fini par réussir. Je me suis approprié un sujet complexe et pointu techniquement. Cette persévérance m’a permis de progresser sur un sujet que je trouve passionnant sans pour autant abandonner.