Table of contents
Who am I?
I’m Anurag Rajawat, a college dropout self-taught developer from Lahar, Madhya Pradesh, India. I worked on the Eclipse JKube project as part of the Google Summer of Code 2022.
What is Google Summer of Code?
The Google Summer of Code, often abbreviated to GSoC, is an international online mentoring program focused on introducing new contributors to open-source software development. GSoC contributors work on a 12+ week programming project with the guidance of mentors from their open-source organization during the summer. As of 2022, the program is open to anyone aged 18 or over, no longer just students and recent graduates.
For anything regarding application procedure, timeline, and such common facts head over to GSoC
How did you start contributing to Open Source projects?
I have always been interested in machines, such as computers and phones. In my 12th standard, I started learning computer science alongside my regular studies. In March 2021, when the exams were postponed due to COVID-19, I had a lot of free time. I decided to devote my time to learning and exploring technical topics.
During this time, I learned about open source and open source programs from Kunal Kushwaha. He was working with CodeForCause at that time, and he introduced me to the GitHub platform and open-source development. I was lucky enough to join his DSA boot camp, where I learned data structures and algorithms in Java. This gave me a good understanding of programming.
After learning Java, I started looking for "good first issues" to contribute to. I didn't specifically look for GSoC issues, but I was lucky enough to find some in Chaos Monkey for Spring Boot and Fabric8 Kubernetes Client. I contributed to these projects, which helped me to improve my skills and learn how to understand the codebase of large projects. This is how I started contributing to open-source projects.
How did you choose the right Organization?
Choosing the right organization and project is the most crucial decision you will make in the GSoC application process. It is important to consider your skills and interests, as well as the organization's goals and values.
I started by going to the GSoC past projects archive and looking for projects that use the Java language. I found that some of the organizations that regularly participate in GSoC and use Java include Apache, Eclipse, JBoss, and Jenkins. This gave me a good starting point for my research.
When the organizations for this year were announced, I checked their idea lists and found a project that was a good fit for my skills and interests. I joined the community for the project and started contributing to it. This gave me a chance to learn more about the project and the organization, and it also helped me to build relationships with the other contributors.
I believe that choosing the right organization and project is essential for a successful GSoC experience. By taking the time to research your options and find a project that you are passionate about, you will be well on your way to a rewarding experience
Contributions and Pre-proposal phase
This is a process that requires dedication more than anything. In the beginning, I had no understanding of the project and the purpose it was trying to serve. I only knew core Java but the project uses container technologies like Docker/Kubernetes. So I started learning about these technologies and understanding the project and its purpose.
After learning and understanding the project, I started contributing to it. I started with some good first issues and for the whole month, I tried to have as many conversations with the project mentors as possible and didn’t even look at any other project and helped other members.
During this phase, I also reached out to my mentors to get their input on what they would like to see in the proposal. I started writing my proposal a few days before the submission deadline, and I requested feedback from the community on a draft of the proposal. I received some helpful feedback, which I incorporated into the final proposal. I submitted the proposal before the deadline and finally submitted the proposal before the deadline.
How did you increase your chance of selection?
First of all open-source is all about collaboration, not competition. In the beginning, I worked on some good first issues. I always try to challenge myself one step ahead of issues. So, I worked on some big issues, helped other community members, and regularly interacted with the community.
The learning from here is that we should learn to help others don’t think like "If I helped him/her then I’ll lose as we do in our exams." If you help others your chance of selection automatically increases.
As we all know, Google made several changes to its program this year. One of the most significant changes is that anyone who is over 18 can now participate, regardless of whether they are in college, have graduated, or have never attended college. I am grateful for this opportunity, and I believe that it is a testament to the program's commitment to diversity and inclusion.
I am grateful to my mentors, Marc Nuri, Rohan Kumar, and Sun Tan, for their guidance and support. Their regular feedback and encouragement helped me to complete the project, which would not have been possible without them. I am truly grateful for their mentorship.
Experience with Eclipse Community
I am grateful to have mentors like Marc Nuri and Rohan Kumar, who are not only good mentors but also great people. They have been welcoming, helpful, and supportive, and I have learned a lot from them.
The Eclipse community is also very welcoming and helpful. I feel like a part of the community, and I have made valuable relationships with other members.
My involvement with the Eclipse community has enhanced my technical and communication skills. I have learned how to work on complex projects, communicate effectively with others, and follow coding standards. I have also developed a strong sense of teamwork.
Open-source projects are designed, implemented, and maintained in a way that teaches you how an enterprise-level project should perform in a real sense. This has given me a valuable understanding of how the industry works.
I am grateful for the opportunity to have been involved with the Eclipse community. It has been a rewarding experience that has helped me to grow as a developer.
If you want to start your open-source journey with us please read How to contribute to Eclipse JKube. We'd love to accept your patches!
Why didn’t you join College?
I come from a poor family, and my father is a farmer. In June 2021, my family suffered a terrible loss in which we lost all of our savings. We didn't have enough money to pay for college, and I was devastated. However, my parents were incredibly supportive, especially my mother. They told me that they would help me in any way they could and that I should never give up on my dreams.
I was inspired by Kunal Kushwaha's videos, in which he often mentioned Apoorv Goyal, a friend of his who had no degree but was still very successful. This gave me the motivation to continue my self-study, even though it was difficult.
Self-study requires a lot of motivation, but I knew that it was the only way for me to achieve my goals. I have been self-studying for the past year, and I have made a lot of progress. I have learned a lot of new things, and I have improved my skills. I am still not where I want to be, but I am confident that I will reach my goals eventually. I am grateful for the support of my parents, and I am determined to make them proud.
Tips
Communication skills are way more important than technical ones.
Don't hesitate to ask questions.
Help others, and be active in the community.
Focus on quality over quantity.
Be open-minded to learn new things.
Don't rush, be patient.
Request feedback on the proposal draft from the community members.
Challenge yourself, and if possible go beyond what's expected or assigned to you.
Thank you so much for taking your valuable time to read.