У большинства программистов наступает момент, когда работа/учеба уже не приносят такого удовольствия, как раньше. Хочется стать частью чего-то большего, сделать значимый вклад в сообщество и как-то заявить о себе. Кто-то идет с докладами на конференции, другие в Open Source, а некоторые совмещают обе деятельности. И если для опытных специалистов все вполне понятно и очевидно, то новички часто задаются вопросом: «А с чего начать?».
Новичкам в IT сложно найти свое место, их сковывает неопытность и страх совершать ошибки (многих еще и синдром самозванца поражает). Начать свой путь таким людям может помочь открытое к начинающим сообщество, которое не только поддержит инициативу и предоставит возможности для самореализации, но и позволит сделать действительно значимый вклад, результат которого можно будет увидеть и использовать.
Таким сообществом может стать (и стал для меня) Хекслет. Многие проекты Хекслета не только находятся в открытом доступе на GitHub, но и с радостью принимают пулл-реквесты от всех заинтересованных. Что может дать участие в таких проектах?
Возможность проявить инициативу
Как уже было описано выше, у многих есть энергия и желание поучаствовать в чем-то большем, чем рутинная работа или стандартные домашние задания для обучения. Вы получаете возможность поучаствовать в проекте, который вам интересен, и сделать его лучше.
Сообщество
Современный мир и IT в частности построены на коммуникации и взаимопомощи. Вы помогаете проекту, а взамен получаете новые знакомства, знания и опыт. В сообществе Хекслета можно найти множество интересных знакомств. Это также позволяет развивать полезные soft skills: уметь слушать, слышать и договариваться.
Опыт
В процессе работы вы далеко не всегда будете работать над проектами «с нуля». Скорее всего, это будет проект, разработанный гораздо раньше другими людьми. И вам придется разбираться в нем самому. Для этого необходимо развивать навык чтения чужого кода. И Open Source проекты могут стать отличным тренажером! Перед своим первым вкладом вам придется изучить не только техническую часть, но и различную документацию и правила.
Быть учителем, а не учеником
Специалисты уровня middle и senior часто становятся менторами для новичков. С большой вероятностью то же ждет и вас. Некоторые проекты научат вас грамотно доносить свои мысли до других. Например, вы можете сделать вклад в Code Basics: написать новый курс или улучшить существующий. Написать свой курс для начинающих — прекрасный способ научиться грамотно доносить свои мысли и учить других.
В каких проектах Хекслета можно поучаствовать:
Как правильно выбрать проект
Думаю, на этот вопрос нет однозначного ответа. Но я могу поделиться принципами, которыми руководствуюсь сам:
Как Хекслет помог мне
Я узнал про Хекслет уже закончив обучение в других местах и самообучение. Чуть позже, увидев твит основателя школы о добавлении новых языков в CodeBasics, я решил попробовать поучаствовать в создании нового курса. Из доступных языков я выбрал, пожалуй, один из самых необычных и не популярных — Prolog. Сначала был один пулл-реквест с hello-world уроком, потом второй, и понеслось. Я успел написать короткий курс по Prolog, поучаствовать в курсах по Java и Kotlin. А теперь развиваю свои собственные проекты :)
Был ли этот опыт полезен? Несомненно!
P.S.: когда-нибудь я допишу курс по Prolog...