5 Tips to Win Google Code-in

Tips and Tricks from a Winner of Google Code-in 2017

Here are some tips and tricks for winning Google Code-in, as well as a brief introduction to the competition. It may seem daunting at first, but competing is really not as hard as it seems!

Introduction

Who am I?

Zulip’s logo

My name is Marco Burstein, and I am a winner of Google Code-in 2017. I was chosen as a winner by Zulip, a company that creates an amazing group chat application.

What is “open source”?

In order to understand Google Code-in, you must understand “open source.” According to Oxford, “open source” is…

…software for which the original source code is made freely available and may be redistributed and modified.

In other words, the code behind open source software can be looked at and even changed by anyone. Anyone who wants to contribute to the code can!

Google Code-in is based on open source software.

What is Google Code-in?

Google Code-in (or “GCI” for short) is a competition where students from all over the globe work on open source projects. These students complete tasks for open-source organizations (or “orgs”) from November to January.

Google Code-in is not a programming-only contest. You do not need to know how to code to compete in the competition! Yes, it helps to be a programmer, but there are multiple task types, only one of which is “coding”:

  • “coding”
  • “user interface”
  • “documentation & training”
  • “quality assurance”
  • “outreach & research”

The last three task types are especially suited for non-coders.

At the end of the competition, each org picks two grand-prize winners and three runner-ups. (To learn more about prizes and other details see the Google Code-in website.)

What do you need to know to compete?

There are a couple of key tools that you will need to use all the time throughout the competition.

  1. GitHub is where almost all open source code is hosted online. It’s essential that you understand how to use GitHub in order to submit work and get feedback.
  2. IRC, short for Internet Relay Chat, is how many open source organizations communicate. Your org might not use IRC (e.g., my org, Zulip, used its own chat program), but if they do, you can check out this guide made by Google on how to use it.

Some organizations will have specific tasks that help you learn these tools.

How does it work?

Any middle-school or high-school student from ages 13–17 can enter the competition.

The main way that students work in Google Code-in is through tasks. To start working, a student should first claim a task and then do what it says.

Once a student completes a task, they can submit it to the mentors. The mentors will either accept it or ask for more work. If you want, you can always abandon a task (although I don’t recommend it).

At the end, the mentors for each org pick their winners!


Some Tips

The following tips are things that I think will help you when you compete. These tips either helped me during my participation, or are things I wish I had known.

If you want to see the tips in one convenient list, then here you go:

  • Stick to one organization.
  • Be active in the community.
  • Do hard tasks.
  • Be polite.
  • Have fun!

If you want more detail about each one, then read on!

Stick to one organization.

Doing tasks for multiple different organizations is not a good idea. It makes it much less likely that you will be a winner and also makes it more difficult to complete tasks.

  1. Orgs pick winners based on their participation in their own projects, and likely don’t pay very much attention to students’ activity in other orgs. If you split up your work, that means that you did less work for each individual org.
  2. Working for multiple orgs can get confusing because it will be difficult to get accustomed to each org’s way of doing things and their project setup.

Instead, I recommend finding one org at the very beginning and sticking with it throughout the whole competition. You can see the list of orgs on the GCI website.

You might want to base your decision on the programming languages they use, or just how much you are interested in their product! I chose Zulip because I knew how to use the programming languages that they work with (JavaScript and Python, primarily) and because working on a group chat app sounded fun.

Be active in the community.

Orgs like to see students that are dedicated and committed. By being active in the community, you show your devotion to the org.

One way I tried to be active was to answer people’s questions in my org’s Zulip chat. By answering other students’ questions, I showed that I wanted to help Zulip outside of my own contributions. You can also leave comments on other students’ pull requests, or do work for the org outside of GCI tasks.

Do hard tasks.

Different orgs choose winners differently of course, but in general I would venture to say that students that do difficult tasks are more likely to be chosen as winners than those that do easy tasks. By doing difficult tasks, you show the org that you are dedicated and willing to challenge yourself.

Of course, doing difficult tasks takes longer than doing quick, easy ones. Keeping a balance between doing lots of tasks and doing difficult ones is important; this is especially true because according to Google’s rules, only the ten students with the highest number of tasks completed for each org are eligible to win. That being said, I would recommend leaning on the “difficult” end of the spectrum.

Difficult tasks are also more valuable from a learning standpoint. Solving challenging problems will help you improve at programming, design, or whatever else you are working on.

Be polite.

This one is pretty self-explanatory. Be polite and gracious to all of your mentors as well as your fellow competitors.

I also recommend writing some sort of thank-you letter to the mentors after the competition ends. Whether or not you are a winner, the mentors devote their time and energy to help students like us learn; it is nice to show gratitude.

Have fun!

GCI is an amazing experience and a great way to learn new things. Of course competitors will want to win, but it is also important to enjoy the competition.

You shouldn’t be disappointed if you don’t win; instead, be happy that you were able to compete, and learn from your mistakes. You can always compete next year!


Hopefully you enjoyed these tips! Google Code-in is a great competition, and I highly recommend you try it out if you are interested. It’s a great way to learn and make some new friends as well.

Good luck!