«Google Summer of Code - это глобальная программа, направленная на привлечение большего числа студентов-разработчиков к разработке программного обеспечения с открытым исходным кодом. Учащиеся вместе с организацией с открытым исходным кодом работают над трехмесячным проектом по программированию во время перерыва в школе ».

Я надеюсь, что приведенная выше цитата достаточно хорошо объясняет термин Google Summer Of Code. С этого момента я буду называть его G.S.O.C.

Я являюсь одним из квалифицированных счастливых участников сессии программы GSOC 2019, которая официально началась 6 мая 2019 года, когда квалифицированные студенты подали заявку, где было объявлено. Программа должна завершиться на год 3 сентября 2019 года.

Перейдите по этой ссылке, чтобы увидеть их полную хронологию

Программа GSOC имеет долгую историю и хороший послужной список по улучшению проектов с открытым исходным кодом. Многие организации с открытым исходным кодом участвуют ежегодно со всего мира. Чтобы узнать, какие организации участвовали в течение всех предыдущих лет, вы все равно можете перейти по ссылке выше, и если вы хотите узнать больше о GSOC, на самом деле есть много статей, которые вы можете найти, и они очень хорошо справляются с тем, чтобы сообщить вам все, что вам нужно, но все, что написано выше этой статьи. Здесь я как бы сосредотачиваюсь на своей истории о том, как я стал участником и как эта программа изменила мою жизнь к лучшему. Конечно, лучшее еще впереди. : D

Моя история

Мое путешествие к этому моменту с GSOC началось некоторое время назад, намного раньше. Примерно в 2016 году или около того, когда нас впервые познакомил с GSOC один из наших пенсионеров, который уже окончил школу (мы называем их Супер Львы / Львицы: D). У него была встреча с нами, членами Google Developers Group, активного сообщества разработчиков, которое у нас было тогда в Школе. Он рассказал нам так много всего, но главной темой обсуждения была необходимость нашего участия в Google Summer of Code Program. Далее он поделился с нами своим собственным опытом того, как он попал в программу и как он был одним из немногих счастливчиков, которые участвовали в программе, представляя нашу страну, Нигерию. Он рассказал о том, что каждый год из нашей страны или школы подают заявки лишь несколько студентов, а иногда и вовсе никто. Он объяснил множество преимуществ, которые мы можем получить от участия в GSOC в качестве студентов.

Вся дискуссия тогда действительно звучала странно для большинства из нас, но некоторые другие поняли идею и начали очень усердно работать, чтобы убедиться, что мы дойдем до предстоящего раунда в следующем, 2017 году.

После встречи в тот день я действительно очень заинтересовался и надеялся, что однажды я стану частью этой замечательной программы. Но все не так просто, особенно для такого человека, как я, который был очень новичком во всех концепциях программирования. Я все еще пытался найти свой способ усвоить базовые концепции, и я заблудился, пытаясь найти, где я могу вписаться в большой объем и области, которые все в мире технологий. На 2017 год начался период регистрации и подачи предложений студентов, но я испугался и почувствовал, что не готов. Кроме того, у меня было много вещей, о которых нужно было позаботиться в школе, поскольку семестр был для меня очень загружен, поэтому я пропустил этот год, надеясь, что, возможно, я смогу улучшить себя и буду готов к следующему году в 2018 году. Перенесемся в 2018 год, теперь я больше разбираюсь в концепциях программирования и определенно стал лучше, чем в прошлом году. На 2018 год началась регистрация студентов GSOC, а также организаций, которые сейчас принимают заявки на участие. Я хотел зарегистрироваться, а также подать заявку на участие, но передо мной возникла другая проблема.

