Как находить кандидатов на Stack Overflow

Внутренний поиск, X-ray, сканирование базы пользователей через SQL-запросы и прочие лайфхаки для рекрутинга на Stack Overflow

Мы поговорили про сорсинг на Stack Overflow с Русланом Сарваровым из компании Evrone.

Руслан рассказал, чем Q&A-сервис для разработчиков полезен рекрутерам, как вести внутренний и внешний поиск кандидатов, а также объяснил, как составлять SQL-запросы к базе данных пользователей, если не знаешь SQL.

 

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

Что такое Stack Overflow и кого там искать

Stack Overflow — это Q&A-сервис для айтишников, где одни люди задают вопросы, а другие отвечают. По сути, это огромная база знаний, с помощью которой IT-специалисты решают свои боевые задачи. 

Аудитория сайта насчитывает свыше 100 миллионов человек со всего мира. Среди пользователей не только разработчики, а все, кто пишет код, в том числе ML-инженеры и автотестировщики.

Особенности сервиса

Легче оценить экспертность кандидата 

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

Эту задачу легче решить на Stack Overflow: здесь можно почитать ветки по вопросам, в обсуждениях которых участвует пользователь. Это позволяет более детально проанализировать его опыт, понять интересы и проблемы.

Сложно искать информацию о кандидате 

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

Еще недавно на Stack Overflow были инструменты для работодателей:

  • Jobs — можно было публиковать вакансии, разбирать отклики и писать кандидатам;
  • Salary Calculator — калькулятор зарплат и аналитика вилок по каждому стеку технологий;
  • Developer Story — резюме в профиле пользователя.

Ни один из этих продуктов больше не работает: создатели Stack Overflow решили, что не стоит превращать сервис в очередной джоб-сайт.  

Stack Overflow — не основной, а дополнительный канал поиска 

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

Типичный сценарий использования сервиса: нашли кандидата на LinkedIn или GitHub, а потом перешли в его аккаунт на Stack Overflow, чтобы оценить опыт и понять, за что стоит зацепиться на интервью. Или наоборот: встретили подходящего специалиста на Stack Overflow, а потом нашли его аккаунты в других соцсетях и платформах.

X-ray-поиск по Developer Story

Раньше внутри профиля пользователя был специальный раздел Developer Story. Он выглядел как полноценное резюме с контактными данными и информацией о предыдущих местах работы и образовании:

Сейчас все эти страницы недоступны, но благодаря кэшу гугла их можно просматривать. Например, найдем резюме golang-разработчиков, которые в своих навыках указали Kubernetes. Запрос будет таким:

site:stackoverflow.com/cv (“golang * “|“go * “) “kubernetes“

Раньше Developer Story (резюме) хранились по адресу stackoverflow.com/cv. А с помощью символа * мы сообщаем гуглу о том, что после ключевого слова может идти какой угодно текст. 

В результате мы получаем поисковую выдачу. Но при попытке перейти по любой ссылке система сообщает, что Page not found. К счастью, все удаленные страницы еще хранятся в памяти гугла: чтобы открыть страницу, нажмите на значок с треугольником и кликните по ссылке «Сохраненная копия»:

 
 

В основном таким Х-ray-запросом я находил резюме разработчиков уровня «сениор» и выше — с опытом от 3 до 5 лет в определенном стеке. Реже встречаются джуны и мидлы. 

Чтобы сохранить поисковую выдачу, советую использовать расширение Instant Data Scrapper. Оно сформирует таблицу, где будут ссылки на кэшированные страницы:

 

X-ray-поиск по профилям пользователей

Профили всех пользователей хранятся по адресу stackoverflow.com/users. Причем помимо глобального Stack Overflow есть русскоязычный сегмент — он находится на поддомене ru.stackoverflow.com. 

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

site:ru.stackoverflow.com/users

site:stackoverflow.com/users Russia

Поиск по поддомену ru позволяет сузить выдачу. Например, если написать site:ru.stackoverflow.com/users ios swift, то гугл покажет около 200 профилей, а по запросу site:stackoverflow.com/users ios swift Russia — более 500.

Далеко не во всех профилях есть контакты. Но можно поискать среди пользователей, которые указали свой LinkedIn: cсылка будет в блоке About или в информации под фото. Составляем запрос: 

site:stackoverflow.com/users ios|swift “linkedin.com/in/ *“ Russia 

Stack Overflow — это не джоб-сайт, поэтому большинство пользователей не ищут работу. Но те, кто открыт к предложениям, иногда используют фразу looking for — за это можно зацепиться в запросе:

site:stackoverflow.com/users “Data Science“ “looking for“

Поиск через Stack Exchange Data Explorer

