Эта статья является некоторым логическим продолжением предыдущей — «Техсобесы — это просто, но есть нюанс…». Я делился своим опытом прохождения технических собеседований, и в комментариях отметили, что это очередная статья о том, как соискатель должен выполнить всю работу за рекрутера. Поэтому сегодня я постараюсь взглянуть на процесс с другой стороны стола.
Эта статья для начинающих, а может и практикующих интервьюеров, а также для всех, кому было бы интересно посмотреть на происходящее глазами нанимающей стороны. Я практически не буду затрагивать другие этапы, сконцентрируюсь только на техническом собеседовании и процессе подготовки к нему.
Моё видение процесса принципиально не отличается в зависимости от того, интервьюирую я или меня. Поэтому структура статьи та же самая, но с некоторыми дополнительными вкраплениями, специфичными для нанимающей стороны.
Дисклеймер:
Я не буду приводить примеры из реальной жизни — все совпадения с реальностью прошу считать случайными, а персонажей (кроме меня) вымышленными.
Всё нижеизложенное — не критика, а лишь набор советов, которым я стараюсь следовать сам. Это всего лишь моё личное мнение и опыт, облечённые в байты.
Если вы с чем-то не согласны или в вашей команде устроено по-другому — замечательно. Заглядывайте в комментарии и делитесь. Я всегда рад обсудить спорные моменты, ведь тема достаточно холиварная :)
Правила нужны, чтобы их нарушать
Обстоятельства. Начать хотелось бы именно с этого слова. Вы должны знать, какие у вас возможности и ограничения. Частой ошибкой начинающих интервьюеров является именно непонимание контекста.
Ознакомьтесь с регламентом. Как правило, чем больше компания, которую вы представляете, тем у́же окно возможностей. В крупных компаниях часто каждый блок, цели и тайминги собеседования расписаны крайне детально.
Если правила проведения строго регламентированы, а вы проведёте собеседование по наитию, очень может статься, что собеседование кандидату попросту не зачтут. Тогда он будет вынужден проходить его повторно или понадобятся дополнительные испытания.
Знайте свои границы и действуйте в их рамках. И этот параграф совершенно не призывает действовать шаблонно и однообразно, вовсе нет. Речь лишь о том, что вы должны чётко понимать правила игры, чтобы знать, где от них можно отступить и не навредить процессу найма.
Не бойтесь указывать на проблемы. Это особенно актуально для стартапов или небольших команд с неразвитой культурой собесов. Важно: если вы с чем-то не согласны — пытайтесь это обсудить, договориться с остальными участниками процесса. Не саботируйте процессы, не идите наперекор — такой подход лишь усугубит ситуацию.
Понимайте зачем. Алгоритмы проведения технических интервью — сугубо личное дело каждой компании. В отрыве от целей найма процесс не может быть правильным или нет. Что именно ожидают от кандидатов, какие ищут навыки, умения, идеалы, убеждения — это и будет определять построение процесса. Сначала нужно определиться, «кого» и «зачем», чтобы понять «как».
Придерживайтесь единого маршрута. Интервью разных кандидатов на одну и ту же позицию должны проходить по примерно одной и той же структуре. Без этого вы не сможете их объективно сравнить между собой. Это не значит, что вы должны всем давать одну и ту же задачу и спрашивать одни и те же вопросы, но сопоставимость между ними определённо должна быть.
Г-г-главное н-н-не бояться
Для многих проводить собеседования — ещё больший стресс, чем их проходить. От ваших действий теперь зависит судьба другого человека. Это большая ответственность и обязательства. Помните об этом, но не давайте этому чувству помешать сделать работу хорошо.
Да, проводить собеседования — это работа, кто бы что ни говорил, и работа тяжёлая. Это отнимает много времени (гораздо больше, чем длится само собеседование, — об этом чуть позже), требует умственных и эмоциональных усилий. Мало того что нужно общаться с совершенно незнакомым человеком, так ещё и оценить его как-то умудриться, ещё и объективно. Короче, забавы мало.
Крайне редко такое встречаю, но для некоторых отдельных интервьюеров напомню: вы — лицо компании, и то, как вы проводите интервью, влияет на её публичный образ.
Будьте сдержанны, но не сухи. Будьте доброжелательны, но не фамильярны. Будьте человеком в конце концов, будьте таким интервьюером, которого бы сами хотели видеть. Если по ходу собеседования вы понимаете, что найма не состоится, это не повод менять ваше отношение.
Вы должны понимать, что проведение собесов — это ответственное мероприятие, и подходить к нему спустя рукава совершенно не стоит.
Это очень опасная ловушка, в которую может попасть любой интервьюер: «Раз собеседую я, а не меня, то чего напрягаться? Это же не я решаю задачу. Не я отвечаю на каверзные вопросы. Не я пытаюсь уложить весь свой многолетний опыт в пятиминутный рассказ».
Нет. Просто нет. Это вы должны понять и разобраться в чужом решении за короткий срок, чтобы не нарушить темп собеседования. Это вы должны понимать контекст знаний кандидата и уметь разбираться во всём, что он вам рассказывает, чтоб не тратить время на бессмысленные вопросы. Это ваша задача — суметь вытащить из кандидата весь его многолетний опыт за условные пять минут.
Проведение собеседований — это такой же навык, как и разработка. Как и любой навык, он развивается и укрепляется благодаря практике. Ходите по интервью в качестве второго пилота или тени, прокачивайте свои умения. Также вы можете тренироваться в рамках mock-interview — для этого есть специальные сервисы. Например, pramp.com (на англ. языке).
Снова в школу
Многие считают, что собеседование начинается с приветствия и заканчивается прощанием с кандидатом, но это не так. Всё начинается с домашнего задания, а заканчивается заполнением дневника. Кажется очевидным, но не все интервьюеры это понимают.
Подготовка к собеседованию, или «домашнее задание». Не все резюме составлены ёмко и полно, но большинство содержат практически всё необходимое. Информация, которую вы хотите узнать, — навыки, предыдущий опыт и специфика предыдущих проектов. Если чего-то не хватает — не страшно. Пометьте карандашиком на полях — расспросите поподробнее уже во время интервью.
Убедитесь, что вы внимательно прочитали резюме и результат общения с эйчаром. Корректный скрининг — это, конечно, задача отдела найма, но, возвращаясь к пункту о небольших компаниях, не всегда вопросы эйчара релевантны и полезны.
Не бойтесь дать обратную связь, а если понадобится, и помочь в корректировке технической компоненты задаваемых вопросов. Не переусердствуйте — скрининг должен лишь раскрывать опыт кандидата, он не может и не должен являться заменой технического интервью.
Когда закончите с «домашкой», у вас должно сложиться полное представление о следующем:
Все ли необходимые для вас навыки отражены в резюме? Что для вас критично, а чем вы готовы поступиться? Как именно вы планируете эти навыки проверять?
Какие пункты из опыта кандидата для вас релевантны? Понимаете ли вы предметную/продуктовую область, о которой вам предстоит слушать? Разбираетесь ли вы в технологиях, которыми пользовался кандидат?
Чем ваша компания (департамент, отдел) может быть интересна кандидату? Чем вы можете его заинтересовать с технической точки зрения?
Запишите это всё — в какой угодно форме, но запишите. У вас не будет времени вспоминать, чего вам не хватает для составления мнения о кандидате. Вообще записи — ваш лучший друг, как во время подготовки, так и во время самого интервью.
Составление обратной связи, или «заполнение дневника». Обязательно записывайте процесс интервью: вопросы, которые задаёте, ответы, которые слышите, свои впечатления. Не забудьте предупредить об этом кандидата — некоторых это может смутить. Записать абсолютно всё вы не успеете, поэтому пишите короткие заметки и будьте готовы потратить существенное время после.
Если вы нанимаете сами себе в отдел — тем проще. Вам не перед кем отчитываться, кроме себя. Но даже в этом случае записи будут не лишними. Благодаря им:
Проще отсекать сиюминутное субъективное впечатление о кандидате. Есть обаятельные и приятные в общении соискатели, которые могут вас «охмурить». Протокол помогает калибровать технические навыки кандидатов между собой с гораздо меньшим эмоциональным окрасом.
Удобнее давать обратную связь кандидату. Когда это понадобится, вы уже забудете, что, зачем и почему.
Вы сможете провести ретроспективу после набора некоторой статистики. Сможете сравнить множество интервью между собой и отрефлексировать, что вы делаете хорошо, а что можно сделать лучше. Найти удачные и неудачные моменты. Повысить качество ваших интервью.
Собственно сабж
Собеседования отличаются от компании к компании: где-то любят алгоритмические собесы, где-то предпочитают простой разговор. С вашего позволения, я не буду влезать в извечный спор, что же лучше и как правильнее, — оставлю этот вопрос другим авторам.
Главное, не пытайтесь быть уж слишком уникальной снежинкой и спрашивать что-то лютое и невообразимое. Это касается всех этапов общения с кандидатом. Не пытайтесь показаться умнее или принизить кандидата — вы здесь не за этим. Ваша задача — определить технические навыки, а не выставить кого-то дураком или «победить».
Прежде чем переходить к проверке навыков, я рекомендую потратить пять минут на знакомство. Это поможет установить правильную атмосферу и синхронизирует ожидания. Как правило, я трачу это время на следующее:
Убеждаюсь, что и у меня, и у кандидата всё отлично со связью и нам ничего не помешает. У меня выключены все некритические уведомления в мессенджерах и почте.
Коротко представляюсь, буквально в двух словах рассказываю, чем занимаюсь в компании. Я знаю кандидата, он меня — нет. Ему будет намного комфортнее общаться с таким же разработчиком, как и он сам, а не просто с рандомным Васей.
Убеждаюсь, что кандидат пришёл туда, куда шёл. Например, я проговариваю: «Сегодня у нас будет собеседование на такую-то вакансию на таком-то стеке».
Рассказываю план собеседования от начала и до конца с таймингами. Это позволит кандидату ориентироваться во времени, понимать, когда можно покороче, а когда у него больше времени.
Чтобы сформировать мнение о кандидате, скорее всего, вы будете пользоваться той или иной комбинацией следующих блоков:
Разговор об опыте кандидата
Проверка технических знаний
Решение задач
Ваши ответы на вопросы кандидата
Рассмотрим каждый из них подробнее.
Опыт, сын ошибок трудных
Разговоры об опыте могут иметь разный формат: вы можете попросить рассказать о себе, а можете о практике применения той или иной технологии, но всегда важно понимать зачем. Поболтать с кандидатом вы успеете, когда и если он выйдет на работу, а пока сосредоточьтесь на качественном проведении интервью.
Всегда чётко понимайте, зачем вы задаёте те или иные вопросы. Какую именно информацию вы хотите получить от собеседника этим вопросом? Можно ли было получить эту информацию на этапе прочтения резюме? На этапе общения с эйчаром?
Многие интервьюеры теряют суть этого блока: слушают то, что они могли узнать из резюме, задают пространные вопросы, но не получают никакой дополнительной информации. Не тратьте ценное время на вопросы, которых можно избежать. Это касается каждого блока, не только опыта, но именно в нём эта ошибка встречается чаще всего.
Ваша основная задача — составить максимально полное впечатление. Выявить, насколько кандидат в своей предыдущей работе соответствовал тому, как всё устроено у вас. Насколько он готов у вас работать? Насколько он разделяет или готов разделять ваши подходы и ценности? Ради этого вы и делали «домашнее задание».
Если вы живёте в режиме стартапа, работаете без продыху и выходных — вам не по пути с людьми, знающими о work-life balance. Если у вас строгие правила и бюрократия, привыкшему к хаосу человеку может быть некомфортно. Если задачи сделать надо ещё вчера, а про процессы вы только слышали, вы не поладите с Agile-евангелистом. Если у вас большой и сложный проект, то вам нужен кандидат, который умеет глубоко погружаться и разбираться.
Знайте свою целевую аудиторию и ищите людей с необходимым взглядом на вещи или готовых измениться под ваше видение. Если вы, конечно, не ставите себе целью найти коллегу с новыми подходами, чтобы привнести в команду свежую кровь, сменить парадигму. Правда, для этого недостаточно просто нанять нужного человека — нужно ещё и управленческое решение.
Помимо прочего в этом блоке можно выявить огромное количество красных флагов относительно кандидата: их может заметить и эйчар, но для некоторых из них нужен именно технический взгляд.
Назвался груздём — полезай в кузов
Поговорить об опыте — это, конечно, очень здорово, но не заменит полноценной проверки технических навыков. На мой взгляд, это должен быть отдельный блок.
Задавайте вопросы, но не устраивайте допрос. Если вы попытаетесь уложить 100 вопросов в 10 минут, ничего дельного не выйдет. Держите в голове список технологий, в которых вам интересно проверить знания кандидата. Вы должны сами разбираться в этих технологиях — на мой взгляд, без этого никуда.
Выявите, владеет ли кандидат базой, нащупайте границы его понимания. Не оценивайте кандидата с точки зрения «знает или не знает» — это достаточно глупо. Если кандидат никогда не работал с технологией, он не может знать все тонкости и нюансы. Обратите внимание на схожие технологии в его арсенале, проверьте, насколько глубоко он разбирается в них. Это подскажет вам, насколько кандидат в целом готов погружаться.
Обращайте внимание на рассуждения кандидата, задавайте уточняющие вопросы, на которые можно развёрнуто ответить. Идеальный вопрос, на мой взгляд, должен порождать некоторое обсуждение. Если кандидат что-то не знает — не страшно. Дайте ему недостающую информацию или предложите поразмышлять вслух. Выявляйте скорее понимание, а не знание.
Одна из моих самых любимых групп вопросов — сравнение. Попросите сравнить несколько технологий между собой, например, что лучше выбрать для того или иного проекта. Понимание и умение обосновать области применения технологий — это больший показатель реальных знаний кандидата, чем пересказ определений из учебника. Правда, такие вопросы слабо подходят для джунов в силу их малого практического опыта.
Не требуйте от кандидата знать всё, если речь не касается базовых вещей, которые являются минимумом для владения той или иной технологией. Умоляю и прошу. Вы сами не знаете всего. И никто не знает. Чем более узкоспециализированный вопрос вы задаёте, тем больше вы должны быть готовы порассуждать вместе с кандидатом, а не ожидать стопроцентно верный ответ.
И ещё, если вы нанимаете разработчика, помните, что в большинстве случаев вам нужно умение и знание не только языка разработки, но и сопутствующих технологий. Не забудьте это прощупать, если это важно для вакансии (убедитесь, что это указано в той самой вакансии).
Нельзя просто так взять и решить задачу
Ух, я рискую получить гору минусов за это непопулярное мнение, но я его выскажу. Когда вы нанимаете разработчика, то совершенно невозможно составить о нём всеобъемлющее впечатление, если вы не видите его работу с кодом или дизайном. Вот так просто. Это невозможно.
У кого-то подвешен язык, и он может в real-time режиме генерировать поток мысли, переполненный buzz-word’ами, но без особого понимания. Кто-то молчалив, но при этом может глубоко разбираться в технических вопросах — просто это нужно вытаскивать клещами. На работе далеко не всегда предстоит болтать, потому и технический собес должен быть в определённой мере практическим.
Не так важно, что именно будет включено в этот блок: дебаггинг, рефакторинг, алгоритм, кодовая или дизайн-архитектура, очередное переосмысление FizzBuzz. Важно, что вы сумеете составить объективное (насколько это вообще возможно) впечатление о технических умениях кандидата.
Ваша задача совсем не в том, чтобы убедиться, что кандидат умеет писать код. Точнее, далеко не только в этом. В рамках этого блока вы можете узнать:
Насколько кандидат умеет работать с поставленной задачей. Бросается ли он сразу в бой или долго исследует условие, рассуждает и задаёт вопросы.
Умеет ли он заранее продумывать план, обсуждать его, или это человек-действие, от которого не добиться обсуждения, — его можно только ревьюить.
Насколько хорошо он работает с обратной связью, которую вы ему даёте в процессе обсуждения и решения.
Как он размышляет и рассуждает. Насколько вам комфортно с ним общаться в это время.
Умеет ли он проверять себя или не видит очевидных ошибок.
Себя показать, на других посмотреть
Да, я понимаю, что у кандидата вполне вероятно будут финалы, где ему всё расскажут в деталях, но уже сейчас у него могут быть вопросы. Будьте готовы на них ответить, а лучше сами предложите рассказать о том, что его волнует. Особенно если это далеко не его последнее интервью в цепочке.
Будьте честны. Не предлагаю вываливать на кандидата все накопившиеся боли и проблемы, но и врать не стоит. Если кандидат задаёт вопрос — значит, для него это важно. Если вы скажете одно, а на деле окажется совершенно другое, вероятно, человек надолго у вас не задержится.
Помните: одна из целей — найти подходящего кандидата, и речь не только о технических навыках, но и обо всём остальном. Этот этап помогает кандидату определиться, подходите ли вы друг другу. Это в ваших же интересах.
TL;DR: Знайте границы. Не расслабляйтесь. Готовьтесь и не тратьте время впустую. Понимайте зачем. Ищите релевантное. Проверяйте базу, а не частности. Понимание важнее знания. Задачи совсем не про код. Будьте открыты. Будьте таким интервьюером, которого хотели бы видеть с той стороны стола. Успехов!