My Journey in LFX Mentorship Program Summer’22
Tags: opensource, cncf, webdev, computerscience
Published: 2022-10-19 18:01:31

Hi folks! I am Shwet Khatri, a student pursuing an undergraduate in Computer science and Engineering at The LNM Institute of Information Technology, Jaipur, India. My interests include developing real-world solutions with full-stack web development and collaborating worldwide to build open-source software.

Recently, I completed the LFX Mentorship Program which is an Open source program where I worked on a cool project funded by CNCF which goes by the name of Karmada and I decided to write a blog encapsulating my journey, from the application process to the end, shedding light upon the learnings I earned and how you too can become a part of such a great program, not because of the bucks it offers but primarily, the fantastic kind of mentorship and networking opportunities it ends up offering.

## So, What is Open-Source?

Open-Source software provides users the freedom to modify their code according to their needs. It is a way through which you can get real developer experience and work on amazing real-time projects. We get to solve many real-life problems through technical solutions by working on such open-source projects.

## Now, What is the LFX Mentorship Program?

This is an Open-source program initiated by The Linux Foundation to promote the involvement of people all around the globe in open-source development. This program is similar to other open source programs like Google Summer of Code where you get the opportunity to work on an open-source project under the personal mentorship of its maintainers for a period of 3 months.


![Linux Foundation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t4be8yvyryo8j8xli9cp.png)


## How does this program work?

The format of this program is pretty straightforward and resembles other open sources programs out there. One difference and advantage about this program is that it runs 3 times a year — Spring (March 1st — May 31st), Summer (June 1st — August 31st), and Fall (September 1st — Nov 30th).

