- Что такое GitHub и как он помогает
- Как оформить основную информацию о специалисте
- Как вести активность в публичных проектах
- Как оформить репозиторий
- Где новичкам взять проекты
- Вывод
Многие начинающие специалисты не могут найти работу. Часто это связано с тем, что у них нет опыта или его нечем подкрепить. Если у опытного программиста спросят, чем он занимался на предыдущей работе, то он сможет об этом рассказать. Но тем, кто только начинает путь в IT, показать будет нечего.
В последнем случае опыт нужно нарабатывать. Это можно сделать уже во время обучения, а также принимать участие в Open Source. А продемонстрировать практику поможет GitHub.
В этом уроке разберемся, зачем разработчику вести GitHub, как оформлять профиль и вести активность. Еще узнаем, чем заполнять репозиторий, если нет опыта и собственных проектов.
Что такое GitHub и как он помогает
GitHub.com — это веб-сервис, где можно хранить Git-репозитории. Еще там размещают код большинства Open Source проектов. В них может поучаствовать любой желающий разработчик.
GitHub — это еще и социальная сеть для программистов. Здесь у каждого пользователя есть публичный профиль, который помогает в поиске работы.
Чтобы показать свой опыт потенциальному работодателю, нужно оставить в резюме ссылку на профиль. Когда рекрутер или другой специалист перейдут по ней, то увидят информацию о вас.
Код — лучшее доказательство вашей подготовки. В современном мире доходит до того, что некоторые работодатели ищут сотрудников через анализ кода на гитхабе.
В профиле важны следующие составляющие:
- Основная информация о специалисте
- Активность в публичных проектах
- Репозитории
Разберем каждую из них подробнее. Так вы поймете, чем заполнять профиль, и что привлекает работодателей.
Как оформить основную информацию о специалисте
Основная информация профиля — это первое, что видят рекрутеры. Поэтому ее важно оформить так, чтобы она не выглядела пустой. Вот что должно быть в хорошем профиле:
- Личная фотография. Профиль в GitHub — это не документ, здесь не обязательно ставить серьезную фотографию как на паспорт. Загрузите такое фото, которое будет располагать к себе
- Имя и фамилия. Если вы планируете работать в команде и официально трудоустраиваться, то напишите настоящие имя и фамилию. Так рекрутеры будут знать, что это действительно ваш профиль
- Репозитории. Они нужны, чтобы продемонстрировать опыт работы. Это одна из самых важных составляющих профиля. О репозиториях подробнее поговорим немного позже
Еще в профиле можно указать компанию, в которой работаете, ваше месторасположение, ссылку на личный сайт и на аккаунт в Twitter. Также можете написать краткую биографию.
Если хотите рассказать о себе больше, то это можно сделать в специальном репозитории, в котором размещается текстовый файл README.md.
Как оформлять README
README.md оформляется с помощью языка разметки Markdown и отображается на странице профиля.
Репозиторий, в котором размещается текстовый файл, должен называться так же, как и ник на GitHub: https://github.com/<username>/<username>
. Например, если ваш ник Alexxx, то репозиторий должен называться https://github.com/Alexxx/Alexxx
.
В этом файле может быть любая информация, которая будет полезна другим. Это можно сравнить с резюме, в котором стоит указать следующую информацию:
- Образование. Укажите наличие высшего образования, даже неоконченного
- Дополнительное образование. Укажите курсы, участие в хакатонах, воркшопах и других похожих мероприятиях. Можете рассказать о книгах, которые читали. На Хекслете составлен список рекомендованных книг, важных для любых разработчиков
- Опыт работы. Указывайте любой опыт, который хотя бы косвенно связан с разработкой. Опыт стоит указывать через достижения — чего удалось добиться на предыдущих проектах. Например, вы автоматизировали какие-то задачи на прошлом рабочем месте, или даже создали сайт для компании
- О себе. Расскажите немного о себе, чтобы найти точки соприкосновения с работодателем. Сюда можно добавить информацию, которая не вошла ни в один из блоков, но вам важно об этом сказать. Например, можно рассказать о том, какие новые языки программирования вы изучаете, за какими ресурсами следите, какая методика построения рабочих процессов вам ближе
Ключевые навыки. Не указывайте слова, про которые вы слышали и примерно представляете, но никогда не работали с ними. Если вы пробовали разные языки, то так и напишите «написал пару скриптов на python». Четко разделяйте хорошо знакомые вам вещи, и те, с которыми вы знакомы только поверхностно. Разделяйте навыки на фундаментальные и прикладные
К фундаментальным относятся:
- Знание операционных систем, владение Linux
- Знание сетей, tcp/ip, http
- Алгоритмы и структуры данных
- Математическая подготовка
- Базы данных. SQL
К прикладным:
- Владение автоматическим тестированием. Если у вас есть этот пункт, то вы уже лучше, чем 99% новичков и многих работающих программистов
- Языки и уровень их владения
- Фреймворки. Особенно актуально для веб-разработки
- Ключевые библиотеки. Этот пункт довольно опасен. Новички пытаются указать все, что они видели в глаза. Но так делать не надо, это подчеркивает ваш уровень. Указывайте только то, что может быть важно работодателям. Например, react или jquery
В среде разработчиков популярны сервисы вопросов-ответов такие, как Stackoverflow или Хабр Q&A. Даже если вы только начинаете свой путь, всегда есть люди, которые знают меньше вас. Зарегистрируйтесь на этих сервисах и начните отслеживать вопросы от новичков. Даже десяток полезных ответов даст вам много плюсов в карму. Работодатели ценят такую активность.
О чем не стоит писать:
- Не указывайте форматы данных, например, json или xml. Форматы никак не характеризуют вас, но создают ненужный шум
- Не добавляйте похожие вещи, например, css2 и css3. Если вы знаете css, то укажите что-то одно
- Не указывайте базовые навыки по работе с компьютером, например, опыт работы с офисными документами. Профессиональное владение компьютером и так подразумевается
Кроме перечисленных блоков, укажите в этом файле ссылки на другие социальные сети и статус занятости. Так работодатель сможет лучше изучить вас и поймет, свободны ли вы сейчас как специалист.
Профиль желательно оформлять на английском языке. Его можно назвать стандартом общения в IT, даже если вы не планируете выходить на международный рынок. Если знаете язык недостаточно хорошо, попросите знакомых перевести текст.
Многие рекрутеры и работодатели только по основной информации о кандидате принимают решение, брать ли его на работу. Поэтому этой составляющей профиля не стоит пренебрегать.
Еще часто обращают внимание на активность программиста. Этот показатель отражает, насколько человек вовлечен в работу, сколько он уделяет этому времени, какие направления ему интересны, где он силен и пробует себя.
Как вести активность в публичных проектах
Любая публичная активность на GitHub отмечается в профиле. Например, коммиты в свои или чужие репозитории, пулл-реквесты. Публичная активность отображается всем, поэтому рекрутеры, работодатели и другие разработчики видят, где вы принимали участие и что делали.
Часто Open Source проектами оказываются те, которыми мы пользуемся. Например, у Хекслета есть несколько Open Source проектов, в которых студенты принимают активное участие. Большинство из них — проекты, которые работают в продакшене. Вокруг них собираются пользователи и люди, которые их разрабатывают. Участвуя в таких проектах, можно получить реальный продакшн-опыт.
Помимо проектов Хекслета есть и другие. Например, можно принять участие в разработке фреймворка или библиотеки. Такую активность обязательно оценят, и опытные разработчики это подтверждают. Подробнее работу с Open Source проектами разберем в следующем уроке.
Публичная активность — это отличный способ заявить о себе. В первую очередь рекрутеры обращают внимание на те проекты, которые вы разрабатываете сами. Они отображаются в репозитории.
Как оформить репозиторий
Репозиторий содержит все файлы проекта и историю их изменений. Он отражает опыт разработчика. Но его нужно хорошо оформить.
Рекомендуемые пункты по оформлению репозитория:
- есть краткое описание проекта
- есть README проекта
- код проекта соответствует общепринятым стандартам, используется GitHub Actions и написаны тесты
- проект работает и выполняет свою задачу
- Git используется по назначению
Разберем эти пункты подробнее.
Описание проекта
Краткое описание проекта отображается на главной странице, если репозиторий прикреплен в профиле. Так специалист, который изучает ваши работы, сможет выбрать нужный ему проект и не заходить в каждый.
README проекта
GitHub по умолчанию отображает файл README.md
на странице репозитория. В нем можно указать следующую информацию о проекте:
- Название проекта и его описание
- Команды установки, локального запуска, запуска тестов и линтеров
- Примеры использования — например, ссылка на страницу с веб-демонстрацией, примеры использования в коде или скриншоты
- Информация о том, можно ли поучаствовать в этом проекте, как связаться, ответы на частые вопросы
README.md
— это краткая документация. Это первое, что видит человек, который открывает репозиторий. Поэтому здесь важно дать достаточно информации о проекте и рассказать, что он из себя представляет.
Соблюдение стандартов кода и GitHub Actions
Если репозиторий содержит код, то его нужно оформить по современным общепринятым стандартам, он должен соответствовать правилам линтера. Желательно, чтобы в проекте использовалась система сборки Continious Integration, например, от самого GitHub — GitHub Actions. Такая система позволяет узнавать о том, собирается ли проект, соблюдаются ли правила кодирования, проходят ли тесты. Знания Continious Integration приветствуются во многих компаниях.
Использование Git
Еще специалисты обращают внимание на то, как пишут коммиты. Так оценивают уровень владения Git. Например, некоторые разработчики не используют Git и загружают свои проекты через форму. Это может оказать негативное впечатление. Рекомендуем пройти курс «Введение в Git» и использовать его хотя бы на базовом уровне.
Если оформить репозиторий по этим правилам, то у рекрутеров вряд ли останутся вопросы по вашим навыкам. Однако программисты без опыта могут столкнуться с проблемой — им нечего показывать. Но это легко исправить. Рассказываем, чем новичкам наполнять репозитории.
Где новичкам взять проекты
Любой программист может разработать свой проект. Их можно придумывать или брать за идею сторонние. Главная цель проектов новичков — показать потенциальным работодателям, что вы умеете разрабатывать.
Например, если вы студент Хекслета, то можете выполнять наши проекты. Каждый учебный проект — это самостоятельное приложение, которое вы разрабатываете. Помимо учебных проектов можно выполнять тестовые задания из различных компаний.
Вот пара полезных ссылок:
- В книгах по программированию часто содержатся задания в конце глав. Создайте под книгу отдельный репозиторий и выкладывайте там код. Для СИКП у нас есть целая инструкция
- На Хекслете собрана большая подборка тестовых заданий на разные позиции от множества компаний. Найдите то, что вам по душе и реализуйте
Также можно участвовать в Open Source проектах, работу с которыми мы подробнее разберем в следующем уроке.
Когда у вас появятся более сложные проекты на GitHub, вы можете ими заменить в профиле те, которые не отражают ваш релевантный опыт или более простые.
Можно принимать участие не только в чужих проектах, но и в своих. Например, пет-проект или личная библиотека могут найти отклик у коммьюнити программистов и стать популярными.
Еще можно заводить репозиторий с мелкими алгоритмическими задачами или упражнениями из книг.
Репозитории — способ показать ваш опыт и навыки. Так вы можете доказать, что не только принимаете активное участие в публичных проектах, но и создаете свои.
Вывод
Профиль в GitHub — это обязательный атрибут современного разработчика. Благодаря GitHub можно найти работу, продемонстрировать свои навыки и поучаствовать в интересных проектах на новых технологиях.
В профиле должна быть релевантная и полезная информация: личные данные, активность в публичных проектах и свои проекты. Если на профиль зашел рекрутер, он сможет оценить ваш опыт и профессионализм и написать.
Не забывайте, что репозитории нужно оформлять качественно — с описанием того, что за проекты и как их запустить. Это повышает привлекательность и интерес к проекту со стороны.
Когда вы наберетесь опыта, GitHub станет еще полезнее. Например, вы сможете перейти на пассивный поиск работы. Когда будут спрашивать про ваш опыт, достаточно дать ссылку на профиль. В нем будет вся необходимая информация об используемых технологиях и примеры проектов.
Еще благодаря Open Source опытные программисты работают с технологиями, которые не используются в рабочих проектах. Так они повышают свои навыки. Также они сами создают свои проекты, которые потом становятся популярными.
Также рекомендуем воспользоваться бесплатным помощником для создания красивых GitHub-профилей ProfileMe. В нем можно выбрать один из более 60 языков программирования и фреймворков. Еще с его помощью можно дать ссылки на профили в социальных сетях и делиться статистикой.
Дополнительные материалы
- Как разработчику улучшить свое тестовое задание — рекомендации по оформлению репозитория
- Примеры оформления профилей на Github
- Слаконар: ревью профилей в Github
- Интервью с техническим директором Авито (вторая часть про найм)
- Публичное собеседование
- ProfileMe: помощник для создания GitHub-профилей
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар «Как самостоятельно учиться»
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.