Я не нашел времени, чтобы привыкнуть к какой-либо из организаций. Так что я был так потерян, пытаясь найти организацию, на которую можно было бы выбрать. Я не начинал рано следить за организацией и заявлять о себе в их сообществе / каналах до последней минуты, когда весь выбор организации стал для меня подавляющим. Я не мог определиться с какой-либо организацией, потому что соревнования были везде, пока не закончилась регистрация. Что ж, думаю, я усвоил это на собственном горьком опыте. Мой друг-победитель, обладающий большим опытом, чем я, знал обо всем этом и провел хорошее исследование, он начал рано и уже активно болтал с владельцем проекта для организации еще до начала подачи предложений. Когда началась подача заявок, многие студенты начали подавать заявки, особенно. все эти индийские парни, которые есть повсюду: D. Даже несмотря на то, что все конкурентоспособные студенты подали заявки в последнюю минуту, место победителя уже было сохранено за ним и никем, кроме него. Так что он сделал это на GSOC 2018. Хотя это путешествие было для него нелегким (он всегда делился со мной своими проблемами, и я продолжал поощрять его продолжать). Он закончил программу и успешно сдал. Я был так счастлив за него, и он стал для меня источником мотивации на следующий GSOC в 2019 году.

Итак, вот и 2019 год, я уже усвоил уроки на собственном горьком опыте. Вместо того, чтобы учиться на чужом опыте, но предупредить меня было некому. На этот раз я дождался объявления списка участвующих организаций, а затем начал копаться в выборе организации. Имейте в виду, этот период тоже довольно поздний и действительно конкурентный, но, исходя из своего прошлого опыта, я старался быть очень готовым и никогда не позволял заставлять себя сдаться, но вместо этого я продолжал.

Некоторые проблемы, с которыми я столкнулся помимо конкуренции:

  • Задача 1: есть очень-очень важный инструмент, который должны использовать все участвующие студенты, прежде чем вы сможете вносить свой вклад в разработку открытого исходного кода, - это GIT V.C.S и GITHUB. Все эти предыдущие годы у меня всегда были проблемы с пониманием концепции системы контроля версий Git, не говоря уже о понимании того, как использовать Github. Тогда это меня подавляло. Но слава Богу за множество ежедневных обучающих программ, выпускаемых для сообщества, я постепенно улавливал некоторые вещи. Сначала я начал с того, что следовал инструкциям, не понимая, что на самом деле происходит, а затем постепенно со временем все стало постепенно обретать смысл. Хорошее место для знакомства с git - это сам Github. Я думаю, это хорошее место для начала.
  • Задача 2: я уже интересовался веб-безопасностью, поэтому я решил остаться с Owasp Foundation Organization, поскольку их проекты больше ориентированы на безопасность. Итак, просматривая их список участвующих проектов, я решил присоединиться к проекту DefectDojo, поскольку, как мне кажется, я знал основные требования к проекту [python, django, docker, unittests и некоторая форма автоматизации]. Имейте в виду, я вообще понятия не имел, как работает проект, не говоря уже о том, как начать изменять их коды. Тогда это было для меня большим испытанием. Я всегда боялся вносить свой вклад в открытое ПО. Кодовая база некоторых проектов меня пугает. Поначалу действительно непросто читать чужой код, но как только вы овладеете им, вы просто начнете жадно потреблять больше кодов, чем сборников рассказов, потому что вы знаете, что есть чему поучиться, наблюдая за тем, как другие думают и решают проблемы. Так было для меня вначале, очень страшно, и я никогда не пытался заглядывать в проекты с открытым исходным кодом из-за этого страха, но все изменилось, когда я прочитал эту статью = › Как научиться хакерству . Hacking в этом смысле относится к изучению кодовой базы путем ее изменения и внесения вклада в открытый исходный код. Вам обязательно нужно прочитать эту статью. Это очень практично, и я обещаю вам, что это изменит вашу точку зрения на мышление и то, как вы видите код других людей. Вы внезапно станете бесстрашным, как и я. :): D

