Cracking Google Summer of Code
0. You should participate in GSoC to: 🔗
Improve coding skills.
Needless to say that 400 hours of coding under experienced mentor’s supervision is a great boost for your skills. Even though I already had about 3 years of development experience my skills have improved.
Make impact.
It’s a great feeling when code developed by you is used by thousands of users. For someone who never shipped code to end users and wrote code only for educational purpose GSoC is a great opportunity.
Stipend.
Depending on your country of residence you can get 3000-6000$.
As google says: Flip bytes, not burgers.
Certificate and CV.
After successful completion you get:
- Catchy line on CV
- Catchy line on LinkedIn.
- Completion Verification Letter.
- Certificate.
1. Important Program Terms. 🔗
Make sure to read the program terms. Topics to investigate:
- Am I eligible?
- How many hours a week?
- Stipend?
- Timeline?
- Vacation?
2. Choosing Organization and Project. 🔗
Be wise. Be selfish.
Do you want to work 50-60 hours a week and spend summer in front of your PC?
If the answer is “no” then choose organization that uses language which you are familiar with. Also make sure you choose achievable project, hard but achievable.
If the answer is “yes” then go ahead, shoot for the stars :)
Do you want to grow professionally?
Take a look at the code base before you apply. Does it follow good practices? Is the code covered with tests? What is the code review process? Is the deployment automated? Are the mentors at organization experienced professionals?
Do you want a project to be a burden?
You should be passionate about the project. If the project has many end users it gives additional motivation.
If you love creating user-friendly interface then stay clear from projects in low level languages :)
3. Write a Winning Proposal. 🔗
- Create your first PRs to get trust from organization.
- Consult with a potential mentor.
- Send draft proposal directly to your mentor before final date.
- Include your experience, achievements, code samples (github), motivation.
- If required mention 1 week vacation dates.
- Keep 1 week buffer at the end of the summer in case of any unpredictable delay.
4. During the Summer. 🔗
- Work hard, but not exhaustive.
- Follow GSoC timeline.
- Follow your proposal timeline.
- Update your mentor, the more often, the better.
- Ask for help if you are stuck.
- Be proactive:
- review PRs of other contributors;
- create issues;
- take tasks that are not mentioned on your proposal;
5. My results. 🔗
In the beginning I intentionally choose an organization and project which would be interesting and achievable. I didn’t over estimate my abilities. Honestly, the project that I worked on was easy for me, and I could have finished it in about a month.
However, instead of finishing project in a month I always asked mentor about how can I help him. This way I got opportunity to work on: CI, logging setup, framework upgrade, replacement of major UI components, app share function, bugs, tests, etc.
The more you give, the more you receive.