Mentorship post originally published on Dev.to by Afzal Ansari
Introduction
I am thrilled to share my experience as an LFX Mentee for Jaeger, an open-source project that focuses on observability within the cloud native ecosystem. My passion for open source projects and emerging technologies led me to explore the world of DevOps, where monitoring and observability are paramount.
I started my impeccable journey by applying for the CNCF LFX Mentorship program. I highlighted my enthusiasm for DevOps and explained how it intertwined with monitoring and observability, aligning perfectly with Jaeger’s objectives.
Being selected as a mentee for Jaeger was a moment of great excitement. It affirmed my commitment to diving deep into the observability ecosystem and experiencing the day-to-day tasks of managing infrastructure in a cloud-native environment.
My mentor and the Jaeger community provided an exceptional onboarding experience. I gained insights into the project’s history, architecture, and its role in the CNCF landscape. Understanding the fundamentals was crucial for my contributions.
Throughout my mentorship, I actively contributed to Jaeger where my main task is to refactor code migrating open tracing pkg to OpenTelemetry pkg. These experiences allowed me to sharpen my coding skills while also understanding the complexities of a real-world, production-ready open-source project. These also gave me a deeper understanding of the Observability part. I learned how it handles microservices and how observability tools like OpenTelemetry can be integrated seamlessly. This knowledge was invaluable for my DevOps aspirations. I understood the importance of tracing and monitoring for troubleshooting and optimizing performance.
This mentorship significantly boosted my confidence as a developer and my understanding of open-source contributions. I honed my skills in coding, debugging, and collaboration, which are all crucial for a career in DevOps. I now have a clearer path towards my career goals and a network of professionals to learn from and collaborate with in the future.
Application Process
I discovered the Jaeger project at CNCF LFX Mentorship page. I thought this was a great opportunity to work on an open source project, which I had been dreaming about. I also had the right technology stack, so I submitted my resume right before the deadline where I highlighted my relevant experience, skills, and contributions to the tech community. In my cover letter, I went the extra mile by proposing concrete tasks to be undertaken during the mentorship period. This demonstrated my commitment and readiness to contribute meaningfully to the project. It also showcased my understanding of the project’s needs and how my skills could address them.I think this is the crucial thing to give your proposal more chances of getting selected.
After submitting my application, there was a period of anticipation. Waiting for the results can be a nervous but exciting time, as you hope for the opportunity to work on a project you’re passionate about. I was lucky enough to receive the good news that I got selected for the mentorship. This was a moment of great joy and validation of my efforts.
Project Process
The project I applied for was Upgrade internal use of tracing to OpenTelemetry under Jaeger category project, which aimed to upgrade the Jaeger backend to use the OpenTelemetry tracing API and SDK directly.
During the first two weeks of the project, I got familiar with the business process and some details of Jaeger code base. In the next two weeks, I started to contribute to the sub-part of the project introducing a new pkg which included passing a wrapper that contained a wrapper object. This wrapper object streamlined the migration from open tracing to OpenTelemetry by providing a convenient interface.
This phase of work required a deep understanding of both technologies and the project’s architecture. During this time, I studied one of many blogs written by Yuri about open tracing and met with my next mentor Albert, to understand the clear understanding of the blog and some of the code logic.
The tasks related to hotROD application migration were strange to me in the first place. Therefore, I had to ask my mentors for technical support from time to time, and they were always very responsive. I was greatly impressed by my mentor’s extensive knowledge and experience in this field. Under the guidance from my mentors, I was finally able to put together all sets of milestones for my task. Later, in order to track my work, I created a tracking checklist on another doc as suggested.
However, during the subsequent coding work, I encountered various problems. Most challenging part was to enable OpenTelemetry SDK and APIs everywhere I saw use of opentracing pkg which I later was able to resolve through submitting small small PRs following the milestones created for my project gradually.
Conclusion
My project process involved a systematic journey of learning, contributing, and problem-solving. Hence, I was able to demonstrate adaptability by seeking help when needed and effectively collaborating with mentors and the community.
The experience of encountering challenges and overcoming them will undoubtedly contribute to my growth as a developer and open-source contributor. My commitment to documenting my work and reflecting on my experiences showcases a proactive approach to continuous improvement. This project not only contributed to the Jaeger project but also enriched my own skill set and understanding of tracing technologies.
If you’re interested in contributing to the LFX Mentorship projects, start your journey now by getting exposed to the community with small contributions before you apply for mentorship.
Thanks for reading by.