Что должно быть в портфолио джуна-разработчика: мнение руководителей

3102fbdcd78734feb4db7b1389b77149.png

Исследователи Яндекс Практикума узнали, на что обращают внимание тимлиды команд разработки, когда ищут сотрудников на джун-позиции. А еще выяснили, какие типы проектов в портфолио вызывают больше интереса и важно ли наличие портфолио в принципе. 

Эти данные проанализировали эксперты Мастерской программирования Практикума и рассказали, почему их проекты помогают студентам получать актуальный опыт, отвечающий запросам рынка.

Цели и методы исследования

Главной целью исследования было выделить из существующего пула практик Мастерской направления программирования наиболее приоритетные для работодателей. Переводя с языка продуктовой задачи на человеческий: мы хотели разобраться, каким должно быть портфолио начинающего программиста, чтобы заинтересовать работодателя.

Это проект, который позволяет студентам и выпускникам курсов «Python-разработчик», «Разработчик С++» и других получить дополнительный опыт, расширить портфолио и попробовать силы в реальных проектах.

Команде Мастерской важно быть в курсе не только отраслевых трендов, но и ситуации на рынке труда. Проекты подбирают с учётом запросов работодателей, чтобы повысить шансы выпускников на успешное преодоление всех этапов собеседования и получение оффера.

После обучения важно не терять время. Ищите любую возможность применить теорию на практике, даже если вы пока в поиске первой работы в IT. Продолжайте развиваться: создавайте пет-проекты, берите фриланс-задачи, делайте как можно больше тестовых, заходите контрибьюторами в open-sourсe проекты. Только практика даёт опыт, по которому работодатель оценивает вас как специалиста и определяет, насколько вы заинтересованы в работе в IT.

Диана Наумова, руководитель Мастерской программирования Яндекс Практикума

Итоговую цель дополнили несколькими гипотезами, которые планировали проверить в ходе исследования:

  • Для работодателей разные виды проектов имеют разную ценность и приоритетность.

  • Общее количество проектов в портфолио играет роль при просмотре резюме.

  • Работодатель обращает внимание на сложность и длительность проектов, в которых участвовал соискатель.

Сразу скажем, что подтвердились две гипотезы из трёх.

Для общения с респондентами выбрали формат интервью. Поучаствовать в нём согласились восемь нанимающих менеджеров из разных областей: финансы, автомобилестроение, ритейл, айти, реклама. У каждого был опыт поиска и найма джуна-разработчика:

  • Фронтенд (JS, TS, React) — 3 респондента.

  • Бэкенд (Java, Python, C++) — 5 респондентов.

Оформление проекта, стек и опыт: «фильтры» нанимающих менеджеров

Ключевым предметом исследования были типы проектов в портфолио, но, чтобы получить наиболее полную картину, исследователи также разобрались в организационных моментах найма. Вот что удалось узнать:

  • «Портрет» потенциального сотрудника часто прописывают тимлиды. Большинство респондентов участвуют в формировании «портрета» подходящего специалиста: указывают технические навыки, опыт работы и т.д. Руководитель также обозначает зарплатную вилку, ориентируясь на бюджет команды. И он же составляет тестовое задание, если это необходимо.

  • Первичный скрининг резюме всегда обязанность HR-менеджера. Допускается, что HR ориентируется на собственное представление об удачном резюме или дополнительно фильтрует отклики, но перед приглашением на интервью кандидатуру всё равно согласовывают с тимлидом. Подготовку вопросов для технического собеседования руководители тоже, как правило, берут на себя. Проводить интервью может как тимлид, так и HR-менеджер, но присутствие руководителя обязательно — ему важно составить свое мнение о кандидате.

  • Стек проекта в портфолио должен совпадать со стеком компании. Идеально, если совпадение вплоть до библиотек. А вот сфера проектов руководителей не играет решающей роли. Например, для тимлида финтех-компании не обязательно видеть в порфтолио кандидата проект из аналогичной области.

  • Опыт работы в кросс-функциональной команде сильно повышает шансы на успех. Для джунов это необязательное требование, скорее хорошее дополнение. Это ключевое преимущество выпускников онлайн-курсов — они чаще успевают попробовать себя в групповых проектах, хакатонах или других командных форматах, чем выпускники вузов или те, кто учился самостоятельно.

  • Если готовите пет-проект, тематика должна быть цепляющей. Некоторые темы используют настолько часто, что они уже не вызывают интереса и скорее станут поводом закрыть портфолио. Для бэкенда это, например, сайты с простой CMS или аналоги агрегаторов объявлений и социальных сетей. Для фронтенда — to-do листы, приложение прогноза погоды или аналог Яндекс Музыки.

  • Оформление проекта не менее важно, чем качество выполнения. Будет здорово, если кроме кода вы добавите на GitHub подробное описание проекта и процесса работы над ним с аргументацией своих решений (например, приложив Read.me файл внутри GitHub).

