According to Wikipedia, India annually produces 1M engineering graduates! (Yep! That’s a lot). And I am one of the 1M graduating in 2022. Just like most people, when I started studying back in 2018, I was pretty lost!
I spent my first three semesters trying to find a perfect road-map to being a good developer in a sea of infinite possibilities, skimming through various options. I wasn’t sure what I was going to do, I just knew, I liked being in the field! It took me 1.5 years to realize that there is no perfect roadmap, it’s just as simple as when you start something, you like it, you stay consistent and end up in the right place!
Now to the BIG question, How did I get into open source?
I read about Google Summer of Code and Outreachy internships as a part of my research. That’s when I came across Priyanka Saggu. She was a previous Outreachy intern with GNOME. She guided me on how to get started with open source. One of the best pieces of advice I received from her: “Switch from Windows to Linux!”
Apart from the idea of learning and working on huge projects, what excited me the most about open source was its spirit – FREEDOM.
The fact that contributors from all over the world are free to not only make contributions to a project but to copy it, modify it and share it without any fear of recrimination(this is fun). There is also the idea of building communities around different projects that helps bring people together and encourages newbies to be part of this exciting journey.
With this in mind, I decided to give it a shot through Outreachy. I first applied for an Outreachy internship in August 2020. My initial application was rejected but it gave me a glimpse of the open source universe!
I finished my outreachy initial application and devoted all my time in finding the perfect organization. That’s when I found GNOME. The skills required were C++ and JS – two languages I knew I had some experience in and liked working with. The GNOME community was indeed awesome. I never felt like an outsider. And that’s when I met Philip Chimento, one of the best mentors I’ve ever had. I remember being super excited when I finished building my first small app using GJS! (It just read a file and returned the number of lines, but it worked and that felt like a good enough reason to go on! :D). I couldn’t wait to officially start my internship with GNOME but my Outreachy initial application got rejected again because of time commitment issues. 😦
I was pretty disappointed, but I couldn’t let go of GNOME, so I continued working on fixing small things here and there. I made a few improvements to the GJS guide. That’s when Philip suggested that I should apply for the coding experience program at Igalia! It was a big step and a little scary, but I did it anyway!
While Igalia’s application process was going on, I applied to Google Summer of Code(GSOC). It was the project that excited me – The OpenWrt Device Page project. I had always been fascinated with the idea of OpenWrt and now I had a chance to contribute to it. I spent my time getting to know the community, understanding the project and making a few contributions.
May 17, 2020 – My first big achievement! I got selected for GSOC. GSoC was an amazing learning experience. It wasn’t easy, but I liked spending hours on a bug, trying tons of approaches, and the happiness of finally getting something right was unparalleled! 😀 It allowed me to use features of ReactJS that I had never used before. I learnt the usage of version control tools in depth.
June 17, 2020 – The second big achievement! I got selected for Igalia’s Coding Experience with the compilers team. 😀
At Igalia, I got an opportunity to contribute to two of the three major JS Engines – WebKit and SpiderMonkey. At present, I am working on implementing proposal change-array-by-copy in WebKit. I spend most of my time browsing through the code base, reading documentations. And now after 6 months, It takes me a lot less time to get things done!
To someone who’s starting out with open source – It’s huge and overwhelming but the hardest part is essentially over when you get started! Stay consistent, ask for help, use the internet(there’s almost nothing you cannot find there)!
And most important: Read the error message right! XD
Published by Nasah Kuma