25 April, 2011

GSoC - DOs and DON'Ts

Soon we'll all hear the news on the students accepted to Google Summer of Code. I'm excited and I'm sure so are a lot of students!

Once the news is in, it is time to start getting to know your mentor, getting your development environment up and starting to code. To help students, mentors and admins, let me echo a post by Lydia Pintscher to Planet openSUSE pointing to three blogs about DOs and DON'Ts she wrote with two other experienced GSoC mentors:

Donnie Berkholz from X.org and Gentoo, Kevin Smith from XMPP and I have written a series of blog posts for Google’s Open Source blog about the dos and don’ts of Google Summer of Code. Check them out. They have useful tips no matter your role in GSoC. There is a post for students, admins and mentors.

I think I can summarize many of the tips for students as: take a GSoC project serious, it is a real job! There is a serious commitment on the side of the organization (mentoring!) as well as the side of Google (payment!). And there is a lot in it for you, not just the money but also the learning opportunity. Last but not least, a successful GSoC looks good on your resume!


Don't underestimate the value of GSoC and work in a FOSS community for an employer. As you know, all employers want 18 year old employees with 20 years experience. So having done some work in a FOSS community counts!

And as Boudewijn said in the first comment on the tips for students, taking your summer job for Google & your project serious also means you don't disappear at the end of the summer. It looks BAD to an employer as it signals little commitment to what you do. Especially if you have delivered "almost-ready code" which you never finish. You're basically saying that you are not very reliable!


Don't think potential employers won't see your GSoC work. Most, and especially the better employers, will do a search on your name and have a good look at the results. It is very likely that, once you've finished your GSoC, googling your name finds your project in the top-3 results. Moreover, if you hang around and keep doing some work, you'll learn more, build up an even more valuable resume and you'll more likely to be able to give your mentor up as a reference to a future employer.


There's no guarantee, but maybe your GSoC one day leads to a job at a Free Software company. And a job in a Free Software company is more fun, really. You often get not only more pay (frankly not that important once you make enough to live OK) but also more responsibility and respect. Even if you get a job which isn't Free Software related, if you have the experience of working in a community, you will have a better position in your first job. You'll know better how to interact with people. How to write readable, maintainable code. When to ask questions. Who to ask. Such skills are useful so you're a more valuable employee - one who gets more choice, freedom and responsibility!

Taking your GSoC serious also means more fun on a personal level. At least I'd argue that having your code finished, shipped to a few million users and having your name on it as developer or maintainer is not just cool on your resume but pretty awesome in general!

Even without Google

Last but not least, as Boudewijn blogged, GSoC is not the only way to get most of the benefits of becoming part of a Free Software community! Even if your GSoC project was not accepted, you can ask if you can do it anyway. Mentors often have no problem mentoring you without a GSoC and while you don't get the money, meaning you'll probably have to find another summer job, you'll still get to code, learn & become part of the team.


So. Take your GSoC project serious. It means more fun and better results. Both for yourself now as well as for your future!

Have fun!