О дефиците кадров в российском IT не говорит только ленивый. Некоторые пишут, что на рынке не хватает около 170 тысяч опытных специалистов, а другие и вовсе считают, что айтишников нужно ещё миллион.
Ситуация на рынке и правда сложная. Искать толковых специалистов уровня Middle и выше стало труднее. Но самим программистам от этого не легче. На одну хорошую вакансию дикая конкуренция: иногда больше 40 человек на место. Поэтому я решила поделиться опытом и рассказать, как проходит процесс подбора айтишников изнутри в моей компании — Ситидрайве, и как специалисту показать себя с наилучшей стороны на собеседовании.
Кого ищем в Ситидрайве
Несмотря на кризисную ситуацию на рынке, Ситидрайв продолжает расти, и за последний год к нам присоединилось более 70 новых сотрудников уровня Middle, Middle+ и Senior.
Сильнее всего вырос штат бекэнд-разработчиков на Golang, а также программистов для мобильных устройств на iOS и Android. Отдел аналитики не отстаёт — чаще всего мы искали людей на позиции Data Analyst и Аналитика.
В последнее время рынком «рулят» соискатели, а не работодатели. Я всё чаще рассказываю, почему специалисту стоит работать в нашей компании, расписываю плюсы и стараюсь чем-то зацепить грамотных профи, которые владеют нужным стеком технологий. Выбираем не только мы, но и нас.
Как показывает опыт, соискатели активнее всего реагируют на возможность развития из Middle в Senior с помощью внутренних и внешних программ обучения, масштабных задач, необходимости работать с интересной инфраструктурой и так далее. А спецы с опытом от 4 лет чаще смотрят на возможность ротации на проектах, программы защиты от выгорания, а также наличие удалённого или смешанного типа работы.
Мы не ставим задачу как можно быстрее закрыть вакансию, а выбираем человека, который будет полностью подходить нам, а мы — ему.
Что важно, сотрудники могут самовыражаться в нашей компании. У нас есть тимлид с зелёными волосами и разработчики с забитыми рукавами. Внешний вид никак не влияет на финальное решение.
Этапы подбора кандидатов: от открытой вакансии до найма
Расскажу поэтапно, как происходит подбор специалистов на открытые вакансии. И конечно, дам несколько советов соискателям.
Этап 1. Первый контакт. Сбор базы потенциальных сотрудников.
Мы стараемся использовать все инструменты для работы с потенциальными кандидатами, ведь на одну вакансию иногда приходится обработать до 50 специалистов. Но опыт показывает, что сайты поиска работы дают результат в разы хуже, чем соцсети. Поэтому основные наши источники — LinkedIn, Хабр, Facebook и телеграм-каналы.
Мы всегда вежливо приветствуем соискателя и в нескольких абзацах описываем, как нашли человека, на какую позицию хотим его схантить и чем мы лучше других на рынке, направляем ссылку на наш карьерный лендинг, где можно узнать больше о компании и ощутить атмосферу работы в Ситидрайве. На ответное сообщение рекрутер обращает пристальное внимание, ведь оно может рассказать о софт-скиллах спеца больше, чем психологические тесты.
Совет 1. Вежливость — must have. Хоть многие HR пытаются поддерживать френдли-атмосферу и сразу перейти на «ты», не стоит общаться слишком фамильярно.
А если первое сообщение пишете сами, то постарайтесь вместить в него всю необходимую информацию: кто вы, на какую должность претендуете, какой опыт, каким стеком технологий владеете.
Нам слишком часто пишут короткие сообщения «Хочу работать у вас». Без приветствия, без желаемой должности, вообще без какой-либо информации. Не надо так.
Иногда рекрутерам приходится проявлять фантазию, чтобы урвать топового спеца. Например, моя коллега ходила в клубы настольных игр и играла в D&D, чтобы познакомиться с айтишниками.
Этап 2. Работа с резюме. Читаем очень внимательно.
Резюме всё ещё остаётся главным способом узнать максимум информации о кандидате. Грамотно составленное CV даст вам сто очков форы перед остальными соискателями.
Если рекрутер не знает о каких-нибудь ваших компетенциях, значит, их нет.
Помимо стандартных пунктов «стек технологий» и «опыт работы», хорошо бы указывать достижения и результаты решения комплексных задач на предыдущих позициях. Это должны быть факты, которые подтверждают именно ваш вклад в реализацию проектов. Например, самая крупная задача, над которой пришлось работать. Это поможет ещё до первого созвона понять, какие умения есть у спеца и в чём он лучше других кандидатов.
Если вы подписывали NDA и не можете ничего рассказать о предыдущем опыте, то детально опишите навыки, которые приобрели в процессе работы, без описания задач и результатов.
Совет 2. Прикрепите в резюме не только ссылки в LinkedIn и Facebook, но и ник в Telegram. Обычно общение через Telegram занимает на порядок меньше времени, чем в LinkedIn или Facebook.
Этап 3. Созвон с рекрутером. Первое личное впечатление.
Если стек технологий и опыт специалиста нам подходит, я приглашаю пообщаться тет-а-тет. Первое интервью обычно проходит онлайн в формате видеоконференции.
Это обоюдное знакомство. Рекрутер рассказывает про компанию и проекты, с которыми мы работаем, про вакансию, особенности работы. И стремится узнать мотивацию специалиста, чтобы предложить задачи, которые будут отвечать именно его интересам.
HR сразу раскрывает почти все плюсы работы в компании: обучение, развитие, команда, защита от выгорания, бронь айтишника. А кандидата спрашивают о его последнем опыте работы, его предпочтениях и ценностях, а также о том, почему он находится в поиске работы. Важно понять, что он хочет получить от нового места работы, а с чем точно не готов сталкиваться, какие у специалиста драйверы и ценности.
Мы не стараемся заманить человека к себе всеми способами, нам нужен мэтч. Чтобы его ценности и стремления совпадали с ценностями компании.
Совет 3. На первом интервью не спрашивайте о зарплате. Рекрутер просто не знает, что ответить, потому что финансовый вопрос зависит от скилов спеца и решается уже после технического интервью.
Да, HR понимает, что спец хочет получать достойные деньги. Но давить на рекрутера не стоит — это лишь покажет недостаточно хорошие навыки коммуникации соискателя. Мы точно не пригласим кандидата на вакансию, которая не соответствует его зарплатным ожиданиям.
Обычно мы сразу договариваемся на техническое интервью. Туда доходит большинство соискателей, интересы которых совпадают с нашими задачами. Отказываем только тем, кто явно негативил на созвоне или вообще не проявлял заинтересованности. Софт-скилы — это важно.
Этап 4. Техническое интервью. Оценка хард-скилов.
Техническое интервью у нас тоже проходит онлайн. По времени оно длится в среднем 1,5 часа, и его ведёт уже тимлид или руководитель направления.
В целом схема стандартная. Сначала немного теоретических вопросов, затем кандидату дают несколько практических кейсов, и он должен ответить, как он бы их решил сам.
И кульминация интервью — лайфкодинг. Спецу дают одну конкретную задачу, которую ему нужно решить в прямом эфире.
Каких-то особых лайфхаков здесь нет. Потому что лайфкодинг сразу покажет все сильные и слабые места — задания подбираются примерно похожие на те, что нужно будет выполнять в рамках проекта. Важно отметить, что мы не используем такую практику, когда кандидату даётся невыполнимое задание, чтобы оценить его реакцию.
Чтобы лучше прочувствовать атмосферу технического интервью, я попросила рассказать о том, как оно проходит, нашего руководителя отдела разработки мобильных приложений Пашу Сухотерина.
Интервью Android-разработчика — это один интересный кейс, где смешан лайфкодинг, систем-дизайн, особенности Android и языка программирования Kotlin. В зависимости от позиции мы либо погружаемся очень глубоко и прорабатываем действительно неочевидные и сложные места, либо остаёмся на уровне, где достаточно обозначить понятие, не углубляясь в детали.
Начну с того, что мы пишем маленький Ситидрайв, состоящий из всего 2 экранов: карты и карточки машины.
Сначала я играю роль владельца продукта и рассказываю, что хочу получить без технических деталей. Что-то умышленно умалчиваю, чтобы дать кандидату затравку на дополнительные вопросы о кэшировании, взаимодействии с сетью или других параметрах.
Следующим этапом кандидат выбирает список технологий, аргументируя свой выбор. Кто-то выбирает Android Navigation Component, кто-то Hilt, кто-то Glide и так далее. Уже благодаря этому можно понять, с каким опытом пришёл разработчик, в каких технологиях он силён, сходятся ли наши решения с его бэкграундом, как он размышляет.
На этом этапе уместно рассказать о нашем стеке технологий, уточнить, что сами считаем устаревшим подходом, где планируем использовать новые технологии.
Следующее, на что я смотрю — опыт разработчика в построении приложения и сложных многомодульных проектов. Тут рассматриваем опыт деления проекта на модули, их взаимосвязь, как её оптимизировать, как ускорить время сборки проекта. Вполне нормально для junior — рассказать про модули в целом, а для senior — рассказать, как делить по модулям Dagger или Room.
Далее мы углубляемся в реализацию архитектуры, это может быть MVVM, MVI и даже MVP. Важна не конечная архитектура, а понимание принципа построения, почему мы делаем именно так, а не по-другому.
Проваливаясь дальше, рассматриваем зависимости между слоями приложения, как правильно их выстраивать, где какие условия должны храниться, где и как мы пишем unit-тесты.
На этом этапе я уже рассказываю, как архитектура выстроена в нашем приложении, как мы работаем с БД, какие есть особенности работы с картой и так далее.
После общими мазками мы пишем код: репозиторий, интерактор, вьюмодель. В процессе рассуждаем вместе — не ищем идеального решения здесь и сейчас, но пытаемся понять, приятно нам будет работать вместе или нет.
Весь процесс собеседования — это диалог, я спрашиваю кандидата о чём-то, после делаю перерывы, рассказывая, как это устроено в нашем приложении, тем самым не давая сильно уставать.
Если разработчик не знает ответа на вопрос, я задаю наводящие вопросы и, если он всё равно не отвечает, поясняю, что мне хотелось бы услышать в ответ. Благодаря этому разработчик уходит с собеседования довольный, что не только отдал свои силы и эмоции, но и узнал что-то новое для себя.
Вернусь к своему рассказу. Уровня кандидата либо достаточно — тогда он переходит на финальное собеседование, либо нет — тогда мы просто с его согласия добавляем соискателя в базу на будущее.
И да, когда рекрутер говорит, что внесёт данные в базу — он на самом деле это сделает. Потому что с внутренней базой работать проще — там уже собраны люди, которые знают о компании и ранее подавали заявки на открытые вакансии. IT-комьюнити на самом деле небольшое, рекрутеры друг друга знают и следят за потенциальными крутыми спецами, поэтому кадрами не разбрасываемся.
Этап 5. Финальное интервью. Принятие решения о найме.
Финальное собеседование проводит CTO или CDO компании, в зависимости от направления вакансии, а также ведущий менеджер по подбору персонала. На нём мы более детально обсуждаем какие-то кейсы, задаём дополнительные вопросы, обсуждаем возможные страхи и риски как со стороны кандидата, так и с нашей, проверяем софт-скиллы.
Иногда руководитель задаёт вопрос на логику, чтобы понять, как мыслит соискатель. Но главное — никаких стресс-тестов. Когда-то это была очень модная тема, но выводить потенциального сотрудника из себя — плохая идея. Он ведь нас тоже выбирает.
Также на финальном интервью обсуждаем финансовую мотивацию специалиста — как она складывается, какая система мотивации существует в компании и так далее.
По результатам финального собеседования топы от каждого направления составляют своё мнение о кандидате. Далее команда, которая нанимает специалиста и рекрутер решают, кто нам подходит. В большинстве случаев мысли сходятся — «нашего» кандидата рекрутеры видят уже на самом первом интервью.
Совет 4. Соблюдайте правила приличия. Да, так просто. У нас были сильные кандидаты, которые во время интервью с рекрутером курили кальян или вейп. Или которые проходили собеседование в трусах — и мы это видели. Было несколько таких, кто слишком подробно рассказывал о личной жизни или расставании с девушкой.
А ещё как-то была ситуация, что кандидат не смог забронировать переговорную для собеседования на назначенное время и нашёл крайне странный выход из ситуации: подключился из туалета. Похвальное усердие и креативность, но впечатление от этого осталось далеко не самое лучшее.
Навыки общения и такта очень важны, когда работаешь в команде.
Если на финальном интервью всё ок, кандидат получает оффер, и мы обсуждаем с ним финансовую мотивацию. Тут мы открыты к диалогу, но почти всё зависит от скилов.
Сейчас ситуация на рынке такая, что сложно и рекрутерам, и соискателям. Если кандидат адекватный в общении, заинтересованный в проекте, обладает необходимым уровнем технических знаний и разделяет ценности команды — у него реально большие шансы успешно пройти все этапы интервью.
Иногда случается, что два спеца шикарно проходят все интервью и отлично кодят — именно то, что нужно. Тогда может быть такое, что возьмут обоих — хороших разработчиков много не бывает. Всё решается в индивидуальном порядке.
А ещё часто бывает, что человек сначала не получил оффер, но через месяц или несколько HR к нему возвращается, и его нанимают.
В качестве финального совета хочу сказать: не пытайтесь устроиться абы куда. Старайтесь найти команду, которая будет уважать вас как профессионала и разделять ваши ценности. Это должно быть обоюдное совпадение. Только тогда это будет выгодно для всех.
Комментарии (9)
nastyzavrr
26.07.2023 10:49-4Классно и по делу!
klis
26.07.2023 10:49Серьезно? Т.е. статьи как будто не достаточно, чтобы понять что к чему? Давайте разбавим комментариями с аккаунтов, зарегистрированных час назад? Ситидрайв, ты там в порядке?
В качестве финального совета хочу сказать: не пытайтесь устроиться абы куда.
Понял, спасибо, ситидрайв вычеркиваем...
18741878
26.07.2023 10:49Если рекрутер не знает о каких-нибудь ваших компетенциях, значит, их нет.
Неоднозначная фраза. Понимать можно по-разному. Либо я о компетенциях не упомянул и тогда, действительно, для рекрутера их не существует. Тут, ясно, я же и виноват.
Но что, если упомянул, но рекрутер никогда с такой областью не сталкивался и, разумеется о них не знает? Отказ?
Допустим, ищется кандидат на разработчика бигдата. Я упоминаю Spark и Airflow, но рекрутер о них не знает. По существу, я вроде бы подхожу для дальнейшего рекрутинга, а по факту - меня вежливо шлют лесом :)
mike66
26.07.2023 10:49+1Совет 3. На первом интервью не спрашивайте о зарплате. Рекрутер просто не знает, что ответить, потому что финансовый вопрос зависит от скилов спеца и решается уже после технического интервью.
Правильно, спрашивайте о зарплате до каких либо интервью. Зачем потенциально тратить ваше и моё время зря.
prok_iv
26.07.2023 10:49Спасибо, можно кое-что почерпнуть.
Было бы интересно от каждой компании почитать о том, как помимо 70 мидлов и синьоров, они взяли год назад 10 джунов, вырастили из них мидлов, они остались (и рекрутерам других компаний им нечего предложить) и теперь учат следующее поколение внутри компании.
XeL077
26.07.2023 10:49Выглядит так, что прохождения всей воронки занимает 10 часов. У компании должен быть очень хороший компенсационный пакет чтобы как-то перекрыть это потраченное время.
EpOsS
Переведу: Мы потратим ваши несколько часов времени, а потом вместо ваших ожиданий предложим вам в 3 раза меньше. Ну не принято же спрашивать про зп, мотивация деньгами - такой нам не подходит. Нужен тот на ком можно ездить свесив ножки, желательно senior с зарплатой middle
Heda
На вакансию минимальная и максимальная ставки могут отличаться в пять раз, какой смысл заявлять, что ты можешь на 500к в наносекунду, когда на тех. интервью тебя как джуна. Имхо это действительно стоит обсуждать только когда вы познакомились с командой, а она с вами.
EpOsS
Не-а. Какой смысл проводить интервью если компания не соответствует моим ожиданиям? Нужно всегда обозначать, что я хочу 500к в наносекунду, 100 не хочу, хочу вот 500 и всё. А если HR понимая, что бюджета такого нет, всё равно зовёт дальше по этапам, то нужно призадуматься и уволить такого менеджера. Так как человек потратит огромное количество времени не только кандидата, но и старших разработчиков.
Вообще идеально когда есть несколько вакансий по разным грейдам, типа джун 40 фантиков, мид - 100-150 фантиков, сеньор - до 500 фантиков. Тогда уважаемому менеджеру нужно будет просто кинуть ссылку на ту вакансию которой соответствует кандидат и все довольны. Мы все работаем за деньги и только деньги мотивируют тебя обсуждать уже другие вопросы. Утром деньги - вечером стулья