Getting started with Google Summer of Code

3 minute read

Published:

Google announced the results of GSoC’18 on 23rd April and I am delighted to share that my proposal was among the 1255 projects selected. I will be a working on DiffEqBayes.jl and DiffEqParamEstim.jl which are Julia packages within JuliaDiffEq for parameter estimation of differential equations, you can find my project’s description here.

From my personal experience in preparing for GSoC I learned a lot and also faced quite many hurdles, any newbie to Open Source and GSoC will possibly face a lot of the same problems so here I hope to make the journey a bit more smooth for the reader. There are some really great posts around with suggestions on writing a great proposal (example - this post by Chris, my awesome mentor), but my recent experience made me realise that the first step is harder than the last and in this blog post I would like to focus on the initial preparation an interested student should do even before the list of the participating organisations of the year are released.

  • The first thing is to make sure you want to do GSoC, to do so ask yourself the following questions (this can later be applied to individual organisations while short-listing).

    • Why GSoC?

    • How does the Organisation relate to your field of interest?

    • How does doing a GSoC fit in your future career path?

    • What is the kind of work you want to do given there will even be multiple options within a single org?

  • Now go through the http://summerofcode.withgoogle.com website to take a look at the organisations taking part in GSoC this year. Through this and some basic level googling you can develop a basic understanding of what the different organisations are involved in. From this try to create a short-list of the organisations you would be interested in working with.

  • Then as soon as possible join whatever communication media they have for their developers, it will probably be a mailing list, slack, gitter or something else. This step I think is the most important one before the actual process begins. Becoming a part of the community is a great learning experience and also helps you decide on how to make the short-list even shorter. This also gives an opportunity to become familiar with the future goals and on going projects within the organisation.

  • Starting from the organisations on the top of your list start looking at the variety and areas of the previously selected proposals and try to understand what the particular organisation is focused on if you haven’t until now and also to get an understanding of the future developments planned in the organisations.

  • When you join any communication channel introduce yourself in a concise way. Start going through the codebase and the issues on Github. Try to spot some open issues that you could take on, this part is the hardest and requires tremendous persistence and patience. If you find anything you could help out in on your own or even if everything isn’t clear to you and you have some doubts comment on the issue and communicate your interest in the issue (and be patient, you might not always get replies or it might take a long time for the relevant people to find time).

  • If you don’t get a response on Github use communication channel to get in touch with the community and again, be patient and refrain from spamming.

Every step of the way is a great learning experience and that should be your aim at the end of the day. I will keep updating the blog over the summer with my experiences regarding both the project and other interesting stuff. Hopefully you enjoyed this post!

Cheers!