Google Code-in/Mentors

Jump to: navigation, search

If you are considering to become a mentor for the Google Code-in program, learn more below:


Before the contest starts[edit]

  • Read the Google Code-in manual to get an overview of your responsibilities
  • List yourself as a mentor on this year's Google Code-in/2017 wiki page to allow students to reach you
  • Express your interest in mentoring a task by commenting on it on Phabricator and adding the #Google-Code-in-2017 project tag to it
  • Once Wikimedia is accepted as an organization: Register yourself as a mentor on the Google Code-in site using the instructions sent by org admins via email
  • After registering, create tasks directly on the Google Code-in site using the instructions below in #Task requirements

During the contest[edit]

  • Create more tasks on the Google Code-in site at any time
  • Mentor students, answer their questions and review their work within 36 hours. If you need additional time, let org admins know to help you
  • You can contact Wikimedia's org admins via mailing list or individually on IRC (e.g. to get specific tasks which you mentor published more quickly)

After the contest ends[edit]

  • Encourage students to write wrap-up blog posts sharing their experience, stay involved in projects and the community

Task requirements[edit]

General instructions[edit]

  • Tasks can be of both coding and non-coding type (docs/training, outreach/research, QA, user interface) 
  • A typical task should take about 2-3 hours for an experienced contributor and about 2-3 days for a beginner to complete
  • Mentor for any number of tasks at anytime during the contest
  • Reply and review student contributions within 36 hours
  • Students can also propose tasks themselves to potential mentors. Work already performed by students cannot retroactively become a Google Code-in task (contest rules: section 4.2).
  • Related to creating tasks on Phabricator & Google Code-in site:
    • It's recommended for a task on the Google Code-in site to be on Phabricator
    • Ensure the task you are planning to mentor for is tagged with the corresponding #Google-Code-in year project tag on Phabricator (via "Add Action… → Change Project Tags")
    • Paste the link to the task on the Google Code-in site in a comment in the Phabricator task (remove "/dashboard" from the URL)
    • In the GCI site task, set the Phabricator task URL in the "External link" field.
    • Drag the Phabricator task into the "Imported into GCI site" column on the Phabricator project workboard (or use "Add Action… → Move on Workboard: Imported into GCI site")
    • Add a [READY] prefix to a task's title on the Google Code-in site to let org admins know that your task is available as tasks do not get immediately published 

Task template[edit]

While creating tasks on the Google Code-in site, use the hints below to fill out the information:

  • Title Include project name. Begin the title with a verb (e.g. "Write a script that does …")
  • Description Cover the following information, to make it easier for a student to get started on a task: 
    • Problem and expected solution
    • Link to the task’s code base 
    • Link to corresponding task in Phabricator, GitHub, etc.
    • Useful resources
    • Skills required by students
    • Mentor's preferred mode of communication (e.g. Phabricator, IRC, wiki page, Google Code-in site itself)
    • Patch submission (e.g. in Wikimedia Gerrit) required
    • Note: You can only enter 1500 characters on the Google Code-in site. For more info, edit the Phabricator task description instead (via "Edit Task") so it will not get lost for future contributors if your GCI task does not get solved as part of GCI.
  • Time to Complete Enter number of days. Be generous! Remember, students might take more time, in the beginning, to complete tasks as they will be familiarizing themselves with the technology stack and rules of the contest.
  • Task Categorization Beginner Task (Yes/No)
    • Simple, and less technical tasks that help students onboard and learn how things work 
    • Students can work on a maximum of two beginner tasks
    • Examples: Getting on IRC, making first wiki edits, setting up the development environment and providing a screenshot of it, triaging three bug reports, etc 
  • Instance Count Set this as higher than 1 for a generic task. More than one student can complete it. For example: "Fix five template data issues from the list shown in this link."
  • Categories Choose one or more from below:
    • Code Tasks related to writing or refactoring code
    • Documentation/Training Tasks related to creating/editing documents and helping others learn more. No translation tasks allowed
    • Outreach/Research Tasks related to community management, outreach/marketing, or studying problems and recommending solutions
    • Quality Assurance Tasks related to testing and ensuring code is of high quality
    • User Interface Tasks related to visuals, design or workflows in applications
    • Note that translation tasks are allowed since GCI 2017 but please think carefully: if the task can be completed by machines or if the task cannot be reviewed by somebody who knows the language, do not offer it!
  • Tags Maximum 5 keywords. Add tags that make a task searchable (e.g. Python, wikitext, screencast, etc.)
  • Mentors One or two (preferred). Let org admins know if you will not be available within a certain timeframe. 

Process: Life of a Google Code-in task[edit]

  1. Mentors create new tasks on the GCI website
  2. Org admins publish the task to make it available for students to claim
  3. Student finds a task relevant to their interests and skills and claim it. A student can only work on one task at a time until the mentor has accepted their work
  4. Student works on the task, with guidance from mentors and other community members
  5. Student submits their work for review through the contest website
  6. Mentors must evaluate the work within 36 hours. They must either click "Approve task" or "More work needed" on the GCI website
  7. Student then incorporates feedback from mentors and re-submits their work
  8. Mentor clicks "Approve task"
  9. Student finds next task, and repeats from step 4

Ideas for tasks[edit]