Итак, я присоединился к сообществу Owasp Foundation на Slack, а также на канале проекта DefectDojo. Я сообщил о своих намерениях относительно GSOC на канале сообщества Slack, я стал активным и попытался отвечать на вопросы, это заставило меня тщательно изучить и понять определенные области проекта, чтобы я мог вернуться, чтобы ответить на вопросы. Постепенно я начал привыкать к проекту и тут я сделал свой первый пиар, который был объединен: D. Позже я заметил в группе проекта, что владельцы и пользователи всегда говорили о необходимости модульных тестов, которых не хватало, и поэтому я проявил к этому интерес. Именно на этом я сосредоточился в своем предложении. Пропустив все остальные истории… Я подал заявку и оказался в числе счастливых студентов, принявших участие в GSOC’19. Я был очень счастлив, когда получил электронное письмо от GSOC, в котором говорилось, что мой проект выбран. о, дааааааааааааааааааааааааааааааааааааааааааааааа стоимость.

Путешествие так далеко…

  • Участие в GSOC’19 заставило меня узнать много вещей, о которых я никогда не думал, что когда-либо узнаю. То, что я узнал бы, вероятно, через 3-5 лет, я уже знаю через 3 месяца после GSOC.
  • У меня появился совершенно новый взгляд на решение проблем. Я научился никогда не бояться проблемы, но постоянно держаться за нее и пытаться сломать ее, и довольно скоро большая проблема / препятствие на пути внезапно превратится в ничто.
  • Конечно, мой Профиль активности GitHub теперь выглядит очень загруженным :) особенно график моей активности, который раньше обычно был пуст. Уже одно это является хорошим знаком для потенциальных работодателей, что вы действительно знаете, что делаете.
  • Я продолжаю испытывать прилив радости, который вы испытываете, когда ваш код объединяется с базой кода проекта с открытым исходным кодом организации. Это дает мне чувство цели, поскольку я могу внести свой небольшой вклад в улучшение мира.
  • Наконец, меньше я забываю об этом очень важном преимуществе. Я заработаю свой первый миллион в нигерийских найрах всего за 3 месяца работы. Это то, что средний рабочий в моей стране получит только после 12 месяцев напряженной работы. :)

Несколько советов о том, как обеспечить себе место для следующего раунда GSOC

Обычно любой, кто серьезно относится к этой замечательной программе, с этого момента начал бы делать следующее:

  • Будьте активными и начните вносить свой вклад: начните рассказывать о себе потенциальным наставникам и администраторам в организационных группах и просите помощи и рекомендаций, как вы можете начать вносить свой вклад или научиться лучше понимать их продукт. дождитесь последней минуты, когда начнется регистрация. Если вы в любом случае не торопитесь, чтобы внести свой вклад в проекты, отвечая на вопросы, даже документация - это хороший способ начать или решить проблемы с прикрепленными тегами, удобными для новичков, всего, что заставит вас изучить их проект для лучшего понимания .
  • Будьте бдительны и не забывайте об идеях, которые могут помочь улучшить проекты организации: когда вы используете их проекты / продукты, просматривая чаты в группах, вы можете заметить постоянную проблему, которая продолжает появляться. вверх. Это может быть даже улучшение, которое владельцы проектов хотели бы добавить, но ни время, ни какая-либо другая причина их не сдерживает. Обнаружив подобные проблемы, вы можете начать свое исследование в этих областях и даже, возможно, сообщить владельцам проекта, что вы заинтересованы в работе над этим улучшением. Как только вы и владельцы проекта начнете обсуждать эти улучшения или строить планы по ним, ваши шансы на то, что вас примут, только увеличиваются. К моменту начала регистрации и появления других участников ваше место уже зарезервировано.

Что ж, это всего лишь несколько советов, я оставлю их всем студентам, которые хотят принять участие в следующей партии GSOC. Google и поиск дополнительных советов. НАЧАТЬ СЕЙЧАС !!

Первоначально опубликовано на https://propersam.hashnode.dev.