Stack Exchange Data Explorer — это сервис для поиска по базе пользователей Stack Overflow с помощью SQL-запросов. Если вы не знаете язык SQL, не беда, есть инструменты, которые помогут сформировать нужный запрос.

Генератор SQL-запросов

Этот сервис создает запрос под ваши требования. Можно задать местоположение и скиллы, выбрать обладателей конкретных бейджей от Stack Overflow:

 

В правой колонке автоматически формируется SQL-запрос. При нажатии на голубую кнопку текст копируется в буфер, а вас перекидывает на Stack Exchange Data Explorer, где можно отправить запрос.

Готовые скрипты

Скорее всего, нужный вам запрос уже кем-то написан — осталось только найти и подправить его под свои задачи. 

Например, я нашел интересный скрипт, который необходимо настроить: указать локацию поиска в User.Location и скиллы (язык программирования или фреймворки) в Tags.TagName. Скрипт формирует таблицу, где по каждому пользователю есть информация:

  1. Ссылка на профиль в Stack Overflow.
  2. Репутация — формируется за счет ответов на вопросы и является частью системы геймификации Stack Overflow.
  3. Ссылка на веб-сайт, который указан в профиле.
  4. Предполагаемые ссылки на GitHub, LinkedIn и Telegram — формируются путем подстановки никнейма пользователя на Stack Overflow. Это сработает, только если человек использует один и тот же никнейм в разных соцсетях.

Есть готовый запрос для поиска по стеку и локации — надо только заполнить поля TagName и LocationName, а потом нажать кнопку Run Query. Например, если вбить Rust и Moscow, то получим выдачу из 50 профилей. 

Внутренний поиск

Поиск по темам

Внутренний поиск Stack Overflow ориентирован не на людей и их навыки, а на темы и сообщения. Допустим, вам требуется информация по какой-то проблеме — делаете запрос и смотрите решения. 

А вот получить выборку из всех java-разработчиков из Москвы не получится: этих фильтров просто нет во внутреннем поиске. С такими запросами лучше сразу идти на GitHub, LinkedIn или классические джоб-борды.

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

  1. Рекрутер знает о проблеме, которую решает команда разработки.
  2. Он вбивает запрос по этой проблеме в поисковую строку на Stack Overflow.
  3. Затем читает обсуждения и пытается связаться с людьми, которые его заинтересовали.

Однажды таким способом я искал Reverse Engineer — это редкий специалист, который занимается информационной безопасностью и исследованиями. Я нашел кандидата и довел его до оффера, который тот, увы, так и не принял.

Для понимания работы операторов поиска по темам нужно изучить официальную документацию Stack Overflow.

Поиск синонимов

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

Допустим, вы впервые ищете ML-инженера и не знаете, какие ключевые слова использовать. Можно отправиться в гугл: разбираться в статьях, где обычно много воды, вычленять ключевики, пытаться докопаться до сути. Но есть более простой и быстрый способ — перейти в раздел «Метки» на Stack Overflow, найти нужную технологию, посмотреть описание и связанные с ней ключевые слова:

 

Для чего подходит Stack Overflow

Если нужен редкий специалист

Если ищете специалиста с редкой экспертизой или сочетанием скиллов, то Stack Overflow — хороший выбор. За классическими джавистами, питонистами, php-разработчиками и гошниками можно отправляться в другие источники, более удобные для рекрутинга. 

Если нужна «звезда»

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

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

Если надо изучить стек технологий

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

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

 
 

Главное про сорсинг на Stack Overflow

  1. На Stack Overflow можно найти любых специалистов, которые пишут код. 
  2. При этом сервис не очень удобен для рекрутеров: нет возможности писать личные сообщения, контакты часто отсутствуют, сложно понять, ищет ли кандидат работу. 
  3. Stack Overflow удалил страницы с резюме (Developer Story) из профилей пользователей, но они остались в памяти гугла и все еще доступны для X-ray-поиска.
  4. Профили хранятся по адресу stackoverflow.com/users. Чтобы в выборке были только русскоязычные пользователи, ищите по русскоязычному сегменту (ru.stackoverflow.com/users) или используйте ключевое слово Russia.
  5. Применяйте Stack Exchange Data Explorer, чтобы искать по всей базе пользователей с помощью SQL-запросов. Если не знаете SQL, то воспользуйтесь готовыми скриптами или генератором запросов.
  6. Внутренний поиск Stack Overflow довольно бесполезен, потому что ориентирован на темы и вопросы, а не на людей и их скиллы. Однако его можно использовать, чтобы найти экспертов для решения какой-то специфической проблемы.
  7. Поиск по меткам — спасение для рекрутера, который хочет подобрать синонимы, но не готов копаться в гугле, вычленяя ключевые слова и разбираясь с новым для себя стеком.
  8. Если вам нужна «звезда», ее можно встретить среди пользователей с высокой репутацией.