Skip to content

Google Summer of Code: Advice From Former Student Louis Dionne

Mateusz Łoskot edited this page Jan 29, 2019 · 2 revisions

(Page moved from https://svn.boost.org/trac10/wiki/SoCAdvice)

Dear prospective GSoC student,

First of all, congratulations for your interest in doing GSoC with Boost!

If you have interest in C++, then Boost is definitely an interesting open source project to contribute to. Contributing will teach you a lot of useful things, and it may also increase your visibility for prospective employers. All in all, something very good for a CS student.

To my knowledge, most students selected for GSoC with Boost have prior experience working with the Boost libraries. I'm not saying you can't be selected if you don't have prior experience, but it helps.

To find a project that might be interesting for you, I would suggest selecting an area of computer science that is of interest to you, and then seeing if there is a Boost library related to that area. If so, I would suggest becoming familiar with the library and its limitations, and then devising a project related to it (e.g. adding some feature or improving something in the library).

Once you have something in mind, the best is to reach out on the Boost developers' mailing list, where you may be able to find someone willing to mentor you. Usually, it will be someone with significant experience with the library that you're proposing to work on. You can also look on Google-Summer-of-Code: Overview for past GSoC project ideas.

The other way to go about would be to simply find a library that needs work and then propose a project related to this library on the mailing list, but without necessarily taking your own CS interest as the first motivation. I think this can be made to work, but I would probably not advise going down this road. Completing GSoC is a large amount of work, and I believe you have to be somehow driven by passion to be successful. Of course, this is just my personal taste.

Yet another possibility (what I did) is to have a serious ongoing personal project that would be a good fit for Boost, and to propose working on it during GSoC with the intent of making it part of Boost. This requires some preparation with the community before proposing the project for GSoC, and it requires finding a mentor willing to help you push your project through, but it can definitely be done.

All in all, the best advice I can give you is to find something you LOVE working on and to do your homework. Finding something you love is important because you'll be working on the same project for the whole summer, and probably after too. Also, it will give potential mentors more hope that you might be successful with the project. Doing your homework (coming prepared) is important because Boost, as most online communities, is very talent driven.

If you come unprepared to the mailing list and ask something like

Hey, I would like to contribute to Boost! Where do I start?

People will politely point out available online resources to know where to start, but you will not generate any special interest. Everyone is busy, and there is so much stuff going on that you will never get noticed if you don't stand out of the crowd.

Instead, carefully prepare your entry into the mailing list and go with something like

Library X has features Y and Z, but feature W would also be useful because of [REASON FOR YOUR PROJECT]. I have already thought about how we could go about improving the library: [SHOW WHAT YOU ALREADY DID]

Would anyone be interested in mentoring such a GSoC project?

Of course, this is just a rough template, but the idea here is that you must introduce your project, justify it and then show that you have already thought about the problem. Then, and only then, someone might step up and accept to mentor you. But no one will do the work of preparing the project for you.

Finally, if you have questions regarding the actual functioning of GSoC within Boost, you may want to contact the GSoC administrator for Boost at gsoc-admin@....

Doing GSoC with Boost is a ton of work; I'm speaking from experience since I've done it twice. However, it is also one of the most rewarding experience in terms of professional growth. If you're willing to give it all you've got, then I'd say don't think any more and go for it.

Good luck!

~Louis Dionne

P.S.: You might also want to consider applying to the student/volunteer program for the C++Now conference. This can be a great way to get to know the Boost community, and it can also be a great entry to the world of modern C++.