HomeBlogLearningsFailuresResume

Is open source going to change my life?

SP

Last tinkered on 2021-05-17

About a year ago, around April 2020, I was doing my internship in 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."

Question Gif

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

  1. An initiative from the big daddy of all, Google
  2. Open source contributions
  3. 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.

Question Gif

In July, I was done with internship and joined the college virtually. It was the seventh semester, and everyone around me had started revising CS fundamentals and were 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 mistakes 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.

Question Gif

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

  1. The University of Helsinki is awesome
  2. Learnings? React, Node, Typescript, Testing, and GraphQL

It was already November, and all the videos I watched suggested starting contributions from 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 reactjs 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 and 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.

Discuss on TwitterEdit on GitHub
/uses/resume