Every quarter, this program begins with different organizations proposing project ideas that they’d like the mentees to work on. For a period of around 2 weeks, they propose their ideas over the [cncf/mentorship](https://github.com/cncf/mentoring) repository.


![LFX Mentorship - CNCF Projects](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mi2kba4hxhkplr59u540.png)

After that period, for the next 2 weeks, the application phase for the interested people begins when they submit their applications including a resume and cover letter mentioning their interest, skills, and related experience over the [LFX Mentorship website.](https://mentorship.lfx.linuxfoundation.org/) Some organizations also consider taking interviews to shortlist people from a high number of applicants.

And after a few days, the results get released via email, and then, the fun part begins where the selected mentees get to network with their mentors and start the work on the projects for which they got selected.

## How did I get selected?

Around January 2022, I got to know about a list of such open-source programs on [Linkedin](https://www.linkedin.com/) from one of my connections. I was first very much interested to take part in [Google Summer of Code 2022](https://summerofcode.withgoogle.com/) and gave my best for two months. My proposal was selected by the mentors of the organization where I applied, but unfortunately, Google didn’t have enough slots for my organization and I was cut off since the priority of my project was quite low at that time. Although no worries, This happens every year and I will try next year. Still, the efforts we put in always succeed in one or another way. So, My learnings preparing for GSoC helped me get selected for the LFX Mentorship program. Also, writing a proposal for GSoC helped me write a cover letter here.

During the application period, I looked for projects that match my tech stack and I found three projects having ReactJS, Redux, and Figma being mentored by Karmada. So I decided to focus on those three. Some projects also provide good first issues for new contributors. My project didn’t have those, so I started getting connected with the mentors and suggesting some ideas related to my project, which increased my chances of getting selected. I did apply to all three possible projects to have no risk and got selected for the most preferred one.

![Selection News](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lto1r5l1lmc8qj1v4eq7.png)


## About Karmada

Karmada (Kubernetes Armada) is a Kubernetes management system that enables you to run your cloud-native applications across multiple Kubernetes clusters and clouds, with no changes to your applications. By speaking Kubernetes-native APIs and providing advanced scheduling capabilities, Karmada enables truly open, multi-cloud Kubernetes.


![Karmada](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0tspee03fqzaayzckjhw.png)



My task was to work on Karmada Dashboard, which is a general-purpose, web-based control panel for Karmada. I was expected to design three web pages for the dashboard in Figma and develop them as well using ReactJS which were FederatedResourceQuota, SearchRegistry, and MultiClusterIngress pages.

## My three months long journey …

I first connected with my mentors to get an idea about the project and the requirements during the mentorship program. Then as suggested by them I started designing the pages. One of my mentors already designed other pages, so I designed all three pages in [Figma](https://www.figma.com/files/recent?fuid=926833673047903130) showing a table view of different services as shown [here](https://www.figma.com/file/7sutvN0vJ4xu6HNkhPRa9l/Karmada-UI---By-Shwet?node-id=1%3A36) by being consistent with the used theme on existing pages. So, the first month of the mentorship was all about getting continuous feedback and improving the designs over iterations.

In the second month, I was expected to code these UI pages and I thought that should be done within a month. But it wasn’t that easy. Because setting up the project with not too much experience working with DevOps technologies was quite hard. The project was only available to run locally on Linux-based systems, but I had Windows, so I dual-booted my system. Then I started setting up different DevOps technologies such as [Docker](https://www.docker.com/), [Kubernetes](https://kubernetes.io/), and [Kind](https://kind.sigs.k8s.io/). Getting used to these technologies took me some time and effort. I was daily solving some problems and getting stuck into new problems. My mentors help me a lot during that period. After around 15 days of effort, I did setup the karmada main project and the dashboard project.

In the later part of the mentorship, I started creating the reusable ReactJS components which were finalized in the designs. I created a reusable Table, Pagination, and Sidebar component during the mentorship, which got approved for the frontend. Now, after the mentorship, I am focusing on backend APIs to be integrated and everything can be merged then. Here are some [Pull Requests](https://github.com/karmada-io/dashboard/pulls?q=is%3Apr+ShwetKhatri2001+), I’ve created till now.

So, summarizing this journey for someone applying next, you should have some knowledge to get started easily, but you will face some problems, but just research a little bit about the problem, learn the tech behind it, and ask for a mentor’s help whenever required and you will surely make it.

## Why should you definitely go for this program

One of the best things to get from this program (or any other paid/non-paid open source program) is the opportunity to get personally mentored by a set of talented engineers maintaining a really cool project. Apart from that, you get more opportunities and ways to converse and network with the community and get feedback from them.

And finally, the stipend is an added benefit because why not 😉 But yeah, that being said, I’d strongly suggest you to NOT keep the stipend as your sole motivator towards this program or any other open source program because that would just cloud your vision from the genuine and long-lasting benefits this program would be offering i.e. the skills, the mentorship, and the networking opportunities.

## Is it really tough?

Simple answer — Nope!

Let me exemplify myself:

I started contributing to Karmada only a few days after it proposed its project idea, so I didn’t have/need any headstart.
You don’t need to be proficient in each and every technology the organization or project is involving. For example, I wasn’t good at DevOps that time but this program gave me an opportunity to explore and learn myself that field of development as well.
At the end of the day, the most important skill for doing open source dev is Patience, because the people working in open-source organizations belong to different countries and timezones. So, contribute and wait for the feedback that cycle goes on.

## Conclusion

Finally, after 12 weeks, the time really flies. I didn’t want this program to end. But every good thing comes to an end. Thanks to my mentors Chinmay Mehta , Hongcai Ren and other community members because without them this wouldn’t have been possible. I really appreciate my mentor’s time and effort, as well as the effort other community members put into this program. I was really amazed to see the community which is so understanding and welcoming and always ready to help new contributors.

I had a great time with the Karmada community, with the amazing members supporting and helping me throughout the journey. I look forward to contributing more to this project and being more active in the community even after the mentorship.

## Adios

Thanks for reaching till here! Hope you found this blog informative enough to have gained insights into the specifics of the LFX Mentorship Program.

If you still have any questions regarding this program or regarding open source dev, or tech in general, or just wanna check out my work, feel absolutely free to reach me out on my social media handles provided below:

Linkedin : [https://www.linkedin.com/in/shwet-khatri-4ab216196/](https://www.linkedin.com/in/shwet-khatri)

GitHub : [https://github.com/ShwetKhatri2001](https://github.com/ShwetKhatri2001)

Twitter : [https://twitter.com/shwetkhatri2001](https://twitter.com/shwetkhatri2001)

Till then, Keep Contributing 🙂