Портфолио на GitHub для собеседования: как оформить профиль джуну
Ссылку на GitHub в резюме открывают далеко не всегда. Открывают, когда резюме зацепило, но чего-то не хватает: мало опыта, непонятный стек, переход из другой сферы. В такие моменты профиль решает, позовут вас на разговор или нет.
Проблема в том, что у большинства он выглядит как свалка: сорок форков, три недоделанных туториала и репозиторий с названием test.
Разберём, что с этим делать.
Что вообще смотрят
Тридцать секунд, три вещи.
Закреплённые репозитории сверху. Есть ли там что-то законченное и понятное.
README первого же проекта. Понятно ли за минуту, что это и зачем.
Общая живость: были ли коммиты в последние месяцы, или профиль заброшен два года назад.
Всё остальное, включая зелёные квадратики активности, смотрят редко и особого веса не имеют. Ежедневные коммиты ради картинки никого не впечатляют: и так понятно, что человек с работой и семьёй не пушит по выходным.
Закреплённые репозитории: главный экран
GitHub позволяет закрепить до шести проектов. Это ваша витрина, и большинство её не настраивает.
Что закреплять: два-три законченных проекта, разных по типу. Например сервис с API, скрипт автоматизации и что-нибудь с обработкой данных. Разнообразие показывает широту лучше, чем три однотипных проекта.
Чего не закреплять: форки чужих репозиториев, учебные задания с курса в исходном виде, проекты без README.
Если законченных проектов меньше двух, лучше закрепить один хороший, чем добивать количество слабыми.
README, который читают
Половина проектов в резюме открывается и закрывается, потому что в README пусто или там инструкция по установке зависимостей и всё.
Рабочая структура короткая:
Что это и какую задачу решает. Два-три предложения человеческим языком.
Как запустить. Команды, которые реально работают, желательно через докер, чтобы не разбираться с окружением.
Что внутри: коротко про архитектуру и стек.
Что было сложным и как решили. Самая недооценённая часть, и именно она делает проект интересным. «Источник отдавал данные пачками по 100 записей с лимитом запросов, пришлось делать очередь с ретраями» рассказывает о вас больше, чем список технологий.
Скриншот или пример вывода, если проект что-то показывает.
Пять минут работы, а конверсия просмотра в «давайте поговорим» вырастает заметно.
Код: на что обращают внимание
Открывают обычно один-два файла наугад, поэтому важна не идеальность, а первое впечатление.
Структура папок, из которой понятно, что где лежит. Осмысленные имена. Отсутствие закомментированных кусков и файлов вроде main_old_2.py. Наличие хотя бы нескольких тестов. Конфиги вынесены, секреты не закоммичены.
Последний пункт отдельно: ключ от базы в истории коммитов это не мелочь, а сигнал, который читается однозначно.
История коммитов
Никто не листает её целиком, но два признака заметны сразу.
Один гигантский коммит «initial commit» со всем проектом. Выглядит так, будто код принесли откуда-то ещё.
Осмысленные сообщения. Не «фикс», «ещё фикс», «фикс фикса», а понятные строки. На собеседовании иногда прямо спрашивают, как вы формулируете коммиты и работаете с ветками.
Если весь код остался у работодателя
Обычная ситуация: пять лет коммерческого опыта и пустой профиль, потому что всё в закрытых репозиториях компании.
Это нормально и никого не смущает, пока в резюме нормально описан опыт. Но пара публичных вещей всё равно помогает, особенно при смене стека или направления.
Что можно выложить, ничего не нарушая: небольшую утилиту, которая решает вашу личную задачу, разбор какого-нибудь механизма с примерами кода, скрипты для домашней автоматизации. Ничего, связанного с работодателем, конечно.
Альтернатива для тех, кто не хочет заводить пет-проекты: вклад в открытые библиотеки, которыми пользуетесь. Даже исправление документации и мелкие багфиксы выглядят живее, чем пустой профиль.
Чего делать не надо
Накручивать активность. Пустые коммиты ради зелёной сетки видно, и это работает против вас.
Выкладывать курсовые в исходном виде. Проект с названием «lesson_5_homework» не читают.
Держать двадцать форков на главной. Форк это не ваша работа, и это понятно с первого взгляда.
Заводить профиль за день до отклика. Три репозитория, созданные вчера, выглядят подозрительно. Лучше честно: один проект, но нормальный.
Профиль это дополнение, а не замена
Хороший GitHub повышает шансы дойти до интервью, особенно если опыта мало. Но дальше начинается разговор, где вас спросят, почему выбрали такую схему, что будет при росте нагрузки и как вы обрабатывали ошибки. Отвечать придётся голосом и без подсказок.
К этой части готовятся отдельно. В Сеньорчике собран банк вопросов с реальных технических собеседований по одиннадцати ролям: с вариантами ответов, разбором каждого и движком, который возвращает темы, где вы ошибаетесь. Десять минут в день в Telegram, начать можно бесплатно.