My GSoC Journey/Dealing with GSoC failure

The GSoC season is about to begin and here is a post reminiscing my memories of GSoC. Might also be a good read for someone who has failed a GSoC.

My experience with GSoC is a classic example of how things eventually work out in the end if you keep trying.

Each year Google sponsors students to work on open source projects during their summer vacations. The students are paid for their work as part of the Google Summer of Code program also known as GSoC. I did GSoC only in my last year of college, but GSoC had a significant impact on my career indirectly.

The first encounter

I first heard about GSoC during my first year of college. And I was immediately attracted to it. But this was a time when I only knew programming in C and had never used linux before. After hearing about GSoC, I started looking into programming Android Apps. I finally did not submit that year partly because of my fear of rejection.

My first genuine try

After missing my chance in the first year, I was sure to apply for it in the second year. I started my preparation by early Feb. By this time I had already gained a year of experience with linux and knew a couple of languages other than C. I did not apply for an internship in any companies as I was sure I would able to clear GSoC and focussed entirely on it. This time I targeted the GNOME community. No particular reason for choosing GNOME, just that they had a lot of projects and were friendly to newbies. I started focussing on the GNOME Maps application and worked on a single proposal as I was so sure about my selection.

The aftermath

All my confidence was shattered when the results of GSoC came out. I was not shortlisted for GSoC. And to add salt to the injury someone else was selected for the project that I applied to. After that I didn’t know what to do and was feeling lost. I kept visiting the GSoC site every once in a while and one day on a whim ended up sending a mail to a project mentor and to my surprise he replied positively given that how busy he generally is. And I spend my summer working with Mesa community on a GSoC project just without the official GSoC title. I developed a lot of skills during that time that came in handy during my college years and are still very useful to me. I ended up working with the Mesa community for almost a year and made some significant contributions.

The third year

This time I was all set to apply for the GSoC. I had already been contributing to the Mesa community for a year and knew that I had the necessary skills required for a successful GSoC project. But I was also selected for an internship in Samsung Electronics this time. And since I was supposed to go to South Korea for my internship, I decided to avoid applying for that year.

The last try

During my last year of college, I got more involved in Computer Architecture research and decided to go for a research internship after my last semester and before joining my job in Korea (Yes I accepted the job offer from Samsung, and I am writing this post from Korea). Things were going well for me as I was selected for an internship at ETH Zurich. But alas I quickly encountered some visa issues and had to give up on the idea of internship. At that point, I decided to apply for GSoC again as this my last chance, but I was pretty late for the applications. I decided to send a mail to my previous mentor from the Mesa community. He had moved on to kernel development for some time now. He came up with a project idea which involved working with the kernel GPU driver. I always wanted to contribute to linux kernel as it is the pinnacle of open source software and jumped at the opportunity. I completed my GSoC proposal in about a week. And this time I got a positive result as I was selected for the project. I spent the summer working on the GPU scheduler and successfully completed my project, learned a lot of things on the way and also got to meet the graphics community at this year’s XDC. So things do workout in the end if you don’t give up.