Vom Newbie in der Softwareentwicklung zum erfolgreichen LFX-Mentee
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →

Ich studiere als Junior im Bachelor Biomedical Engineering an der Fakultät für Biotechnologie und Medizintechnik des National Institute of Technology Rourkela in Indien. Als jemand, der nur aus Faszination mit dem Programmieren begonnen hat, war es eine selbstgesteuerte Lernreise mit vielen Herausforderungen. Doch als ich mit Open-Source-Beiträgen startete, fand ich eine einsteigerfreundliche Umgebung und viele hilfsbereite Menschen, die mir halfen, den Tech-Stack besser zu verstehen.

Der Bewerbungsweg
Im Frühjahr 2021 entdeckte ich das LFX-Mentoring-Programm. Beim Durchsehen der Projekte fühlte ich mich zunächst eingeschüchtert – viele Begriffe waren mir unbekannt und ich dachte, das Programm sei nichts für Newbies wie mich. Dann studierte ich die Programmdokumentation, die Mentoring-FAQs, folgte den beschriebenen Schritten und bewarb mich für Projekte, die mich interessierten und Tech-Stacks nutzten, die ich kannte: Docker, AWS, Python etc.
Ich bewarb mich für beide Projekte von Chaos Mesh und reichte Lebenslauf und Anschreiben als Sofortaufgaben ein. Nach einigen Tagen erhielt ich eine E-Mail meines Mentors mit einer zusätzlichen Aufgabe.

Ich erledigte die genannte Aufgabe, lud die Dateien auf GitHub hoch und teilte den Link mit meinem Mentor.
Die Auswahl und erste Tage als Mentee
2022-10-24: Aufgrund von https://www.oreilly.com/online-learning/leveraging-katacoda-technology.html und Bezugnahme auf #356 ist das interaktive Tutorial vorübergehend nicht verfügbar.
Ich erinnere mich genau, als ich die Aufnahmemail meines Mentors erhielt – begeistert, denn es war meine erste Open-Source-Teilnahme. Ich freute mich, als Mentee angenommen worden zu sein und erhielt sogar eine Bestätigungsmail der CNCF.

Mit meinem Mentor vereinbarten wir die Kommunikation via Slack. Er erkundigte sich nach meinen Kubernetes- und Go-Kenntnissen, die noch begrenzt waren, und empfahl Lernressourcen. Für deren Durcharbeitung gab er mir zwei Wochen Zeit. Parallel plante er erste Experimente, um mir den Einstieg in diese Technologien zu erleichtern.
Als ich mich mit Kubernetes vertrauter machte, begann ich Chaos Mesh zu erkunden und absolvierte das interactive tutorial, das mir ein klareres Bild über die Verwendung von Chaos Mesh vermittelte. Anschließend setzte ich das Hallo-Welt-Chaos um, was mir half, mehr über Controller und CRDs zu lernen, die als Kernkomponenten von Chaos Mesh gelten. Zudem machte ich mich mit Boilerplate-Code, dem kube-builder-Client und dessen Verwendung für Scaffolding vertraut, bevor ich eigene Controller entwickelte.
Nach den ersten Experimentierphasen und dem besseren Kennenlernen des Projekts begann ich, einige "Good-First-Issues" zu bearbeiten, um mich mit Upstream-Beiträgen zu Chaos Mesh vertraut zu machen.

In einem meiner Beiträge implementierte ich die Multi-Container-Unterstützung für Stress-Chaos, die zuvor nicht möglich war. Obwohl die Umsetzung technisch funktionierte, führte sie zu Nebenwirkungen in anderen Funktionen und konnte daher nicht in das nächste Release aufgenommen werden. Interessanterweise war diese Refaktorisierung bereits für Release 2.0.0 geplant, sodass dieser Beitrag für meinen Mentor und mich gleichermaßen lehrreich war. Seither gehen wir bei neuen Funktionen systematischer vor: Wir stellen zunächst ein RFC zur Diskussion mit anderen Beitragenden, bevor wir mit der Implementierung beginnen.
Mein Beitrag zu AWS Chaos
Ursprünglich sollte ich nur eine Art von AWS-Chaos implementieren. Während der Recherche entdeckte ich jedoch awsssmchaosrunner – angesichts seiner Funktionalität beschlossen wir, es in Chaos Mesh zu integrieren.
Wir planten die Umsetzung in zwei Teilen: Das "Runner-Projekt" (in Kotlin implementiert) integriert awsssmchaosrunner und wird als Docker-Image bereitgestellt.
Der zweite Teil umfasst die Definition des AWS-Chaos und seinen Controller (in Go geschrieben). Dieser Controller erstellt einen Pod mit dem Kotlin-CLI-Image und sendet Befehle an AWS.
Weitere Möglichkeiten
Gegen Ende des Mentorships wurde ich zu einem Chaos-Mesh-Community-Meeting eingeladen, wo ich mein Projekt vorstellte.
Anschließend bewarb ich mich beim CFP der virtuellen Kubernetes Community Days Bangalore (25.–26. Juni 2021) und wurde als Speaker ausgewählt.
Abschluss und nächste Schritte
Juhu! Nach 12 Wochen schloss ich das Programm erfolgreich ab – dank meines Mentors Zhou Zhiqiang und seiner Unterstützung, ohne die dies nicht möglich gewesen wäre.
Ich hatte eine großartige Zeit mit der Chaos-Mesh-Community, deren Mitglieder mich auf meiner Reise stets unterstützt haben. Ich freue mich darauf, weiter zum Projekt beizutragen und aktiver in der Community zu werden.
Werden Sie Teil der Chaos-Mesh-Community
Um mitzumachen und mehr zu erfahren, besuche den Kanal #project-chaos-mesh im CNCF Slack oder unser GitHub-Repository.