Всё, что мы перечислили выше, важно для большинства опрошенных. Как видите, по многим пунктам тимлиды сходятся во мнении. Но есть несколько деталей, которые вызывают разногласия:

  • Формат обучения. В основном для работодателей не имеет значения, где учился кандидат, если уровень знаний и навыков соответствует вакансии. Но в единичных случаях на джун-позиции нанимают только выпускников вузов или с осторожностью относятся к выпускникам онлайн-курсов. Как правило, это связано с субъективным решением HR-менеджера, тимлида или компании, в качестве знаний при этом сомнений нет.

  • Срок нахождения в проекте. Здесь всё очень индивидуально: кто-то считает, что невозможно поддерживать качество кода, «прыгая» из проекта в проект каждый месяц. Кто-то, наоборот, с подозрением относится к длительной работе над одним проектом — например, если начинающий разработчик «допиливает» пет-проект на протяжении года.

Эти данные не руководство к действию, но респонденты озвучивают общие тренды — стоит принимать их во внимание, если ищете работу на начальной позиции.

Что стоит «сложить» в портфолио

По опыту наших студентов и выпускников, собрать портфолио — самое сложное в подготовке к поиску работы. Выбрать тему проекта, найти время на выполнение, правильно его «упаковать» — на всё требуется много ресурсов. Кроме того, у джунов, как правило, ограниченное количество кейсов. А проекты должны выгодно смотреться в портфолио и отражать реальные знания и область интересов.

Часть респондентов не считает портфолио или большое число кейсов в нём обязательным требованием для начинающего разработчика — кандидаты могут продемонстрировать скилы с помощью лайвкодинга. Но проверять лояльность работодателя не советуем: портфолио не только помогает выгодно себя презентовать — работа над ним повышает вашу уверенность в себе и своих знаниях.

Мы обсудили шесть основных категорий проектов, которые обычно кладут в портфолио, но не встретили четкой приоритизации. Например, пет-проект у одних респондентов вызывает больший интерес, чем тестовое задание, другие предпочитают опыт в коммерческом проекте командной работе.

