Все и везде говорят, что Open-Source — лучшее место, где начинающие разработчики могут набираться опыта. Проджект-менеджер Хекслета Максим Скрипов рассказывает, как выбрать первый опенсорс проект, на что обращать внимание новичку и для чего это вообще нужно.
Опенсорс — это проекты с открытым исходным кодом, в разработке и развитии которых может принять участие любой желающий. Такие проекты чаще всего развивают сообщество, выстроенное вокруг них. Одним из таких примеров является GIT, а фронтенд разработчикам известна опенсорс библиотека JQuery. Сюда же относится и операционная система Linux, которой каждый день пользуются миллионы людей по всему миру.
В опенсорс проектах начинающие разработчики могут улучшать свои навыки программирования, набираться практического опыта, а также прокачивать свои софт-скиллы в общении с живыми разработчиками. Успешно выполненные Issue — задачи, разработчики добавляют в свое портфолио — это особенно важно для тех, у кого совсем нет практического опыта в разработке. Это поможет при трудоустройстве, так как работодатель всегда смотрит в первую очередь на практические проекты.
Новичкам я советую присмотреться к задачам на сайте GoodFirstIssue. Здесь публикуются задачки для тех, у кого нет никакого опыта в разработке. Чаще всего у таких Issue есть тег “good first issue". По этому же тегу можно найти себе первые задачи и через поиск на GitHub.
Студентам Хекслета мы рекомендуем приступать к опенсорс проектам после успешного завершения второго проекта. Это связано с тем, что к его завершению у вас уже появляется представление о том, какого рода задачи вы будете выполнять в дальнейшем. Наш учебный план построен так, что к началу третьего проекта студенты готовы брать простые задачи в продакшене.
При этом, если вы чувствуете, что первый учебный проект дался вам легко, то можете уже посмотреть в сторону наших опенсорс проектов. Для начала, независимо от проекта, рекомендую локально установить его на компьютер и разобраться в чужом коде. Потрогать его и понять, как и что в нем работает.
У Хекслета есть множество опенсорс проектов, в которых могут принять участие все желающие — как самые начинающие разработчики, так и программисты с опытом. Полный список наших опенсорс проектов мы раскрываем в нашем большом гайде «Как участвовать в жизни Хекслета».
Если у вас мало практики в решении задач или вы хотите улучшить свои навыки алгоритмического мышления, то я очень советую обратить внимание на CodeBattle. Всем участникам дается определенная задача, и нужно ее решить на языке программирования, который они заранее выбрали. Например, вы пишете решение задачи на JS, а ваш оппонент решает ее с помощью Python. Процесс решения задачи всеми участниками виден в режиме реального времени — это очень хорошо прокачивает навыки работы в стрессовых ситуациях. Адреналин будет подниматься, а время на решение будет уменьшаться — такой подход поможет подготовится к собеседованию, где часто приходится решать задачи на время.
У Codebattle есть небольшая команда, которая рада активным участникам, есть активное сообщество вокруг проекта. Помогая ребятам улучшать проект, вы будете работать и с будущим пользователям этого проекта. Например, какие задачки сейчас открыты для контрибьюторов Codebattle:
Общение по проекту происходит в канале #codebattle внутри комьюнити Хекслета.
Читайте также: Как присоединиться к работе над опенсорсом, что такое PS1 и другие вопросы: отвечает разработчик Хекслета Андрей Мошков
Другой наш важный проект — RunIT. Это встроенный редактор для написания и исполнения кода, который в дальнейшем мы сможем использовать во всех наших образовательных платформах. Этот проект очень важен для нас, потому что такие сервисы, как Replit и Codepen могут вести себя непредсказуемо или сломаться. Например, один из сервисов начал вставлять свою рекламу и потом вовсе отвалился. Обсудить задачки для развития этого проекта можно в канале #hexlet-volunteers в Telegram-сообществе.
Еще одним важным проектом в жизни Хекслета является Code-Basics — это открытый бесплатный проект для изучения основ программирования. Цель этого сервиса — дать базовые знания языков программирования для разработчиков, которые только начинают свой путь. Этот сайт абсолютно бесплатен и развивается благодаря нашему дружному сообществу.
Еще есть Хекслет СИКП — трекер прохождения SICP. Участники отмечают пройденные материалы, отслеживают прогресс других пользователей. Проект работает на Laravel. Этот проект мы очень любим и активно развиваем.
Обсудить задачи можно в канале #hexlet-volunteers в нашем Telegram-сообществе.
Читайте также: Навыки командной разработки, опыт с GitHub и умение читать чужой код: зачем нужна стажировка
Хекслет-резюме — другой опенсорс проект для соискателей и HR-специалистов. Кандидаты публикуют свои резюме на сайте, а опытные HR помогают их улучшить. В проекте используется Ruby on Rails. Благодаря ему множество ребят получили свой первый оффер на работу, а работодатели нашли себе разработчиков.
Задачи к нему тоже можно обсудить в канале #hexlet-volunteers в Telegram-сообществе.
Hexlet Friends — проект с открытым исходным кодом на Python. Сервис отслеживает опенсорсные проекты «Хекслета». Анализируется количество коммитов, пулл-реквестов, issue. Он автоматически строит рейтинг участников с «ачивками». Сейчас мы хотим добавить туда много нового функционала, поэтому очень рекомендую ознакомиться с Issues.
Если же вы уже более опытный разработчик, которому хотелось бы улучшить свои практические навыки, то предлагаю вам искать проекты на Github или CodeTriage. Обращайте внимание на количество Issues — обычно проекты, у которых их более 100, — это очень крупные опенсорсы, порог вхождения в которые может быть высок. Это чревато тем, что вы будете смотреть на сложные задачи, которые вам не под силу, и думать, что это не для вас. Старайтесь всегда начинать с малого.
Читайте также: Как принять участие в работе Open Source проектов на GitHub. Краткое руководство для начинающих
Если посмотреть на наличие опенсорс проектов в резюме со стороны работодателя, то это дает огромный плюс перед другими претендентами на вакансию. Особенно это касается начинающих разработчиков.
При этом участие в опенсорс проектах работодателями ценится больше, чем собственные пет-проекты у начинающих разработчиков. У тех, кто принимал участие в опенсорсе, обычно больше опыта и им легче знакомиться с рабочими проектами.
Компании по-разному относятся к участию своих разработчиков в опенсорсе. Об этом подробно можно почитать в интервью с Александром Макаровым — одним из контрибьюторов опенсорс фреймворка Yii Framework для PHP.
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях