Fedora и Google Summer of Code 2012

Только что анонсировали утвержденный список проектов, которые приняты в качестве организаций в Google Summer of Code 2012. В этот раз участвует 70 организаций, среди которых и Fedora. Дружный коллектив Russian Fedora всячески рекомендует начинающим и не очень разработчикам, которые на этот сезон еще учатся, и которым уже есть 18 лет, попробовать поучаствовать в этом проекте. Если вашу заявку примут, и если вы добьетесь успеха, то вы получите не только 5000 долларов, но и уникальный опыт разработки в темпе, близком к вашему (но чуть-чуть ускоренном вашим ментором), при участии опытных старших товарищей.

Для тех, кто еще не слышал, формат вашего участия таков. Сначала, вы выбираете проект, в котором вы можете принять участие. Не бойтесь того, что из опыта у вас за плечами только желание этот опыт получить - необязательно досконально во всем разбираться. Ключевой момент GSoC, это обучение, а не платная разработка, так что не бойтесь, что вы вчера узнали, что такое Apache, PHP и GCC, а уже хотите начать переписывать весь интернет. Еще не бойтесь, что вы так и не узнали, что такое GCC - в рамках проекта нужны не только системные программисты, но, например, web-разработчики. Еще такой момент - лучше выбрать проект, который вы лично используете, так как гораздо больше мотивации исправлять то, с чем лично сталкиваешься, чем выполнять какую-то абстрактную задачу.

Итак, вы выбрали проект. Теперь немедленно регистрируйтесь на сайте Google Summer of Code и срочно ищите "менторов" с помощью средств коммуникаций, принятых в выбранном проекте (список рассылки, джаббер-конференция, ирка). Менторы, это те, кто будет подталкивать вас, когда у вас кончится эйфория и вдохновение, и кто будет оценивать вашу работу. Они же будут помогать вам своими советами и учить вас взаимодействию в среде opensource разработчиков. Практика показывает, что по ряду причин, именно этого "инжиниринга" процесса разработки и не хватает русскоязычным разработчикам, так что это очень и очень ценно. Выйдя на контакт с потенциальными менторами вы сообщаете им о своем желании и рассказываете о своей идее, как можно улучшить их проект. Они соглашаются с вами, соглашаются с оговорками или полностью разбивают вашу идею (предлагая какие-то свои). Здесь есть момент произвола и сильное влияние человеческого фактора, что неизбежно.

Предположим, переговоры прошли нормально, и вы договорились c потенциальным ментором об идее, которую будете реализовывать. На проект Google выделяет несколько "слотов" (в зависимости от неких непубличных оценок значимости проектов внутри Google), и теперь вы конкурируете с другими студентами за слоты. Вас и вашего ментора будут интервьюировать другие представители выбранного проекта, чтоб затем открыто и публично решить, какие-же предложения выглядят более привлекательными для участия в GSoC. Ваша заявка может выглядеть техничнее прочих, но, например, у других представителей проекта может по разным причинам сложиться впечатление, что вы и ваш ментор не сумеете закончить ее в срок. Невыполненные в срок заявки серьезно понижают шансы проекта попасть в следующий GSoC, так что тут "ничего личного". У разных проектов есть свои варианты оценки предложения - от реальных тестовых заданий, которые выбираются из числа "janitorial" задач, до простого общения через feature/issue-tracker.

Если вашу задачу одобрили, и она заняла слот в рамках проекта, то тут начинается самая простая фаза - вы пишете код, настраиваете уже имеющиеся программы, проводите анализ. На этом этапе вам помогает ментор с инфраструктурой, с системой контроля версий, с issue tracker. Он дает рекомендации по желаемому рабочему графику, оценивает скорость и точность выполнения, общается с вами. По прошествии некоторого времени вы завершаете задачу, получаете деньги и заносите строчку в резюме, прикалывая туда и рекомендации от вашего ментора.

Все очень просто - проще, чем, например, устроиться на работу в Яндекс, VKontakte, Facebook или Google. Для участия крайне желательно уметь письменно общаться на английском, хотя-бы с акцентом, так как общение, это очень важный фактор в разработке, а общаться придется на английском. Есть проекты, где традиционно есть русскоязычные менторы, но тем не менее, очень поможет знание международного языка. Насчет русскоязычных менторов, мы советуем обратиться к нам, в Fedora, к Alexandre Prokoudine и LinuxGraphics, к коллективу GIS-Lab. Напоследок, прочитайте подробный отчет от участника GSoC о том, с чем ему пришлось столкнуться.

Мы желаем вам удачи, какой бы вы ни выбрали проект для участия. Помните, вы не только получаете возможность улучшить открытые проекты под руководством специалистов в своей предметной области, но и вашу работу профинансируют. Немногие участники Open Source движения могут припомнить столь тепличных условий для начала карьеры разработчика.