We have been taught from our childhoods that nothing can be earned without toiling hard, to achieve something we need to sacrifice something. The same mantra applies to Google Summer of Code or as we fondly know it, GSOC.
I am a second-year student of the Indian Institute of Technology, Bhubaneswar and am selected in the Summer of Code project on Developing Sunkit Image, a solar image processing library in Python. This project is hosted by Sunpy, under Open Astronomy. This blog post is written to serve as a guide to future applicants, who find themselves overwhelmed by GSOC. Most of us (engineering students) in India have heard about Google’s flagship programme for college students, the Summer Of Code. I too was a part of the same herd, having ambitions to be a part of the programme but with no proper plans and knowledge.
Getting into it requires proper planning and execution. There are a few major steps involved —
- Selection of the project
- Interactions with the community
- Completing the stipulated prerequisite tasks
- Drafting a good proposal
- Getting feedback on the proposal from the members of the organization
- Rewriting it!! (Very important)
- Finally, hoping that luck favours you.
Selecting the project
Choosing the project which is right for you is very important. Always choose something that intrigues you rather than doing something just because others are doing it. I chose sunkit image because it combined both my interest in image processing and my love for astronomy. But finding a particular project in the vast ocean of projects is a tedious task.
I started exploring the organizations even before they were officially announced. I looked at the organizations who have been a part of GSOC for the past years as they were more likely to be present the next year too. After much digging, I found sunkit-image in Sunpy.
Tip: If you like a particular organization explore their GSOC webpages way before the projects are officially announced. This is because most organizations list their projects on their website before sending it to Google.
Contact the organization and the mentors as early as possible. Be formal in your conversations and follow every rules or guideline for interaction as listed on the website. Don’t be timid and shy and ask them questions if you stuck somewhere.
It is very important that you fulfil all the criteria of selection for an organization. Most of the organizations ask you to open a pull request to judge your coding skills, make sure that you write that PR well enough. It is your only chance to impress your mentors with your work. Get feedback on your work and refine it to suit the needs of the problem.
The proposal is the thing which highlights what you have done till now and what you want to do ahead. Take time in writing it. Follow the organization’s guideline while writing a proposal, include everything that you have done till now, include small snippets of code which you have written preferably as Github gists. And most importantly come up with a suitable timeline for the summer — what work will be completed when.
Secondly, get feedback on your proposal from your seniors, friends and the mentors of the particular project. Most of the mentors will be very helpful and provide you with suggestions and improvements for your proposal. Make sure to add those changes in your proposal.
After all this work sit back and wait for the results. You have done your part and let destiny unfold. While waiting for the results don’t just stop, keep in touch with the organizations, solving some minor issues.
PS: This is my first blog post on Medium. Hope to write a few more. If you have any suggestions or remarks feel free to point it out.