Привет, хабрик!
Так уж сталось что в этом году я стал призером Google Code-In. Это конкурс для школьников со всего мира, в котором они соревнуются в разработке опенсорсного программного обеспечения. Мне удалось попасть в список Grand Prize Winners, так что думаю что стоит написать этот отчет.
У меня есть много информации, советов и всего интересного.
Введение
В конкурсе принимают участие 10 open-source организаций, таких как KDE, BRL-CAD или Fedora. Каждая организация распологает пулом заданий, который время от времени пополняется. Пополняют его ментора этих организаций — разработчики проектов (пример: организация KDE, проект KDE Marble, ментор Torsten Rahn). Как же работать с этими заданиями? Каждое задание определяется несколькими полями: статус, описание, сделанная работа и комментарии.
Поговорим о статусах:
- Open — задание открыто, его можно брать. Кстати, можно одновременно брать только одно задание.
- Claim Requested — кто-то попросил разрешение, но ментор еще не успел разрешить/отказать.
- Claimed — задание взято, над ним уже кто-то работает. Это можете быть и вы.
- Reopened — то же самое что и Open, только указывает что его кто-то уже бросил.
- Needs Review — участник уже загрузил выполненную работу, требуется проверка.
- Needs More Work — ментор проверил работу и оказалось что участник сделал не все. Отправлена на доработку.
- Closed — ура!
Это те статусы, с которыми я встречался. Может есть и другие, типа Deadline, но увы.
Призы
Это все конечно хорошо, организации, задания и т.п. Но что о призах? Всем кто выполнил >1 задания, высылают сертификат. Кто сделал >2 — футболку (+ сертификат).
А вот с гранд-призерами дело обстоит по-интереснее. Каждый из 20 победителей (10 организаций * 2 финалиста = 20 тел) получает приз, поездку в Главный Галактический Офис Корпорации Гугл (если кто не знает, это в Мантин-Вью, штат Калифорния) на 4 дня. Обещают что-то захватывающее.
В этом году поездка назначена на 28 апреля — так что я еще не успел там побывать. Но после поездки обязательно сделаю отчет.
Ну, а что там с заданиями?
Все задания делятся по принципу “предпологаемое время выполения”. Есть задания на 1 день, есть на 2, 3, 4, 5… На практике, много заданий сильно недооценивают или переоценивают, но это все не важно, так как во время суддейской проверки это все учитывается.
Задания были не самые сложные, но и не тривиальные (что тут врать, и такие были). Все задания делятся на Code, Documentation, Research, Unit Testing, User Interface. Для меня документация и тесты слишком скучные, так что я решил что мой путь — coding tasks. В любом случае, это выбор каждого что делать — я видел пацана, который сделал 50 заданий на документацию, оставаясь моим самым большим конкурентом…
Вот например одно из заданий, которое я выполнил: портирование плагина спутников. Реквест к нему: review request. Парочка скриншотов:
А вот и другое задание: review request. И скриншот:
Социальная составляющая
Ментора и администраторы очень дружелюбные. Никогда не было никаких проблем с ними — давали access всегда, ставили closed тоже быстро. Все общение в KDE было сосредоточено в IRC (irc.kde.org#kde-soc и т.п). Остальные участники достаточно лояльны, дружелюбны. У всех хорошее чувство юмора — по крайней мере для меня.
Некоторые ментора танцют сальсу, путешествуют, собирают редкие камни, но все они — очень классные!
Google Code-In 2012
А теперь я покажу как обстояла моя жизнь во время контеста. Кто не хочет читать дальше, можете скипнуть до Заключения. А тем, кто все же хочет окунуться в это все мероприятие — Geronimo!
26 ноября 2012 — конкурс начался. Сейчас я о нем еще ничего не знаю.
Через 2 дня tass рассказывает мне о нем во время абсолютно отдаленной от этой темы беседы. Я регистрируюсь.
Сейчас я, сделав только два задания, искренне надеюсь на футболку. Сделав третее задание, я решил посмотреть список выполненных заданий в KDE (организация, в которой я участвовал). Тут я понял, что таких как я четверо-пятеро, и что у меня есть все шансы.
Собрался, решил что надо попробовать. Следующие 7 недель я решал 63 задания, все время лихорадочно поглядывая на таблицу заданий — как и нерешенных, так и решенных. Я начал жить в ирке, ложиться спать под 2 часа ночи, рисовать на истории и литературе.
На календаре 14 января 2013 года. Общий дэдлайн участников (брать задания нельзя). Беру последнее, за 10 минут до дэдлайна. За пару часов решаю, сдаю. Ура! Это закончилось, ждем результатов.
Проведя две недели в ожидании, 28-го числа получаю письмо на почту:
Hi Ilya,
Congratulations! You have been selected as one of the 20 Grand Prize Winners in the Google Code-in 2012 contest for your work with KDE.
We will not officially announce the winners until February 4th on our blog so please do not tweet or spread the word about this to your social media streams or go on the org's IRC channel, discussion lists etc. You can of course tell your family but please wait until after the blog post goes live on February 4th at 17:00 UTC to post about it and spread the word. Thanks.
…
Ура! Я действительно это сделал. Победа, она, она, у меня в руках. Играемся в шпионов до 4 февраля — в этот день мне исполнилось 14 лет.
Заключение
Я надеюсь, что этот пост послужит хорошую помощь школьникам, которые захотят поучаствовать в этом замечательном конкурсе.
Кстати, также есть конкурс для студентов — Google Summer of Code (ссылка ниже). Там все гораздо сложнее и стипендия есть.
Спасибо за внимание, и как я люблю говорить, happy coding! :)
Должно помочь
Главная страница Google Code-In 2012
Гл. страница Google Summer of Code 2012
Объявление победителей
Статистика по участникам
Автор: namespace