Is open source going to change my life?
May 17, 2021
About a year ago, around April 2020, I was doing my internship at a startup. The founder of the company was an ex-googler. He worked at Google for nearly ten years and left it to start his endeavor.
One fine day, I gathered myself to ask him a question "What do you think I need to do to get into Google? What is it that google values a lot?"
He gave it a thought and said, "Open source contributions."
The same evening, when I reached the flat. I went through some videos and blogs to get an understanding of open source. Back then, I was aware of GSoC, so I went ahead to understand its nitty-gritty. I jumped to FAQs to see If I would be eligible in the eighth semester. Et voilà, I was eligible.
GSoC looked good, things that stood out to me are
- An initiative from the big daddy of all, Google
- Open-source contributions
- Adequate stipend
Now, I was looking to take some web development courses. Around May 2020, Udacity was offering a free nanodegree if you could complete it in a month. I decided to give their Frontend and Fullstack nanodegree a shot. Just after calling it a day from the internship, I jumped right in to complete the course. Needless to say, I barely managed to finish both the nanodegree in two months.
By giving away my two months I understood their courses are worthless and not worth a penny.
In July, I was done with my internship and joined the college virtually. It was the seventh semester, and everyone around me had started revising CS fundamentals and sharpening their DS&A skills for placement season. I was perplexed. What to do now? Should I revise the CS fundamentals and start over my competitive coding again, which I had left halfway through?
I had to take a call between campus placement and open source. Whatever I choose, I have to devote all my energy to it. Open source seemed like a less-traveled path to me, and that's why I chose it.
I promised myself that I would not repeat my mistake of leaving my goals halfway through. No matter what happens, I will stick to my goal to compete for GSoC. I will make open-source contributions, and there is no Plan B.
During my internship, I learned Javascript and PHP. The research I had done for GSoC emphasized the need to know modern web technologies. PHP will do no good to me.
While looking for courses, I stumbled upon this beautiful curriculum, Full Stack Open. It was teaching all the latest web technologies for free. The cherry on the cake was it is open-sourced. Can you believe it? I am learning web development to contribute to open source through an open source curriculum.
I went all in to complete it by late September. It was the best course I had ever enrolled in. I recommended it to all my friends and everyone who asked what I am up to in the so-called "placement season."
Things I learned through Full Stack Open are
- The University of Helsinki is awesome
- Learnings? React, Node, Typescript, Testing, and GraphQL
It was already November, and all the videos I watched suggested starting contributions in September. I was reluctant, thinking how difficult it will be to understand a codebase and, to top it off, add features to it. It was like I was standing on a cliff facing the sea, and I had to decide whether to take a leap of faith or not. All kinds of demotivating thoughts were swirling through my mind. Like, How will you contribute to an open-source project when you learned react.js a couple of weeks ago?
It was the promise I had made to myself that I will not leave this endeavor halfway through that kept me going.
I looked at last year's GSoC projects. I was sure I wanted to work with the technology that I learned in full-stack open. After shortlisting all the react projects, I observed that most of the issues were already assigned to other users, probably students competing for GSoC.
I did not want to be part of the horde, and I realized that the fun of open-source contribution would be over if I choose an organization deliberately. Against everyone's advice, I decided not to contribute to a GSoC organization but instead find myself a project that finds its way with me.
While scrolling down the react project list on GitHub, I found Outline. It was an application, not a library. An idea I am familiar with. Luckily, there was a good first issue to help me get started. As I began to contribute much more It was the maintainer of the project who helped me through.
I never had any expectations with Outline, and all my focus was to contribute to Outline and show it as proof of work in my GSoC proposal.
One fine morning, I received a message from the maintainer offering me sponsorship for my contributions. It was sudden. It was hard to believe. The leap of faith I took without any expectations was offering me an exciting opportunity.
As much as I wanted to start the work the very day, giving it some thought, I concluded to not deviate and keep contributing to Outline to learn and grow for my GSoC goal.
As I was looking forward to GSoC 21 projects. I shortlisted the projects once they were announced. Again, there were a few good projects, but the attention they garnered was phenomenal. Too much chaos and I did not want to be in the "Can you assign this to me?" crowd.
Thus, I decided to choose a lesser-known project with a technology that I didn't understand much. It was the Palisadoes Foundation for building GraphQL API. For the next few months, I worked on Outline and Palisadoes Foundation.
After submitting my proposal on April 12, 2021, I approached Outline's maintainer to discuss the opportunity he had offered. He kept his word, we discussed the work, and I decided to work full-time on Outline after graduation.
In the end, the last few months have been thrilling for me. I have had many sleepless nights to learn quickly and not fall behind, but I think it was all worth it.
Today, the results of GSoC will be out. All that I know is I gave my best.