From console.log to GSoC 2020 🔥

Aditya Sharma
5 min readAug 24, 2020

--

I am Aditya Sharma, a third year Computer Science student at Shri Mata Vaishno Devi University, Jammu. Yes! I belong to that so called “TIER-3” group but I firmly believe that hard work and a bit of proper guidance can never let anything come between you and your goals.

It is time to share my wonderful journey to GSoC, tips and tricks to get selected and what all you can do before GSoC to take a step closer to your dream career.

My Journey

I got to know about Google Summer of Code program from some of my college seniors who had been selected in the past. Since then our code club group of a handful of self-motivated students set out on a never ending journey full of learning, failures and success.

Semester 1

In my first semester I started with C and C++ and we used to solve language proficiency and algorithm questions and compete on HackerRank for the best score. This went on for the whole semester till I achieved 5 stars in problem solving. However, I soon realized that competitive coding was not really allowing me to build something and solve real world problems.

Semester 2

In my second semester I spent quite some time on Codecademy(free PRO pack by using different email) , MDN, and Frontend Masters (free for 6 months via Github Students Developer pack) to learn HTML, CSS and JavaScript. I know it sounds too basic but it is really fun if you explore the internals and dive deep to study about things like How JavaScript engines work, Javascript as a single-threaded language, Web Workers and their advantages and disadvantages. As GSoC focuses entirely on open source projects and contributions I also learnt basics of Git (a version control system) and GitHub. I always used to explore the official technical documentation of every technology after learning basics from the resources above or some YouTube videos.

To retain the high amount of learning for a long time I used to make and implement small projects. This finally kept me at peace as I had actually started building something. You can follow me on GitHub to get an idea of the type of projects you can build.

By now it was time to apply for GSOC 2019. By the end of the application period my 7 code contributions got merged and I managed to make a project proposal after a lot of struggle.

Result: I failed and could not survive the high competition.

Reason: Lack of skills and preparation.

GSoC 2019 Rejection

I was really sad but did not waste any time. I decided that I will not let this happen next year for sure.

Semester 3

In my 3rd semester I studied about How API’s work, How I can create my own API, What is REST, and much more of JavaScript including concepts like asynchronous programming. I learnt about REST and Node.js from Frontend Masters (Yes it has awesome server side courses as well). I did not stop at this. I covered React when I was comfortable with JavaScript. It took time but I was able to understand the concepts with continuous efforts. Do not forget to make small projects using the things you learn. Push them to GitHub so that you can refer them in a click when needed.

React really helped me to do some awesome code contributions to an existing project in my current organization. I also learnt a lot of best practices and debugging techniques along the way.

Semester 4

Ok. Loads of learning is complete. What next?

  1. Read the GSoC student guide here.
  2. Make a list of 5–7 GSoC organizations working with your favorite technologies (Just search “gsoc organizations” on Google)

Try to select organizations which have been a part of GSoC for at least 2 years or more. Play safe!

3. It is preferred to start contributing to a project from December (I know it is a bit early but it will help, trust me)

I started contributing from around December 15 in Creative Commons. In January I switched to my current organization EOS Design System in Python Software Foundation as the previous project was not going to be a part of GSoC. Hence, it is recommended to start early.

4. After finalizing a project by mid January make as much code contributions as possible.

This time I got more than 20 contributions merged within the application period. It is a bit tough but not impossible. You can do it too.

5. Do not forget to interact with your potential mentors. Communication really plays an important part. Try to discuss and propose new feature implementations. Tell them about your experience and interests in the project. Be honest. 😀

I was really active in weekly organization meetings and also participated in live group coding activities with my mentors during the application period. This may be specific to your organization but try to maximize interaction with your mentors.

6. Start making your project proposal early. Prepare a draft in Google Docs and include timeline and solutions of solving the problem at hand. Add some new features from your side after discussion with mentors. Get your proposal reviewed from your mentors. Feedback works wonders. Improve and update it as they suggest.

You can refer my selected GSoC 2020 proposal here.

7. Do final edits and submit your application.

Keep contributing to the project even after application period. Be patient for the results. If you deserve it you will get it for sure. Trust me.

GSoC 2020 Selection

Celebrate with your friends and family after you receive this in your mail inbox on the results day. You have really worked hard and you completely deserve it. Thank your mentors for this awesome opportunity. 🎉

Do not get demotivated if you fail.

Keep learning because life never stops teaching. Try, try till you succeed!

In case you also want to work on web based projects in GSoC then here is a complete detailed roadmap for you.

You can reach out to me on LinkedIn for any other queries. I have also written weekly technical blogs on Medium sharing my GSoC work and experience. You can check them out here.

Happy coding!

PS: I still use console.log every day for debugging easily. Basics always help.

--

--

Aditya Sharma

Building CRED | Past: Google Summer of Code @PSF, Open Source @MLH