Рекрутинг на GitHub: как искать кандидатов в крупнейшей базе разработчиков

Исчерпывающее руководство по сорсингу на GitHub от экспертов из Evrone

GitHub — один из ключевых источников поиска талантов в компании Evrone, которая занимается продуктовой разработкой стартапов и помогает в цифровой трансформации бизнеса в России, США и Европе. Компания нанимает бэкендеров на Ruby, Python, Go и Elixir, фронтендеров, девопс-инженеров. 

Мы поговорили с экспертами из Evrone о специфике сорсинга на GitHub, разобрали наиболее удачные стратегии поиска, а также узнали, как оценить профиль кандидата и избежать ошибок.

О чем мы расскажем

👉 Что такое GitHub и зачем там сорсить

👉 На какие элементы профиля стоит обратить внимание

👉 Как устроен внутренний поиск на GitHub

👉 Как вести X-ray-поиск на GitHub

👉 Какие сервисы и расширения упрощают сорсинг

👉 Как узнать, ищет ли пользователь работу

👉 Как оценить кандидата по его профилю

👉 Какие ошибки совершают начинающие сорсеры, когда приходят на GitHub

 

Полина Велчева, Technical Sourcer, Evrone

Зачем сорсить на GitHub

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

Сейчас на платформе зарегистрировано более 73 миллионов человек. Здесь можно найти:

  • бэкенд-разработчиков,
  • фронтенд-разработчиков, 
  • DevOps-инженеров,
  • SRE-инженеров,
  • дата-сайентистов,
  • автотестеров,
  • мобильных разработчиков и многих других IT-специалистов.

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

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

Главное преимущество GitHub перед другими источниками — здесь хранятся репозитории разработчиков-кандидатов. В репозиториях лежит код: уже на этапе скрининга профиля можно оценить, как кандидат пишет, какие практики, технологии и библиотеки использует, над какими проектами работает. Зачастую это позволяет обойтись без тестового задания. 

Самые важные элементы профиля на GitHub для рекрутера

Как вести внутренний поиск по GitHub

Прежде чем заниматься сорсингом, стоит изучить документацию от самого GitHub, логические операторы, а также посмотреть чужие примеры поиска.

Самые популярные операторы:

  1. Language — позволяет искать по языку и технологическому стеку.
  2. Location — поиск по местоположению.
  3. Followers — поиск по количеству подписчиков. Этот фильтр позволяет выбрать или, наоборот, отфильтровать популярных пользователей.

Поиск по профилям

Допустим, нам требуется разработчик на Golang, но такой, чтобы стоил не очень дорого и к нему не стояла очередь из других рекрутеров. Попробуем поработать с гипотезами: суть в том, что в Go-разработку приходят из других языков, зачастую из PHP. 

Тогда можем поискать релевантного кандидата среди PHP-разработчиков, которые хоть как-то интересуются Golang. Для этого в поисковой строке внутри GitHub вводим запрос:

golang language:php followers:<2 location:russia

Или, например, нужно найти разработчиков на Ruby из России, у которых не менее 5 подписчиков: 

language:ruby followers:>5 location:russia

В результате получаем поисковую выдачу, которую можно сортировать по разным критериям. Например, по количеству подписчиков или репозиториев, дате создания аккаунта на GitHub.

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

  • фамилия и имя,
  • ссылка на профиль,
  • никнейм,
  • местоположение,
  • электронная почта.

Если вы знаете никнейм пользователя на GitHub, то можете найти его на других площадках. Для этого есть бесплатная программа Recruitment Tools и другие инструменты, о которых мы еще расскажем.

Поиск среди тех, кто поставил звезды вашим проектам

Можно поискать кандидатов среди тех, кому понравились ваши open-source-проекты на GitHub. 

Мы в Evrone не только пользуемся open-source-решениями, но и стараемся внести свой вклад. Например, выложили Go Clean Template — шаблон для организации кода на проектах по Golang. Этот шаблон собрал около 600 звезд:

Через тот же Data Scraper можно сделать выгрузку людей, которые поставили нам лайки, а потом предложить им работу. Причем эти кандидаты будут относительно теплыми, раз следят за компанией на GitHub.

Поиск по компаниям-донорам

Вы можете зайти на страницу любой компании и посмотреть пользователей, которые указали, что там работают. Полный список открывается, если нажать на ссылку View all в поле People:

 

Руслан Сарваров, Recruitment Lead, Evrone

Как вести X-ray-поиск на GitHub

Лично я предпочитаю X-Ray-поиск: это когда через поисковую систему — например, Google или Яндекс — мы сканируем GitHub. Внутренний поиск не такой гибкий, как внешний: нельзя искать по некоторым страницам, а иногда не хватает некоторых фильтров. 

Поиск по readme

В файлах readme.md пользователи пишут о себе и своих проектах. Например, этот файл может выглядеть так:

Иногда файл начинается с фразы «hi there», чем мы и воспользуемся при составлении запроса. Найдем файлы readme.md python-разработчиков из Санкт-Петербурга. Для этого заходим в Google и пишем:

site:github.com “hi there” “python” saint-petersburg

Поиск по резюме

Некоторые пользователи создают страницы с резюме прямо на GitHub — они тоже доступны для X-ray-поиска. Например, так можно найти разработчиков на Ruby или Ruby on Rails: 

site:github.com intitle:resume|резюме ruby or RoR

