How I made my first contribution to C4GT as someone who has never worked in open-source
Introduction
Hi there!!! I am your average college student who was intimidated by open source. I always heard the stories of people who got into programs like GSoC, MLH fellowship, and GitHub Winter of Code and wondered if I could ever contribute to any of the projects and get accepted into such prestigious programs.
I had worked on multiple projects of my own but working with someone else’s code was just too frightening, “What If I mess something up”, “What if I am not capable enough”, “I do not even know where to start, this is just a waste of time”.
That is when I heard about C4GT
C4GT
If you haven’t heard about C4GT, it is an initiative by Samagra, a governance consulting firm, to upskill the next generation of programmers. It has many perks like working with professional programmers in a one-to-one mentorship, Working on a complete government project, and to top it all off, a stipend of 1 lakh for the 2 months of the program
The heart and idea behind open source are, working together, to make small small contributions and develop an idea with like-minded people. And the mentors of C4GT stay true to this. All of them are easy to approach and guide you from the very beginning on how you can go about making your first contribution, even if you have no idea what you are doing (like me)
Making my first contribution
- Joining the Discord server was my first step. This introduced me to the community and showed all the other enthusiastic people working and helping each other to make contributions. It was amazing to see so many people from so many different backgrounds. I remember even seeing a kid in 10th grade enquiring about how to make a contribution. This lit a fire inside of me, and I decided. Doesn’t matter if I get into the program or not. I will make a contribution.
- I was fortunate enough to be clear about my own strengths. I knew I had worked in Python and had skills in the ML, DS, and AI domains. So I went to the whole list of projects provided by C4GT. And opened each project one by one.
- Each project had a tech stack written with it, this helped me pick point the exact projects with which I could help. (any project that mentioned js, react, angular, etc was of no use to me as I had little to no idea about them. So I specifically targetted the projects which had Python mentioned in their stack)
- So I chose to contribute to the Text2SQL project. But if that is not the case for you, You can always contact the mentors tell them about what you are good at, and ask about which project will be good for you.
- I went to the project and went through the issues present in it. I was looking for the tag “good first issue” or “beginner” which I knew were easy issues that anyone can fix. Luckily I found an issue that was dated February 22. I believed I could contribute to this issue
- But it was so old, Hence I was uncertain whether they were still looking for contributions to that issue. I contacted the mentor through Discord about it. And he was very helpful and happy to guide me through it
- He made me realize every little contribution counts. So I decided to work on it.
- I made a few directory changes and added a list for the literature review. As small as this seems, it helped create a place where everyone wishing to contribute to the project in the future could write down their findings.
- And finally, I got my first PR merged
Why you should contribute
There are multiple reasons one should contribute to open source even if one may or may not get selected into the program, a few of them being:
- Learning and Knowledge Sharing: Open source projects promote a culture of learning and knowledge sharing. By contributing, you have the opportunity to explore new technologies, programming languages, and frameworks. You can also learn from the code reviews and feedback provided by other contributors, improving your understanding of best practices and coding standards.
- Building a Portfolio: Open source contributions serve as evidence of your skills and commitment to the software development community. They can be valuable additions to your professional portfolio, demonstrating your ability to work on collaborative projects and showcasing your code quality to potential employers.
- Networking and Collaboration: Engaging in open-source projects enables you to connect and collaborate with developers from around the nation. This network can lead to valuable professional connections, mentorship opportunities, and exposure to diverse perspectives and approaches to problem-solving.
Conclusion
If you are a programmer or someone who is just getting into programming. This is the perfect opportunity for you to learn and grow, The community is extremely helpful and the learning opportunity is tremendous. So I urge you if you have the slightest bit of interest. Come join us.