D'un débutant en génie logiciel à un mentoré diplômé du LFX
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Je suis un étudiant de premier cycle en génie biomédical au National Institute of Technology Rourkela, en Inde. Pour quelqu'un qui a commencé à coder par simple fascination, ce fut un parcours d'auto-apprentissage parsemé d'obstacles. Mais quand j'ai découvert les contributions open source, l'approche était très accessible aux débutants et j'ai rencontré de nombreuses personnes qui m'ont aidé à mieux maîtriser la pile technique.

Le parcours de candidature
Au printemps 2021, j'ai découvert le programme de mentorat LFX. En parcourant les projets, je me suis senti intimidé car je ne connaissais pas la plupart des termes. Pensant que ce n'était pas pour les débutants comme moi, j'ai consulté la documentation et les FAQ du programme, puis postulé à plusieurs projets utilisant des technologies que je maîtrisais comme Docker, AWS et Python.
J'ai candidaté aux deux projets proposés par Chaos Mesh en soumettant mon CV et une lettre de motivation. Quelques jours plus tard, mon mentor m'a demandé de réaliser une tâche supplémentaire.

J'ai réalisé cette tâche, uploadé les fichiers sur GitHub et partagé le lien avec mon mentor.
La sélection et les premiers jours en tant que mentoré
2022-10-24: Suite à la suspension de la technologie Katacoda (https://www.oreilly.com/online-learning/leveraging-katacoda-technology.html) et comme indiqué dans #356, le tutoriel interactif est temporairement indisponible.
Je me souviens parfaitement du jour où j'ai reçu l'email de sélection au programme. J'étais ravi, car c'était ma première implication dans un projet open source. Heureux d'être accepté comme mentoré, j'ai même reçu une confirmation de la CNCF.

Avec mon mentor, nous avons opté pour Slack comme canal de communication. Il s'est enquis de mes connaissances en Kubernetes et Go. Comme je débutais sur ces technologies, il m'a recommandé des ressources et m'a accordé deux semaines pour les étudier. Entre-temps, il a préparé des expérimentations pour m'initier à ces écosystèmes.
En prenant mes marques avec Kubernetes, j'ai exploré Chaos Mesh et terminé le interactive tutorial, ce qui m'a éclairé sur son utilisation. J'ai ensuite implémenté le chaos hello-world, découvrant ainsi les contrôleurs et CRDs, éléments centraux de Chaos Mesh. J'ai également appris à utiliser les codes boilerplate et le client kube-builder pour le scaffolding et l'écriture de contrôleurs personnalisés.
Après cette phase d'expérimentation, j'ai commencé à résoudre des "good first issues" pour m'initier aux contributions en amont sur Chaos Mesh.

Lors d'une contribution, j'ai tenté d'ajouter le support multi-conteneurs au stress-chaos, une fonctionnalité alors impossible. Bien qu'implémentée avec succès, elle a cassé d'autres fonctionnalités et n'a pas pu être mergée pour la prochaine release. D'ailleurs, ce refactoring a finalement été réalisé pour la version 2.0.0. Cette expérience fut formatrice pour mon mentor et moi. Par la suite, nous avons systématiquement soumis une RFC et discuté avec les contributeurs avant d'implémenter de nouvelles fonctionnalités.
Ma contribution à AWS Chaos
Initialement, je devais implémenter un type de chaos AWS. En explorant le sujet, j'ai découvert awsssmchaosrunner dont nous avons voulu intégrer les fonctionnalités dans Chaos Mesh.
Nous avons planifié ce travail en deux parties : une partie est le projet « runner thing », qui s'intègre à awsssmchaosrunner, cette partie doit être écrite en Kotlin, et une image Docker doit en être construite.
Une autre partie concerne la définition du chaos AWS et son contrôleur, qui doit être écrit en Go. Ce contrôleur créera un pod utilisant l'image 'kotlin cli' et enverra des commandes vers AWS.
Autres opportunités
En fin de mentorat, j'ai été invité à présenter mon projet lors d'une réunion communautaire de Chaos Mesh.
J'ai ensuite posté au CFP des Kubernetes Community Days Bangalore, prévus en virtuel du 25 au 26 juin 2021. Sélectionné comme speaker, j'étais prêt à y présenter mon talk.
Diplômé et prochaines étapes
Youpi ! Après 12 semaines, j'ai obtenu mon diplôme du programme, grâce à mon mentor Zhou Zhiqiang sans qui cela n'aurait pas été possible.
J'ai passé un moment formidable avec la communauté Chaos Mesh, dont les membres m'ont soutenu tout au long du parcours. Je compte contribuer davantage à ce projet et m'impliquer activement dans la communauté.
Rejoignez la communauté Chaos Mesh
Pour nous rejoindre ou en savoir plus, retrouvez le canal #project-chaos-mesh sur Slack CNCF ou consultez notre GitHub.