| 1 | = Advice to Boost Summer of Code students from former student Louis Dionne = |
| 2 | |
| 3 | ---- |
| 4 | Dear prospective GSoC student, |
| 5 | |
| 6 | First of all, congratulations for your interest in doing GSoC with Boost! |
| 7 | If you have interest in C++, then Boost is definitely an interesting open |
| 8 | source project to contribute to. Contributing will teach you a lot of |
| 9 | useful things, and it may also increase your visibility for prospective |
| 10 | employers. All in all, something very good for a CS student. |
| 11 | |
| 12 | To my knowledge, most students selected for GSoC with Boost have prior |
| 13 | experience working with the Boost libraries. I'm not saying you can't be |
| 14 | selected if you don't have prior experience, but it helps. |
| 15 | |
| 16 | To find a project that might be interesting for you, I would suggest |
| 17 | selecting an area of computer science that is of interest to you, and then |
| 18 | seeing if there is a Boost library related to that area. If so, I would |
| 19 | suggest becoming familiar with the library and its limitations, and then |
| 20 | devising a project related to it (e.g. adding some feature or improving |
| 21 | something in the library). Once you have something in mind, the best is to |
| 22 | reach out on the Boost.Devel [1] mailing list, where you may be able to |
| 23 | find someone willing to mentor you. Usually, it will be someone with |
| 24 | significant experience with the library that you're proposing to work on. |
| 25 | You can also look on this page [2] for GSoC project ideas. |
| 26 | |
| 27 | The other way to go about would be to simply find a library that needs |
| 28 | work and then propose a project related to this library on the mailing |
| 29 | list, but without necessarily taking your own CS interest as the first |
| 30 | motivation. I think this can be made to work, but I would probably not |
| 31 | advise going down this road. Completing GSoC is a large amount of work, |
| 32 | and I believe you have to be somehow driven by passion to be successful. |
| 33 | Of course, this is just my personal taste. |
| 34 | |
| 35 | Yet another possibility (what I did) is to have a serious ongoing personal |
| 36 | project that would be a good fit for Boost, and to propose working on it |
| 37 | during GSoC with the intent of making it part of Boost. This requires some |
| 38 | preparation with the community before proposing the project for GSoC, and |
| 39 | it requires finding a mentor willing to help you push your project |
| 40 | through, but it can definitely be done. |
| 41 | |
| 42 | All in all, the best advice I can give you is to find something you LOVE |
| 43 | working on and to do your homework. Finding something you love is |
| 44 | important because you'll be working on the same project for the whole |
| 45 | summer, and probably after too. Also, it will give potential mentors more |
| 46 | hope that you might be successful with the project. Doing your homework |
| 47 | (coming prepared) is important because Boost, as most online communities, |
| 48 | is very talent driven. If you come unprepared to the mailing list and ask |
| 49 | something like |
| 50 | |
| 51 | Hey, I would like to contribute to Boost! Where do I start? |
| 52 | |
| 53 | People will politely point out available online resources to know where to |
| 54 | start, but you will not generate any special interest. Everyone is busy, |
| 55 | and there is so much stuff going on that you will never get noticed if you |
| 56 | don't stand out of the crowd. Instead, carefully prepare your entry into |
| 57 | the mailing list and go with something like |
| 58 | |
| 59 | Library X has features Y and Z, but feature W would also be useful |
| 60 | because of [REASON FOR YOUR PROJECT]. I have already thought about how |
| 61 | we could go about improving the library: [SHOW WHAT YOU ALREADY DID] |
| 62 | |
| 63 | Would anyone be interested in mentoring such a GSoC project? |
| 64 | |
| 65 | Of course, this is just a rough template, but the idea here is that you |
| 66 | must introduce your project, justify it and then show that you have |
| 67 | already thought about the problem. Then, and only then, someone might step |
| 68 | up and accept to mentor you. But no one will do the work of preparing the |
| 69 | project for you. |
| 70 | |
| 71 | Finally, if you have questions regarding the actual functioning of GSoC |
| 72 | within Boost, you may want to contact the GSoC administrator for Boost at |
| 73 | gsoc-admin@boost.org. |
| 74 | |
| 75 | Doing GSoC with Boost is a ton of work; I'm speaking from experience since |
| 76 | I've done it twice. However, it is also one of the most rewarding |
| 77 | experience in terms of professional growth. If you're willing to give it |
| 78 | all you've got, then I'd say don't think anymore and go for it. |
| 79 | |
| 80 | Good luck! |
| 81 | Louis Dionne |
| 82 | |
| 83 | P.S.: |
| 84 | You might also want to consider applying to the student/volunteer program |
| 85 | for the C++Now conference [3]. This can be a great way to get to know the |
| 86 | Boost community, and it can also be a great entry to the world of modern |
| 87 | C++. |
| 88 | |
| 89 | [1]: http://news.gmane.org/gmane.comp.lib.boost.devel |
| 90 | [2]: https://svn.boost.org/trac/boost/wiki/SoC2016 |
| 91 | [3]: http://cppnow.org/student_vol_program/ |