Google Summer of Code (GSoC) is the brain child of the Google founders Larry Page and Sergey Brin and was first held in the summer of 2005 with an aim to provide some of the most challenging open source projects to the top talent. Not so surprisingly it is one of the most sought after programs and some of the best organizations in the world have now opened up their doors for brilliant students from different parts of the world to collaborate and contribute on their projects. This year for the first time since inception, the highest number of GSoC participants (227) came from India. IITs, IIITs, BITS Pilani are ruling the roost among colleges. We had a chance to interact with Dhananjay Sathe who did GSoC for the second time in a row. Let’s see what he has to say and how you can benefit from his experience.
What is the selection procedure for GSoC and what goes into creating a credible application?
The selection procedure for the Google Summer of Code program is quite straight forward. Technically all you need is to be above the age of 18 and to be enrolled in any academic program in any of the 193 odd countries. This means your CGPA, your branch, your stream (yes even folks perusing law, commerce or any other field can apply) are completely immaterial. Folks perusing research or a PhD can apply too (quite a few actually do).
You essentially need to come up with a new feature set, fix some nagging bugs or port some code in most cases. You need to write a proposal for the same, it is then voted on both at Google and the concerned organization and they select the most promising applications. So be sure the idea is something nifty, cool and yet achievable in that period.
As for the application itself make sure you give a concrete plan and road-map. Clearly state what your deliverables are and WHEN, HOW you plan to achieve them. Mention all the open source contributions and other programming experiences you have (back it up with links to the code, adds a LOT of credibility). Make sure you have your grammar right, communication is an extremely important part of GSoC. Last but not the least mention why you would like to work on the project and what they, the end users and you stand to gain out of it, this shows the thought process, reasoning and commitment.
How did you decide on your project and what prompted this decision?
I have been an avid linux user and FOSS enthusiast since around 2003 when I first got Linux to boot up on my PC. Using it as a primary OS made me familiar to all the communities, software and norms involved in this kind of development. It also made me aware of what problems one faces and what new stuff could be done. I had this habit, perhaps out of frustration with open source software back in those days, if my app crashed or lacked some functionality I would try to debug it or try and add in the new feature. Samba is a great and powerful tool to have but unfortunately it has a 8500 line man page and can be quite intimidating to new users. I found this a major issue in people around me on campus and I thought samba Gtk was a great way to work on solving that issue. Of course the required background knowledge of Gtk, python and a decent idea of what samba was and how it works were the final things that culminated in my app to Samba.org
What are the benefits of getting into Gsoc and how does it help further while applying for a job?
In one word HUGE! If done right, it is perhaps one of the world’s best experiences for aspiring developers. It exposes you to some of the best developers on the planet. You learn a lot more than you can think possible. You get to deal with people from multiple time zones and ideologies. You learn about code development practices, version control, communication, the code base itself and numerous other minor but very important skills required in the real world but completely missing from the scope of formal academics. The benefits show in you, you have much better ideas, practices and experience than most of your contemporaries. Also the folks hiring you realize the value of it all. It gets much simpler to get involved in new open source projects and further your passion and skillset. You develop a ton of contacts and gain access to information and opportunities you otherwise wouldn’t know about .Last but not the least, it’s a huge brownie point to have something concerned with Google and Open Source on your CV.
How should one prepare if they want to land a GSoC project? How was your journey and what’s next?
Follow your passion for software development, learn something new every week, hack it. The last point is most essential. People often try reading books and learning a new language or toolkit for the sake of it. Don’t do that, learn the bare basics, get hold of the source, hack it up and learn as you move ahead. Google has a great search engine and project wikis have a goldmine of information, make the most of it. It’s never too late to start, but of course the earlier the better.
I had a blast during my two Summer of Code projects, it was great fun and a lot of learning too. I gained a LOT from it. I will now be working on the next generation of the internet and robotics – cloud robotics at ETH Zurich for my bachelors thesis on some exciting stuff with the open source cloud engine. It’s been one heck of a journey.
This article is powered by TopTalent.in – A high end Job portal for students and alumni of Premier Colleges in India. Sign up now for free exclusive access to top notch jobs in India and abroad. Get in touch with them via facebook, twitter or linkedin. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks