Open Source Odyssey: My LFX Mentorship Constellation

Photo by Aldebaran S on Unsplash

Open Source Odyssey: My LFX Mentorship Constellation

Introduction

Embarking on an open-source journey is like setting sail in uncharted waters. Questions like "Where do I start?" and "Am I ready for this?" often linger. Join me as I spill the beans on my wild ride through the LFX Mentorship program—a transformative experience in the vast galaxy of open source.

What’s the LFX Mentorship and How Can I Participate?

The LFX Mentorship program spans 12 weeks, offering aspiring open-source contributors a unique opportunity for mentorship from seasoned professionals, often project maintainers or core contributors. With a curated list of contribution items, mentees actively engage in well-known projects, including those under the CNCF umbrella, gaining hands-on experience and sharpening their skills. The program's tangible impact is showcased through a snapshot of contributions, and upon successful completion, mentees receive a stipend as recognition for their dedicated efforts. In essence, LFX Mentorship is a transformative journey that blends mentorship, skill development, and meaningful contributions to enrich the open-source community.

Applying for LFX Mentorship isn't rocket science—create a profile, choose a project, complete the prerequisites, and blast off!

The Day It Happened

While hunting for a place to contribute, I stumbled upon LitmusChaos. The Slack community was amazing, always ready to help and cheering everyone on. I carefully crafted a proposal, laying out my dreams and game plan for diving into the project. It was nerve-wracking, especially since I'd faced rejection twice before.

Waiting for the results was like floating in space, not knowing which way was up. So, I kicked back, wondering if this would finally be the shot that lined up with my dreams. Then, on August 31, 2023, I got a call from a friend that felt like a wake-up alarm for my soul. The results were out, and I stumbled to my laptop, still half-asleep. Opening that email, I felt a mix of emotions—pure excitement, relief, and happiness that felt like catching stars. At that moment, I felt like I'd hit the jackpot.

I was selected, but little did I know, the main lap was just about to start.

What Did I Do During The Term

During my mentorship, I revamped litmusctl's interactive mode, improved code quality by refactoring functions into a Go interface, introduced comprehensive unit tests, and transitioned litmusctl's dependency from kubectl to client-go. Additionally, I enhanced accessibility by adding litmusctl to package managers and crafted a local development setup guide. Now, let me delve into the specifics of each task.

In my first week , I focused on getting to know LitmusChaos and understanding the project's ins and outs. Moving into the second week, I took on the task of making litmusctl, a tool in the project, more user-friendly using the promptui library. What made this phase enjoyable was the trust my mentors placed in me—they gave me the freedom to work the way I liked and always valued my input.

After smoothing out litmusctl's user experience, I delved into a significant learning curve—introducing unit tests for the main functions of the code. It was like giving each piece of the code a thorough check-up to ensure it not only works but works reliably. This task introduced me to new concepts, particularly the intricacies of Go interfaces. Learning about these concepts was like unlocking a new level of understanding, and it added an enriching layer to my mentorship experience.

Following the unit test phase, my focus shifted to a significant task—removing the kubectl dependency from litmusctl and incorporating the client-go library. This transition was not only a crucial improvement for the tool but also a fantastic learning experience for me. There were moments during our weekly sync-ups where the discussions seemed like a foreign language, and I felt like a complete newbie. However, my mentors consistently ensured that I grasped the concepts, patiently guiding me through the intricacies of the client-go library. Their support transformed what could have been overwhelming into a valuable learning journey.

In the final leg of my mentorship journey, I took on the task of making litmusctl more accessible by adding its binary to Homebrew for macOS users and Chocolatey for Windows users. This step aimed to simplify the installation process and broaden the tool's reach.

Simultaneously, I crafted a comprehensive local development setup document for litmusctl. This documentation was designed to guide developers through the setup process, making it easier for them to dive into litmusctl's codebase and contribute effectively.

These tasks not only concluded my mentorship on a practical note, contributing to the project's usability, but also encapsulated the full spectrum of my learning—from refining code functionality to enhancing user experience and ensuring broader accessibility. The support and guidance from my mentors were instrumental throughout this enriching journey.

Conclusion

When I applied for LFX Mentorship, I was the equivalent of a coding tadpole in a vast pond of possibilities. Today, I stand taller, realizing that the journey itself is the destination.

Thank you for joining me on this cosmic rollercoaster. As I embark on the next phase of my coding journey, I want to extend a cosmic-sized thank you to the incredible individuals behind the scenes Sarthak, Neelanjan, Saranya, and the Litmus family! Your unwavering dedication to sculpting a tool as extraordinary as Litmus doesn't go unnoticed. Your mentorship, guidance, and the camaraderie within the LitmusChaos community have been the gravitational force propelling my journey to new heights.

To those who have been following my odyssey, consider this an invitation to join the LitmusChaos community on GitHub and Slack. Dive into the chaos, contribute, and let's continue coding among the stars!

It's time to let the chaos begin! 🚀🔥