4 Easy Steps
After the contest starts, you can participate by following these 4 easy steps:
- Sign up at g.co/gci. Be sure to read the Contest Rules.
- Have your parent or legal guardian sign the Parental Consent form.
- Find a task that interests you.
- Claim the task and start working on it!
At its core, open source is about making the source code for a program available for anyone to see, use, or modify. But open source is about more than just code -- it's about a global community coming together through collaboration to write software.
Over a dozen open source organizations participate in Google Code-in. Each one is different. If you're attempting to be a Finalist or Grand Prize winner, you might want to focus on tasks from only one or two organizations. It's important to pick an organization that interests you. You can find more information about each organization on the Google Code-in contest site.
Communication and Getting Help
Don’t wait until you are frustrated or the last minute before asking for help.
GCI is a global contest. Your mentors are volunteers with other commitments. They are unlikely to be in your time zone. This means that it can take over a day before you hear back from them.
Your mentors are automatically notified when you post a comment on a task or submit it for review. They will respond.
Each organization will have a preferred/best communication method. Some might prefer IRC, while others prefer mailing lists or Slack. Check the organization's page on the contest site for what to use. These methods are sometimes better than leaving comments on the contest site because there may be other people who can help you sooner.
Be polite and considerate. Read the etiquette guide.
You can contribute without being a coder!
There are many different skill sets needed to help an open source community thrive:
Documentation: Documentation is a huge part of a successful open source project. Organizations need documentation to help attract users and new contributors.
Research: An organization may need help crunching numbers or analyzing feedback to better understand what the users want or need.
Outreach: Outreach is how open source projects attract new users and developers. This includes writing blog posts or making videos, organizing meetups, or helping others learn about the project.
Training: Teach others how to use the project. This is a specialized form of outreach or documentation.
User Interface: User interface can include many types of tasks including designing new visual aspects of a webpage or creating a new logo for the project. It may also include various accessibility opportunities to help make the project easier for people who are visually impaired.
Quality Assurance: Finding and verifying bugs is an important part of software development.
Other: If you have an idea that may help an organization, reach out to them and let them know! Sometimes the best task is one that the organization hasn’t even considered yet.
Open source is not just programming. It is about working with other people to find the best solution. Being a part of the community is an essential part of success in Google Code-in. Mentors tell us every year that their best students were the ones who worked hard on their projects but also participated on IRC and helped answer questions other students had.
Mentors and Students each have roles and responsibilities.
Quality over Quantity
It’s not about being the student who completes the most tasks, that only gets you to the top 10 -- it doesn’t mean you will be a grand prize winner or even a finalist. Many students who completed the most tasks for their organization were not named as Grand Prize Winners because they did everything solo and didn’t get involved in the community.
If you work on coding tasks, you should be comfortable in the programming language required for that task. If you aren’t confident in your skills, you might want to start with a non-coding task. If you are more comfortable with HTML or CSS, consider taking on a task related to a project's website content. Do not expect mentors to teach you how to program.