Однако есть три вида, которые точно приоритетны: это коммерческие проекты и проекты из хакатонов и акселераторов. Пересказываем подробно плюсы и минусы каждой категории:

  1. Коммерческий проект. Большинство опрошенных приоритетно проведут интервью с кандидатом, у которого есть опыт работы над задачей для действующего бизнеса. Сразу понятно, что такой человек знаком с внутренними процессами: знает принципы организации работы в команде, как завести тикет, кто такой проджект-менеджер и стейкхолдер и т.д.

    Ещё одно преимущество коммерческого кейса — он направлен на достижение целей бизнеса. Если ваш проект оказался прибыльным, положительно повлиял на цели бизнеса или вы нашли удачное решение — обязательно нужно подчеркнуть это в резюме. Но в этом случае нанимающие менеджеры более внимательны к сфере проекта. Например, если это коммерческая реклама, ценность опыта снижается — в таких проектах не требуется высокое качество кода.

  2. Хакатон. Это командное соревнование, участники которого в очень ограниченные сроки (несколько дней) разрабатывают решение бизнес-задачи. Команды могут быть как кросс-функциональными — когда над проектом работают программисты, аналитики, дизайнеры, менеджеры, — так и монофункциональными, когда участвуют только специалисты одного направления.

    Участие в хакатоне показывает, что кандидат хорошо действует в стрессовых условиях и быстро адаптируется к новым задачам и изменениям. Особенно ценится опыт открытого хакатона с неограниченным количеством участников и, конечно, призовые места.

    В таких проектах сложно создать качественный код — слишком короткие сроки и много задач. А еще происходит «перекос» приоритетов в сторону соблюдения дедлайнов. Участники интервью отмечают, это распространенное явление среди джунов: они стараются успеть в срок любой ценой, даже если это негативно сказывается на качестве работы.

  3. Акселератор. Это организация, которая помогает кросс-функциональной команде реализовать продукт: развить идею, найти финансирование и выйти на рынок. Участие в подобных проектах привлекает внимание работодателей, потому что в них часто предлагаются нетривиальные решения — менеджеру будет интересно обсудить ваш подход к задаче.

    Сложность, по мнению опрошенных специалистов, в том, что в акселераторах редко работают джуны. В основном такие кейсы можно встретить в портфолио мидла или синьора. Психологически работа в формате акселератора даётся легче, ведь участники не несут ответственности за результат, — в этом смысле коммерческий проект обладает бо́льшим преимуществом. И опять же в работе с жёсткими сроками страдает оптимизация и качество кода.

  4. Пет-проект. Один из самых распространённых типов, который выбирают джун-разработчики для портфолио. Это личный или командный проект, автором которого является кандидат. В таком проекте нет ограничений по срокам, формату или технологиям.

    Ценность пет-проекта определяет тематика. Пет-проект — хорошая возможность проявить свой творческий потенциал. Скажем, разработка системы «умного дома» сильно повысит интерес работодателя. Ещё тимлиды обращают внимание на детали: насколько аккуратно и внимательно кандидат подходит к работе. Правда, по словам респондентов, интересные проекты попадаются очень редко. Кроме того, к пет-проектам относятся осторожно из-за «тепличных», максимально гибких и комфортных условий для исполнителя.

  5. Тестовое задание. В открытых репозиториях можно найти много вариантов тестовых заданий. Это хороший способ пополнить портфолио проектами с акцентом на демонстрации навыков. Но к таким кейсам есть недоверие — по словам нанимающих специалистов, встречаются ситуации, когда задание за оплату выполняет другой разработчик. Помимо этого, тестовые задания редко бывают интересными и оригинальными.

  6. Учебный проект. Показывают заинтересованность кандидата в развитии и росте, его готовность работать, что высоко ценится. Нюанс учебных проектов в том, что они одинаковые — такие проекты заметны сразу, лишь немногие дорабатывают такие кейсы, «допиливая» исходное задание и добавляя уникальности. Не все считают учебные проекты самостоятельной работой, поскольку студент получает фидбек и имеет возможность вносить правки в несколько итераций.

Для наглядности полученные данные собрали в таблицу:

Тип проекта

Плюсы

Минусы

Коммерческий проект (реализованная задача для действующего бизнеса)

• знание бизнес-процессов

• работа с фокусом на прибыль

• опыт разработки и внедрения новых решений

• опыт общения со стейкхолдерами

• важна сфера деятельности: например, в коммерческой рекламе часто плохой код — такой проект имеет небольшую ценность

Хакатон (командная работа над бизнес-задачей в условиях жестких сроков)

• навык работы в стрессовых условиях

• быстрая адаптация

• высокая коммуникабельность

• сложно написать хороший код в короткие сроки

• фокус на соблюдении дедлайнов больше, чем на качестве работы

Акселератор (разработка MVP IT-проекта в кросс-функциональной команде за ограниченное время)

• выше вероятность нетривиальных решений

• создание проекта с нуля

• высокая коммуникабельность

• навык презентации проекта

• MVP-проекты чаще создают middle и senior-специалисты, не джуны

• запуск новых проектов не всегда актуален для компании

• из-за коротких сроков и масштаба проекта может пострадать качество кода

• нет ответственности за результат, поэтому допускается «полёт фантазии»

Пет-проект (личный или командный проект, который создаётся по инициативе кандидата без ограничений по срокам и формату)

• навык создания проекта с нуля

• раскрывает творческий потенциал

• демонстрирует отношение человека к работе

• редко приносят проекты на интересные темы

• создаётся в «тепличных» условиях

Тестовое задание (из открытого репозитория)

• акцент на демонстрации навыков

• очень типовые

• сомнение в самостоятельности работы

Учебный проект (в рамках обучения на курсах или в вузе)

• показывает интерес и мотивацию (лучше тестового)

• сразу заметны и одинаковые у всех

• относительная самостоятельность: проект дорабатывается после фидбека

