- Что такое Open Source проекты и зачем они нужны
- Кто может участвовать в Open Source проектах
- Какие есть Open Source проекты
- Как работать с Open Source проектами
- Вывод
Сейчас многие IT-компании в первую очередь рассматривают разработчиков с опытом. При этом программисты не знают, где его набраться, если не берут на работу, или на проекте выполняются однотипные задачи и нет развития.
Чтобы собрать портфолио, разработчики участвуют в открытых проектах. Это хорошая возможность работать в той области программирования, в которой вам комфортно и интересно.
В этом уроке поговорим о том, что такое Open Source проекты и как они помогают разработчикам. Также разберем типы специалистов, которые могут участвовать в таких проектах, дадим список Open Source и объясним, как с ними работать.
Что такое Open Source проекты и зачем они нужны
Если вы решили создать или пополнить свое портфолио, то в этом поможет Open Source — проекты с открытым исходным кодом, которые может разрабатывать и развивать любой желающий.
Например, в них можно доработать программу, проверить ее безопасность или создать собственную.
Open Source проекты помогают закрыть сразу несколько потребностей программиста:
- Набраться практического опыта. HR-специалисты рассматривают разработчиков только с опытом. Open Source проекты помогут наполнить портфолио, даже если у вас нет работы в данный момент
- Прокачать хард скиллы. Если вам не хватает практики или вы только учитесь, Open Source проекты помогают наработать навыки и отточить мастерство. Для этого нужно регулярно участвовать в них
- Быстро трудоустроиться. Так как Open Source проекты помогают наполнять портфолио, вас с большей вероятностью возьмут на работу. В этом случае скорость трудоустройства увеличивается, так как работодатели смотрят в первую очередь на практические проекты
- Стать заметным в комьюнити разработчиков. Участие в Open Source проектах помогает получить не только признание и уважение среди коллег. Еще с их помощью можно проработать софт скиллы, которые сейчас тоже важны при трудоустройстве
- Понять сложность реальных проектов. Open Source проекты — это реальные проекты, которые сложнее, чем учебные. В них много взаимосвязей, сущностей и чужой код, в котором нужно разобраться
Open Source проекты развивают разработчиков с разных сторон. При этом нужно понимать, кто может участвовать в открытых проектах и как они помогают в конкретных случаях.
Кто может участвовать в Open Source проектах
Open Source проекты полезны всем, кто занимается разработкой или только интересуется ею:
- Новички
- Студенты
- Специалисты
Разберем подробнее каждую категорию и приведем примеры подходящих для них Open Source проектов.
Новички
Если у вас нет опыта и вы только начинаете путь в программировании, вы все равно можете участвовать в открытых проектах. При этом совсем без знаний не обойтись.
Чтобы участвовать в открытых проектах, вам нужно изучить механику Git и базовые навыки работы в командной строке. Еще во многих проектах используется Docker — программа, с помощью которой можно запускать процессы в изолированной среде. Подробнее о нем в гайде «Как и для чего использовать Docker».
Когда вы поймете, как работать с инструментами, и установите проект себе на компьютер, изучайте чужой код — смотрите, что там написано, и анализируйте, за что отвечает каждый фрагмент кода.
Студенты
Если человек обучается программированию, но у него еще нет опыта, его тоже можно назвать новичком. При этом студенты отличаются от новичков тем, что у них уже есть некоторые знания в разработке и небольшая практика.
Чтобы не затягивать с развитием в программировании и трудоустройством, можете участвовать в Open Source проектах во время обучения. Например, прошли урок — нашли подходящий по теме проект — выполнили его. Так вы сможете сразу на реальном проекте закрепить полученные знания и навыки.
Обязательно участвуйте в открытых проектах после прохождения курса и программы. Вы только что получили новую профессию или скилл, поэтому их сразу нужно отрабатывать на реальной практике.
Специалисты
Если вы уже работаете над реальными задачами, и у вас отлично получается, это не значит, что вам не нужно развивать новые скиллы.
Например, на работе могут быть однотипные задачи, за рамки которых нельзя выйти. Скоро из-за этого может произойти выгорание и осмысление того, что вы не развиваетесь.
Если в вашем проекте нет возможности попробовать себя в другой сфере программирования и получить другие навыки, то для этого отлично подойдут Open Source проекты. С их помощью вы станете более универсальным специалистом, что может повлиять на вашу карьеру.
Если вы определились, к какой категории пользователей относитесь и какие навыки хотите прокачать, можно переходить к выбору проекта.
Какие есть Open Source проекты
Open Source проекты развивают сообщество вокруг них. Например, проект Git, которым пользуются многие разработчики. Они не только набираются опыта, но и помогают проекту развиваться — находят и исправляют ошибки, вносят предложения.
Студентам Хекслета не нужно искать Open Source проекты, так как здесь уже все есть. В Хекслете множество проектов с открытым кодом на разный уровень разработчика и область программирования.
В таблице ниже полный перечень Open Source проектов Хекслета с задачами:
Open Source проект | Задачи |
---|---|
Hexlet Guides — сайт, где размещаются гайды для новичков. Ссылка на сайт. | Улучшить текущие гайды, обновить информацию, добавить новые гайды, обновить движок для гайдов |
Code Basics — бесплатный проект для обучения основам языков программирования. Ссылка на сайт. | Улучшить существующие уроки, улучшить сайт, создать уроки для новых языков, перевести уроки на английский язык |
Codebattle — проект, в котором два программиста соревнуются, кто быстрее выполнит одну задачу на разных языках программирования. Ссылка на сайт. | Участвовать в разработке сайта, добавить новые соревновательные задачи, участвовать в разработке Chrome расширения |
Hexlet Резюме — проект для соискателей и HR-специалистов. В проекте используется Ruby on Rails. Ссылка на сайт. | Сделать фильтрацию резюме по направлениям, скрыть комментарии от гостей, расширить лимит комментария-ревью под резюме, перевести сайт, добавить Markdown редактор для визуального редактирования |
Hexlet SICP — сервис для тех, кто изучает книгу «Структура и интерпретация компьютерных программ». На нем можно отслеживать свой прогресс и соревноваться с другими пользователями. Ссылка на сайт. | Добавить тесты в упражнения, обновить проект под новые Laravel-реалии, исправить баги, добавить таймер для показа решения учителя, добавить линтер для JS кода, проверить внешние ссылки на книгу |
Hexlet Correction — сервис уведомления владельцев сайтов об ошибках и опечатках. В проекте используется Java. | Сделать виджет для вставки на сайты пользователей, добавить аутентификацию, скрыть воркспейсы от пользователей |
Hexlet Friends — сервис для отслеживания Open Source проектов Хекслета. В проекте используется Python. Ссылка на сайт. | Участвовать в разработке сервиса |
Hexlet Runit — среда, где пишут и исполняют код, который используется на платформах Хекслета. Бэкенд разрабатывается на NestJS и TypeScript, на фронтенде используется React. | Участвовать в разработке сервиса |
Hexlet Comparator — сервис, где сравниваются онлайн-школы программирования. Работает на NextJS и React. Ссылка на сайт. | Участвовать в разработке сервиса, заполнять информацию о школах |
Теперь разберем, как работать с этими проектами.
Как работать с Open Source проектами
Задачи и специфика каждого Open Source проекта отличаются. При этом у них есть общие шаги:
- Выбор задачи
- Решение проблем
- Трудоустройство
В этих случаях работа с Open Source проектами происходит одинаково. Рассмотрим каждый этап подробнее.
Выбор задачи
Выберите из списка выше проект, задачи и тема которого вам подходят. Далее перейдите по ссылке.
У каждого проекта есть файл README, где можно найти всю информацию о нем, а также руководство, как развернуть его у себя на компьютере:
По описанию вы поймете, готовы ли вы взяться за проект.
В каждом репозитории проекта есть вкладка Issues:
Здесь увидите список багов или задач, с которыми можно работать.
Если нашли подходящую задачу, оставьте комментарий, что готовы ее выполнить и приступайте к работе:
Если вы передумали работать с задачей, то сообщите об этом.
Решение проблем
На любом этапе работы с открытыми проектами вам может понадобиться помощь. Вот наиболее частые проблемы, с которыми можно столкнуться в открытых проектах:
- у проекта нет описания
- вы не понимаете, актуальна задача или нет
- в разделе Issues нет задач — это не всегда значит, что их точно нет
- возникли сложности, когда выполняли задачу
Если у вас возникли описанные или другие проблемы, пишите в телеграм-канал Хекслет. Еще туда можно обращаться, если у вас есть предложения, как улучшить проект. Если вы учитесь в группе с наставником, возникшие проблемы вы можете также обсудить в канале internship.
Общение с коллегами не только решает вашу проблему относительно Open Source проектов. Одновременно с этим, вы развиваете свои софт скиллы, которые ценятся работодателями.
Компаниям важно, чтобы разработчик умел не только хорошо выполнять поставленные задачи, но коммуницировать с командой.
Трудоустройство
Участие в Open Source проектах не обязывает разработчика трудоустраиваться. Возможно, он делает это, чтобы применить прокаченные навыки в проекте, в котором уже работает.
При этом открытые проекты выручат, если вы потеряли работу, решили сменить ее или ищете первый проект. В таком случае важно следить, чтобы вся активность в Open Source отображалась в личном кабинете на Github. Подробно об этом мы рассказывали в предыдущем уроке.
Аккаунт на Github — это удобно, так как вам не нужно собирать все проекты самостоятельно и выкладывать их на стороннем ресурсе. Достаточно скинуть HR-специалисту ссылку на личный кабинет, где он увидит всю необходимую информацию о разработчике и его портфолио.
Open Source проекты — это отличная возможность для программистов, у которых нет опыта в крупных проектах или компаниях, заявить о себе и найти работу. Если вы будете участвовать в открытых проектах, то вас вряд ли будут пугать вакансии, на которые не берут без опыта.
Вывод
Мы разобрали, что такое Open Source проекты и как они помогают разработчикам. Также рассмотрели типы специалистов, которые могут участвовать в таких проектах, дали перечень Open Source и объяснили, как с ними работать.
Open Source помогает набраться практического опыта, прокачать хард скиллы, трудоустроиться, стать заметным в комьюнити разработчиков и понять сложность реальных проектов
Они полезны всем, кто занимается разработкой или только интересуется ею — от новичков до специалистов.
Если у вас возникнут вопросы по Open Source проектам, обращайтесь в телеграм-канал Хекслет.
Дополнительные материалы
- Как участвовать в жизни Хекслета
- Как участвовать в open source проектах
- Практика в опенсорс-проектах
- Зачем нужен Git
- Как присоединиться к работе над опенсорсом
- Codebattle, или Как опенсорс-проект даёт опыт программирования и помогает строить карьеру
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар «Как самостоятельно учиться»
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.