My Experience as an LFX Mentee at CNCF: Thanos

Shubham Kumar Diwakar
6 min readMay 27, 2023

--

Life’s most extraordinary experiences often emerge from unexpected encounters and profound connections.

My journey as a mentee in the LFX mentorship program with Thanos was one such remarkable chapters. As I reflect upon the transformative moments, valuable insights, and personal growth that unfolded, I am reminded of a powerful quote by Maya Angelou:

“People will forget what you said, people will forget what you did, but people will never forget how you made them feel.”

These words encapsulate the essence of my mentorship experience. Through this blog, I aim to tell about my experience in this mentorship from the application stage, getting shortlisted, projects I worked on, and what I learned as a mentee.

Background

Hey Folks!
I am Shubham Diwakar a recent college graduate in Electrical and Electronics Engineering from Indian Institute of Technology, Patna. I recently graduated from LFX Mentorship Program. Before diving into the world of open source and embarking on this mentorship journey, my background was primarily rooted in competitive programming . While I had always been passionate about Open Source, my exposure to the realm of it was relatively limited.

What is LFX Mentorship?

Lets start fresh…
According to the Linux Foundation,

“LFX Mentorship is a program designed to connect aspiring open source contributors with experienced mentors from various open source projects. The program aims to foster the development of new talent by providing mentees with guidance, support, and hands-on experience in the open source community.”

Linux Kernel Mentorship Program usually happens three times a year. And in each term you can apply for a maximum of 3 organizations.

Please have a look at the Mentorship guide to learn how to participate in LFX Mentorship programs: lfx.linuxfoundation.org/mentorship/guide

How I came to know about the program

Before the mentorship started I was in a conversation with my friend Akshat that I want to contribute to some good projects, upon which he suggested me to look over LFX Mentorship Program. There were certain organization I looked around and tried understanding there product.

Using an open source project before becoming a contributor is essential to understanding the project’s functionality and architecture.

It helps you identify the project’s issues and challenges. And from here I was introduced to Thanos and found the project really interesting.

Selection Process

As told Linux Foundation opens LFX mentorship applications thrice a year: one in spring, one in summer, and the fall term, each cohort being for a span of 3 months. I applied to the spring cohort (or first term) for which the applications opened up around 1st February 2022 and I submitted my application on 3rd February 2022 for the Thanos Project.

As the application process had began, I updated my resume with relevant experiences that could help me getting selected and drafted a cover letter, acknowledging some of the required questions included

  • How did you find out about our mentorship program?
  • Why are you interested in this program?
  • What experience and knowledge/skills do you have that are applicable to this program?
  • What do you hope to get out of this mentorship experience?

Note: Be as comprehensive as you can in your cover Letter and include all previous experience that you think will help you stand out from the competition.

Kept on Updating Resume until last day of application submission😅

Final Call

For each organization the way they select mentees differ, for Thanos they first reviewed the resume and experience. Post which they setup call with mentees where they discuss literally everything written on resume. Post that there were some behavioral questions like why Thanos ? have you used it? some questions based on Prometheus ? some question on required skills for mentorship like Golang, grpc, protobuf, parquet ? so that mentors can comprehend what all things they need to help you with during mentorship.

Tip : Don’t lie on resume. Be honest with mentors regarding what all things you know and what you don’t.

Finally one week after the initial call with Filip and Prem, I finally received word from the LFX team through email that my proposal had been approved. It was a significant accomplishment for me because I had aimed to take part in mentorship and contribute to open source.

“It always seems impossible until it’s done”

Mentorship Journey and Learnings

Once I got selected we had our first meet before even the mentorship period started. As my project was part of a POC so I was given the task to research as much possible on the different aspects of the project. During the first meet mentors helped me understand the requirement of project, why do we even need it.

Post that I was given some weekly task. For first week it was to deeply understand the architecture of Thanos and Prometheus. I was given some tasks specific to my project like understanding TSDB format, metrics, sample, series, timeseries. How Promql works? I got much needed help from the talks given by maintainers at platforms like KubeCon, PromCon, etc.

From the second week on, I started getting my hands dirty with Prometheus TSDB block creation, whether it was analyzing the blocks post-creation. Each week we used to have a sync around the project, in which mentors would help you resolve the issues you encountered.

We had begun converting the TSDB block to parquet as of the third week. We repeatedly performed the reinforcements at this section. We tested every design imaginable since we lacked a specified target. It occasionally caused obstructions, but once everything was resolved, it was wonderful. We began adding functionality to the project moving ahead from the third or fourth week( not adding all technical details here, can have a look at work below).

Finally, at the end of mentorship, we were able to build a cli tool using which you can convert a TSDB block to a parquet file. On top of which, you can do the query for any metrics.

Link to work:- Checkout my work

Concluding the program and final Words

My Journey at CNCF: Thanos was very special as I got exposure to those big codebases which I found very hard to navigate. During a single project got the opportunity to use multiple other open source projects like frostdb, epimetheus, arrow, segment-io/parquet-go. I believe that no college project can ever provide me this much exposure, consistency and eventually the mentorship. Best thing is that this mentorship helped me kickstart my open source journey, due to which I am now looking forward to contribute to Thanos.

Contributing to open source is nerve-wracking, especially if you are a beginner.

I had some previous internship experience at Google and Cred but still found that contributing to open source is hard.

Other than technical skills, your soft skills matters, its very important to express your thoughts and opinions clearly to your mentors. One thing that people don’t realize is that these mentorship programs improves your communication skills as you work in a global, async manner.

At last would love to thanks Filip and Prem because without their support and patience this wouldn’t have been possible. I would be forever grateful for this opportunity.

People usually ask which project do I contribute to? Where do I start? What if I’m not skilled enough? If you know the basics of language used in development for the project and you are determined to learn then I feel it would be good enough to start with open source contribution.

If you have any queries, connect with me on LinkedIn or Twitter and I would be happy to help you out!

--

--