Пасхалка для дочитавших: есть один тип практики, не учтенный в исследовании, но ценный для тимлидов, — участие в open-source проектах. Например, если компания работает с библиотекой prebid.js и джун разберётся в ней за 1—2 часа — это большой плюс. Здорово, если кандидат знает, как работать с Grafana — программой для IT-мониторинга, тоже с открытым исходным кодом. Это примеры участников исследования, разбираться с редкими библиотеками не повсеместное требование —, но open-source хороший способ для начинающего разработчика заявить о себе. Можно почитать больше об этом виде проектов в отдельной статье.

Добавим, что качественно выполненный проект всегда хорошо дополнит портфолио, неважно, коммерческая это задача, итог хакатона или тестовое. И не бойтесь демонстрировать экстра-знания, даже если они не указаны в описании вакансии, но вы знаете, как их применить.

Как результаты исследования используют в Мастерской

Мнение нанимающих специалистов — одна из основ методического проектирования работы Мастерской. Мы всегда предлагаем студентам прокачивать навыки в самых востребованных форматах. Например, за 2023 год больше 550 выпускников выполнили проекты от реальных компаний, свыше 1100 человек участвовали в акселераторах и почти 300 — в хакатонах. Еще больше 2000 студентов и выпускников работали над своими проектами. 

Мы стараемся не просто брать популярные форматы, а улучшать их, прорабатывать слабые места и предлагать студентам более универсальную и ценную версию.

  • Компании, с которыми мы сотрудничаем по коммерческим проектам, всегда из приоритетных областей: IT или близкой к ней. Так мы решаем «боль» реальных заказов, которые не повышают квалификацию разработчика.

  • Формат хакатона тоже усовершенствован: он длится не несколько дней, а месяц. А ещё участникам доступно ревью от экспертов. Благодаря этому получается уделить достаточно внимания написанию кода и оформлению проекта.

  • Акселератор в Мастерской программирования — возможность для студентов поработать в режиме стартапа и получить опыт, максимально приближённый к коммерческой разработке. За 2 месяца кросс-функциональная команда при поддержке менторов создает MVP IT-проекта. 

Сейчас, освежив знания о рынке трудоустройства для джунов, мы планируем:

  • сделать акцент на проверках кода и повышении его качества;

  • актуализировать карту хардскилов, которые важно прокачать начинающим специалистам, и привлекать в программу больше проектов, направленных на их развитие.

Выводы, которые помогут на этапе поиска работы

Вернёмся к началу статьи и вспомним цели и гипотезы исследования. Вот что нам удалось узнать:

  • Какие проекты интересны тимлидам и как они приоритизируют разные типы проектов.

  • Для работодателей действительно разные виды проектов имеют разную ценность: на это нужно обратить особое внимание при подготовке портфолио.

  • Количество проектов не так важно: джун-специалист может принести два качественных, объемных пет-проекта, и это ценится больше, чем восемь посредственных тестовых заданий.

  • Сложность и длительность проектов в некоторых случаях играют роль — хорошо, если получится поработать как с короткими, так и с более масштабными задачами.

Интерпретируя результаты исследования, не стоит забывать две важные детали:

  • Рекомендации относятся к начинающим разработчикам.

  • Рекомендации носят общий характер, то есть не учитывают индивидуальных обстоятельств при поиске работы или собеседования в конкретную компанию.

Сформулируем несколько правил, которые точно повысят ваши шансы на успех:

  1. Узнавайте стек компании или команды перед откликом. Например, через техрадары или исследования. Знание стека поможет выбрать наиболее подходящие проекты для портфолио.

  2. Прокачивайте навык презентации своего опыта и проектов. Не надо стесняться — практически любой факт или кейс можно представить в выгодном свете. Если в портфолио коммерческий проект, сделайте акцент на знание процессов или бизнес-цели вашей работы. Если участвовали в акселераторе, подчеркните опыт работы в кросс-функциональной команде и больше расскажите о том, как принимали решения.

  3. Показывайте в проекте полный флоу работы. Фронтенд, бэкенд, авторизация и деавторизация — продемонстрируйте понимание полного цикла разработки. Внимательный и кропотливый подход сразу заметен и очень ценится.

Поддерживать актуальность знаний, постоянно расти и не бояться перемен — полезная привычка как для продукта, так и для отдельного человека. Даже если вы совсем недавно пришли в профессию, старайтесь быть в курсе — это признак хорошего специалиста в неменьшей степени, чем качественное портфолио.

© Habrahabr.ru