This article is submitted by one of the participants of Google Summer of Code(GSoC) 2020, a guide on ‘How to Prepare for GSoC?’
Google Summer of Code(GSoC) is an international annual program for summer break, in which Google awards stipends to students who complete a free and open-source software coding project during the summer.
The program is promoted & funded by Google, to promote more open source development.
If you are someone, who likes open source development, or you have been doing open source development than you should try GSoC.
Even if you do not have any background in Computer Science or have not contributed in past, then you can prepare yourself, & make your mark in open source development.
➥How does it work?
Since the program is promoted by Google with the idea to promote open source development, companies majorly who are in making open source products, take part in this program.
Google matches students, who have applied to this program, with the companies that are participating in this program. Along with this, you are also assigned a mentor, who will guide you in your journey in GSoC.
Those students, who are interested in GSoC, have to select an organization/company for which they would like to contribute, & get in touch with the particular organization.
Depending on your skills, you can choose from a wide variety of options ranging from Web Development to Robotics to Medicine, you get to choose from a lot of organizations.
Waittt…Some free web development courses for you here!
While you try & contact the organization, Google will shortlist an organization that can participate in this program, those which are eligible will participate in this program.
If the organization that you choose, is selected to participate in GSoC, you will not be going to prepare project proposals for them.
➥What are Project Proposals?
The Project Proposals are ideas and outline of what you will be doing for the organization, during the program.
Once, your proposal gets shortlisted by the organization, you can then start working on implementing it.
Tips, on how to make your proposal stronger :
- Elaborate your proposal, try to mention each & every technical detail, technology & idea that you think will work.
- If you previously have contributed to open source development, mention in your proposal, it will give you a big boost.
- To understand where your proposals lack, get it reviewed by the Ex-GSoC participants, they will help you identify the weak point.
- Make a well-formed timeline of the project you will be working on, include frameworks & components that you will be using while developing.
- Try making goals for a short duration of time, like one-week or two-weeks, making longer duration goals, will not help.
- Remember, your proposal is the one which is going to speak on your behalf to the mentors, try to make it such that it convinces the mentors to select you.
How to make a quality proposal? Don’t worry, find it here!
➥How to Prepare for GSoC
Keep the following points in mind, while preparing for GSoC :
- Do not limit yourself with one domain or technology, try to explore other technologies too.
- Have a great command over the programming fundamentals, you are expected to make something useful, not to code with a timer.
- Open your thinking, & try to think out-of-the-box, it will help you to innovate & bring new features.
- Learn Git & Github to the core, they are very useful for GSoC, as well as for working in the software industry.
- Start working with Linux, you will need it if you are thinking to make a career in development.
- Try to have at least 2-3 open-source contributions before you jump into GSoC, they will help your proposal get selected.
- Get familiar with reading code-base, code written by others & try to implement it in your development career.
- Make sure, you make a good project proposal, since this is the only thing, that will speak on your behalf, to the mentors.
- Don’t let anything compromise you, people for small colleges & universities also make it to GSoC, moreover, Google looks at your talent, not at your mark sheet.
➥Eligibility for GSoC
- You must be at least 18 years of age when you register.
- You must currently be a full or part-time student (or have been accepted and committed to the fall term) at an accredited university as of the date accepted student proposals are announced.
- You must be eligible to work in the country you will reside in during the program.
- You have not already been accepted as a student in GSoC more than once.
- You must reside in a country that is not currently embargoed by the United States.
➥Benefits of GSoC
- By participating in GSoC, you will get exposure, in open source contributions, community. Also, you will be able to interact with some of the great developers like you around the world.
- You will also be learning, many tools & technologies, also you will be making strong connections with other programmers during GSoC.
- The stipend is huge which is $1500-3000 for Indian students(amount varies according to country).
- Having a Tag of Google, or GSoC in your resume will surely increase your credibility & will help you in achieving better jobs in the future.
- You can also get the referral for the application in Google for an internship or full-time job position opportunity.
➥I am a Newbie, should I try for it?
If you are someone, who is new into this field, first you should try & learn one programming language & fundamentals, along with this, you should learn Git & Github which are very important in the field of open source development.
After that, you should select a particular field in which you want to work, like android development, web development, cloud, etc.
You should also start contributing to other open-source projects, to get the taste of open source development.
Learn to love Linux and get comfortable with it, explore its command, and understand the file structure.
You should also be working on your soft-skills since you will be communicating with your mentors via email, Skype, Slack, Discord, IRC, etc.
Also, you should be familiar with writing & preparing documentation, reports, and blog posts.