|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если нет желания или возможности принять участие в качестве самостоятельной организации, можно попроситься в одну из зотничнных организаций, берущих под свое крыло различные проекты по определенным тематикам. Доступен неофициальный список таких организаций за 2018 год [3]. Зонтичными могут быть как организации по широкому спектру направлений, например Debian и Linux Foundation, так и специализированные в определенной области, например OpenAstronomy, OpenChemistry. Каждая организация подготавливает идеи работ для студентов и наставников студентов для данных работ. Важно подготовить и качественно оформить хорошо проработанные идеи на сайте организации: если они будут оформлены в виде «ищите задачи на нашей вики или багзилле», велика вероятность того, что организация не пройдет конкурс. Идеи для работ должны, с одной стороны, учитывать то, что студенты в большинстве своем не являются профессиональными программистами, поэтому вряд ли смогут работать с той же эффективностью, что и сами менторы, поэтому следует готовить реалистичные, посильные задачи. С другой стороны, идея должна быть достаточной по объему для трех месяцев работы исходя из 30-40 часов в неделю. Допускаются к участию только проекты по написанию кода ПО: нельзя делать основной темой работы улучшение документации или дизайна, переводы и т.п., но, разумеется, они могут быть вспомогательной частью работы. Полезно ознакомиться с принятыми проектами за прошлые годы [4] и пользоваться их примером. Помимо выбора среди предложенных идей, у студентов есть право выдвигать собственные проекты. Это сложнее, поскольку требует проработки идеи со стороны самого студента и не всегда возможно найти наставника для таких проектов, но, как показывает практика, если студент предложил свою идею – он по уровню существенно выше среднего. Список принятых организаций 2019 года будет доступен 26 февраля. Заявки студентовСтуденты могут подавать заявки с 25 марта по 9 апреля. Рекомендуется заранее связываться с проектами, в которых студент заинтересован, для того, чтобы освоиться с проектом, его сообществом, инфраструктурой. Участвовать могут любые совершеннолетние учащиеся высших учебных заведений – как студенты, так и аспиранты, являющиеся таковыми на день публикации результатов отбора, который будет 6 мая в 2019 году. В том числе допускаются учащиеся зачисленные, но еще не начавшие фактическое обучение, и выпускники, которые на 6 мая еще являются студентами (или аспирантами), но заканчивают обучение до окончания программы GSoC.
Важно своевременно предоставить Google документы, подтверждающие факт обучения в вузе, до 6 мая, а лучше вместе с подачей заявки. Обычно достаточно взять справку из деканата, сделать ее нотариально заверенный перевод на английский и загрузить отсканированные документы. К сожалению, ежегодно имеют место случаи, когда студенты не допускаются к программе из-за не предоставленных вовремя документов. Каждый студент может участвовать в программе не больше двух раз (речь идет про пройденный отбор и фактическое участие в программе). Подавать заявки можно в несколько разных проектов, но не более трех. Подготовка заявки – ответственный и трудоемкий процесс. Отбор студентов осуществляется организациями на конкурсной основе. Обычной практикой в дополнение к рассмотрению заявки студента являются небольшие задания. Традиционно большинство проектов просят исправить несколько простых багов. Главная цель подобных задач – убедиться в том, что кандидат обладает необходимыми навыками для работы с инструментарием и кодовой базой проекта, владеет необходимыми знаниями языков программирования. Речь не идет про совершенное владение ими, но студент должен уметь писать код на уровне, приемлемом для решения поставленных задач. Владения языком на уровне «Hello, World!» будет явно недостаточно. Вполне разумно указать в заявке ссылки на СПО проектов кандидата или проекты с его вкладом, если таковые есть, дать ссылку на публичные репозитории, например на GitHub, чтобы организация могла ознакомиться с реальными навыками и опытом кандидата. Разумеется, это должен быть код, который не стыдно показать другим. Самая важная часть студенческой заявки – это детально проработанный план работ. Именно по нему проводится экспертиза соответствия студента и проекта, именно этот план будет лежать в основе ежемесячной оценки работы студента. Желательно, чтоб план содержал понедельный список планируемой работы. Такой план сложно хорошо подготовить с первой попытки, поэтому рекомендуется и всячески приветствуется заранее связываться с организациями и менторами для обсуждения идеи проекта и его деталей, в том числе плана работ. Студент имеет право предоставлять менторам черновики заявки для комментариев, но должен при этом писать заявку самостоятельно. Кроме того, заявка должна содержать обоснование необходимости проведения работ и планируемый результат. Кандидат должен показать знание предметной области и понимание того, что, как и зачем он собирается получить. Также важно указывать контакты, часы доступности (поскольку разные участники проекта обычно из разных временных зон) и дни планируемого отсутствия (например, экзамены). Важно честно указывать всю имеющуюся информацию, особенно о планируемом отсутствии, поскольку оно допустимо программой в течение одной-двух недель. В ряде случаев возможен индивидуальный подход: например, студент по согласованию с организацией начинает работу раньше, но отсутствует дольше, к примеру, из-за экзаменационной сессии. В то же время, если планируемое отсутствие было скрыто на этапе подачи заявки, такой студент может ибудет изгнан из программы.
Коммуникационные навыки кандидата являются важным фактором при выборе. Практика показывает, что студенты, плохо отзывающиеся на вопросы менторов или просто пропадающие на неделю во время отбора, делают то же самое во время написания кода и нередко заваливают проект. Поэтому настоятельно не рекомендуется брать студентов, демонстрирующих серьезные коммуникационные проблемы и существенное отсутствие дисциплины. Нормой считается ответ в течение одного рабочего дня. Это касается как студентов, так и менторов. Разумеется, необходимо знание английского языка на уровне чтения, написания технической документации и ведения переписки. В некоторых случаях возможно устное общение посредством VoIP или даже личные встречи, но это не обязательно. Конкурсный отборМесто, выделяемое организации под проект и студента, называется слотом в терминологии GSoC. Каждая организация запрашивает интервал [min. . max] слотов и самостоятельно распределяет по ним желаемые студенческие заявки, где min – минимальное число слотов, которое организация хотела бы получить для лучших кандидатов, а max – максимальное число мест, которое организация готова обеспечить сильными студентами, в успешности проектов которых есть полная уверенность. Google старается предоставить хотя бы min слотов каждой организации (при условии разумности запрошенного значения), но новые организации обычно получают в первый год только один слот, изредка два. Неиспользованные слоты пропадают, поэтому если организация запросит больше мест, чем сможет использовать, она лишит других студентов из остальных организаций возможности участия в данной программе. Поэтому нужно очень ответственно и сдержанно подходить к запросу слотов. Google не назначает принятых студентов, а лишь выделяет места, которые организации самостоятельно распределяют, но может отклонить назначенную организацией заявку. Обычно это происходит из-за проблем с документами, например если студент не предоставил документы, что он является студентом на момент объявления результатов конкурсного отбора (в 2019 году это будет 6 мая). В случае если студент подал заявки в несколько организаций и они были приняты более чем в одной, возникает конфликт. По умолчанию студента получает организация, принявшая его первой, но организации могут проводить диалог друг с другом для разрешения возникшей коллизии и передать студента в другую организацию по договоренности. Google не вмешивается в этот процесс, он решается исключительно между администраторами вовлеченных организаций. Следует обратить внимание, что организациям категорически запрещено под угрозой дисквалификации сообщать студентам заранее – до официального оглашения результатов 6 мая 18:00 UTC – о том, берет их организация или нет. Поэтому студентам не следует задавать такие вопросы своим менторам или администраторам. На рис. 1 приведена статистика по числу студентов, менторов и организаций за все годы проведения GSoC на основе официальных данных [5]. Прослеживается общая тенденция на увеличение числа студентов и небольшой рост числа организаций. Учитывая принцип отсутствия гарантий дальнейшего участия даже для проектов-ветеранов, эта зависимость наглядно демонстрирует практически осуществимую возможность попадания в программу для новых участников, как студентов, так и организаций. Рисунок 1. Статистика по числу участников за все годы GSoC На рис. 2 изображена динамика изменения числа студентов на организацию и числа менторов на одного студента. Видно, что в последние годы прослеживается уменьшение среднего числа студентов на организацию при общем увеличении числа организаций, что означает увеличение числа новых СПО проектов, участвующих в программе, что соответствует политике диверсификации и предоставления равных возможностей. Среднее число менторов на одного студента остается около двух, что указывает на разумную практику назначать на одного студента основного и запасного наставника для покрытия рисков недоступности одного изнаставников по причине болезни или иным обстоятельствам. Рисунок 2. Динамика изменения числа студентов на организацию и числа менторов на одного студента Так, мы видим, что участие в программе открыто для всех и попасть туда новым участникам вполне реально. УчастиеОфициально период написания кода начинается 27 мая и длится до 26 августа. По обоюдному согласию между организацией, наставником и студентом возможно начать работу раньше, например, для компенсации времени, выпадающего из-за сдачи экзаменов. В то же время интервал между оглашением результатов и началом работ предполагается использовать для ознакомления студента с сообществом и его методами работы, изучения необходимой документации и инструментария – иными словами, для втягивания в процесс разработки, чтобы с 27 мая начать писать код без затрат времени на изучение проекта и обучение необходимым навыкам. Важной частью работы является регулярное общение между наставником и студентом. Обычно это ежедневные краткие ответы на вопросы и детальное общение в чате еженедельно. Отсутствие надлежащей и своевременной коммуникации часто приводит к провалу проектов и исключению студента из программы. Поэтому следует отнестись к данному вопросу серьезно. От студента ожидается полноценная работа (30-40 часов) 5 дней в неделю с обязательными еженедельными отчетами о проделанной работе, кроме того, многие организации практикуют краткие ежедневные отчеты: итоги за день и план на завтра.
Затраты времени наставника сильно варьируются в зависимости от уровня подготовки и самостоятельности студента (поэтому не следует брать слабых студентов!), но обычно находится в интервале от 4 до 10 часов в неделю. Поэтому редко когда наставник может вести двух и более студентов. С педагогической точки зрения GSoC похож на дипломную работу: ментору требуется помогать преодолевать студенту возникающие сложности, направлять общее развитие проекта, корректировать задачи и цели с учетом обстоятельств, но не предполагается обучение базовым навыкам программирования или смежных задач; также важно, чтоб код студентом писался самостоятельно. Основной этап работ делится на три части с ежемесячными отчетами студентов и наставников – они взаимно оценивают работу друг друга, и при неуспеваемости студента он может быть исключен из программы. При необходимости по обоюдному согласию наставников и студентов план работ может быть скорректирован для учета возникших сложностей или прорывов в работе. ФинансированиеОрганизации имеют право свободно распоряжаться полученными средствами по своему усмотрению для любых целей, но Google их выделяет из расчета трат на определенные цели, таким образом, выполнение этих целей приветствуется, но не требуется. Каждая организация получает $2200 для участия двух менторов или администраторов в ежегодном саммите GSoC, который проходит после завершения программы; еще $500 выделяется на участие студента в мероприятиях организации и по $500 за каждого студента независимо от успешности его работы (таким образом, организация может спокойно исключать неуспевающих студентов без негативных последствий для себя). Следует отметить, что если ментор вовремя не выполняет ежемесячную оценку работы студента, этот ментор лишается права посетить саммит менторов в этом году и организация теряет $1100 за каждый не сданный вовремя отчет (пока не израсходуются $2200). Как мы видим в очередной раз, Google очень серьезно относится к установленным срокам.
До 2016 года включительно все студенты получали $5000 в случае успешного выполнения программы. Затем на очередном GSoC Mentor Summit сообщество решило, что это несправедливо, поскольку стоимость жизни в разных странах существенным образом различается. Поэтому начиная с 2017 года сумма зависит от страны и рассчитывается по паритету покупательской способности этой страны изначально с вилкой $2400-6600, которая изменилась на $3000-6600 с 2019 года. Сумма выплат для студентов из России с 2017 года составляла $3600, в 2019 году будет $3000. Это неприятное для наших студентов изменение, но, пожалуй, справедливое по отношению к остальным участникам. Следует отметить, что в РФ следует уплачивать подоходный налог с получаемой стипендии, поскольку на основании ст. 217 Налогового кодекса РФ и письма Минфина РФ от 26.07.2016 № 03-04-06/43564 установлен ограниченный перечень стипендий, не облагаемых налогом, к которым стипендии Google не относятся. Результаты работыВ результате выполнения работ должен быть сформирован репозиторий с созданным кодом под СПО лицензией, а также документация по его использованию. Организация не обязана принимать его в основной репозиторий, но это рекомендуется. Всячески приветствуется закрепление студентов в проектах и продолжение их вклада в будущем – в этом основная цель программы.
На рис. 3 приведена статистика по данным организации Gentoo Foundation, участником которой автор является с 2017 года. Видно, что большая часть заявок отклоняется как слабые или вовсе непроработанные, были одиночные случаи, когда студента не взяли из-за не предоставленных вовремя документов или выгнали из-за серьезной неуспеваемости. Рисунок 3. Статистика заявок и участия в Gentoo Foundation Большинство принятых заявок оказались успешными (и они составляют чуть больше четверти от общего числа поданных заявок), и часть этих студентов закрепилась в сообществе Gentoo, в том числе в активной разработке. Таким образом, удалось достичь главной цели проекта – привлечь новых разработчиков в сообщество. Итак, программа GSoC вполне доступна для всех желающих, как студентов, так и организаций, и дает вполне осязаемый вклад в развитие СПО проектов, не говоря о потрясающем практическом опыте, который получают студенты в ходе выполнения работы. Новые участники всегда приветствуются. Удачи!
Ключевые слова: Google Summer of Code, обучение, разработка, СПО. Комментарии отсутствуют
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|