Поиск по github.io

GitHub.io — это отдельный сервис, с помощью которого разработчики публикуют личные страницы с резюме и контактными данными. Искать по этим страницам можно только через X-Ray.

Так мы найдем страницы PHP-разработчиков: 

site:github.io intitle:cv|resume|резюме PHP

Некоторые пользователи на личных страницах выкладывают pdf-файлы с резюме. Чтобы найти резюме джавистов, будем использовать символ *, который позволяет сканировать всем поддомены сервиса, и оператор filetype — он задает конкретный тип файлов. Пишем запрос: 

site:*.github.io filetype:pdf cv|resume|experience russia java

Или, допустим, нам нужны только страницы Go-разработчиков с адресами электронной почты:

site:github.io intitle:cv|resume|резюме golang “gmail.com” OR “mail.ru” OR “yandex.ru”

Благодаря поиску на github.io есть шанс получить доступ к более теплым кандидатам. Ведь если человек создал страницу о себе с контактами и резюме, он может быть открыт для предложений о работе. Но это не всегда так работает: бывает, разработчик давно трудоустроился и уже ничего не ищет, а его страница все еще висит в открытом доступе. 

Сервисы и расширения для сорсинга

Помимо Instant Data Scraper и Recruitment Tools, есть и другие инструменты, которые упрощают жизнь рекрутеру. 

Вот чем мы пользуемся:

  1. OctoHR. Расширение показывает, открыт ли пользователь для предложений от рекрутеров и с какими языками программирования он работает.  
  2. Amazing Hiring — позволяет найти дополнительные контакты кандидата.
  3. Git Awards — сайт для поиска самых популярных разработчиков на GitHub. Популярность определяется по рангу, который, в свою очередь, зависит от количества звезд и подписчиков. Можно посмотреть топ пользователей по определенному городу или языку программирования.
  4. Github email hunter — достает адреса электронной почты из профилей, но работает через раз.
  5. Github real names — позволяет узнать настоящее имя пользователя. 

Как узнать, ищет ли пользователь работу

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

Другой вариант — изучить репозитории пользователя. Если разработчик резко увеличил активность на GitHub, возможно, он «причесывает» свой профиль, потому что готовится к собеседованиям.

Обращайте внимание на слово test в названии репозитория или описаниях проектов. Например, вы открываете репозиторий и видите такой текст: 

Это тестовое задание для одной компании. Если пользователь недавно сделал и опубликовал тестовое задание, логично предположить, что сейчас он ищет работу.

Как оценить кандидата по его профилю на GitHub

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

Например, изучим список репозиториев случайного Go-разработчика:

Судя по профилю, этот пользователь впервые заинтересовался Golang в январе 2019 года. Именно тогда он форкнул (то есть скопировал себе) чужой репозиторий. Затем пошли свои проекты на Kotlin, PHP и Python, но все последние репозитории — на Go. Я бы рискнул предположить, что перед нами разработчик уровня не ниже мидл.

Однако отсутствие активности на GitHub не говорит о том, что кандидат слабый или с ним что-то не так. Я часто встречаю сильных разработчиков с пустыми профилями. Дело в том, что у некоторых людей нет времени на собственные проекты, а выкладывать реальные рабочие задачи они не могут из-за NDA. 

Типичные ошибки начинающих сорсеров

Делать ошибочные выводы по профилю

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

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

Поиск на GitHub довольно холодный. Поэтому важно строить максимально широкую воронку и не отсеивать кандидатов только на основании предположений. 

Идти с начала поисковой выдачи

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

Надеяться на теплый поиск

Если поиск на LinkedIn холодный, то на GitHub — ледяной: многие люди здесь и не думают о поиске работы. Даже если в профиле указаны контакты и стоит статус hireable, это еще ничего не значит.

Ориентироваться на один источник поиска

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

Самое важное про сорсинг на GitHub

  1. GitHub — крупная и бесплатная база потенциальных кандидатов, которая постоянно пополняется. Любому рекрутеру важно уметь пользоваться этим источником.
  2. На GitHub можно оценить код пользователя: понять, как он пишет, какими технологиями и библиотеками пользуется. Нередко это позволяет обойтись без тестового задания.
  3. Вы можете искать по профилям, компаниям-донорам и среди пользователей, которые поставили звезды вашим проектам. 
  4. Используйте Instant Data Scraper, чтобы выгрузить поисковую выборку в таблицу. А сервис Recruitment Tools поможет найти аккаунты пользователя в других соцсетях и платформах по никнейму. 
  5. Используйте X-ray, чтобы сканировать файлы readme.md и страницы пользователей в сервисе github.io.
  6. Есть косвенные признаки того, что пользователь ищет работу:
  • расширение OctoHR показывает статус Hireable;
  • активность пользователя резко возросла;
  • в репозиториях начали появляться выполненные тестовые задания;
  • пользователь разместил страницу с контактами на github.io.
  1. Изучайте список репозиториев кандидата: фактически это история его погружения в программирование.
  2. Не делайте преждевременных выводов только по профилю и репозиториям — можно ошибиться.
  3. Люди из самого начала поисковой выдачи уже избалованы вниманием рекрутеров. Поэтому лучше отрабатывать список с конца.
  4. Обойтись только GitHub не получится: комбинируйте источники поиска, чтобы собрать больше информации о кандидате.