Как стать автором
Обновить
154.27
Raft
AI решения для бизнеса

Анатомия эффективного собеседования. Что делать и чего не делать на собеседовании

Время на прочтение8 мин
Количество просмотров14K

Я провел много собеседований за свою карьеру, возможно, несколько сотен в общей сложности. Мы отбирали и подготавливали людей для собеседований в компаниях вроде Microsoft и Google, так что это были весьма сложные собеседования. В начале я был не очень хорош в этом и делал всяческие ошибки. Надеюсь, за годы я стал лучше понимать на что обращать внимание и теперь смотрю на это под другим углом. Когда я начинал много лет назад, в нашей компании не было формального обучения навыкам проведения собеседований; считалось, что если ты хороший разработчик - ты можешь проводить собеседования. Очевидно, это не так; много отличных инженеров не могут и, что самое важное, не должны проводить собеседования без подготовки.

К моему удивлению, многие компании до сих пор не имеют никаких руководств и образовательного процесса для своих интервьюеров. То есть, интервьюер часто даже не знает, каких людей компания ищет на эту конкретную должность! Как можно найти подходящих людей, если вы не знаете, кого ищете? Вам нужен умный, быстро обучаемый джуниор, который будет быстро расти вместе с компанией, или вам нужен опытный ветеран, который может быть полностью автономным? Или, возможно, вам нужен архитектор/ведущий разработчик, чтобы направлять вашу команду в определенной области? Это разные люди и разные подходы к собеседованию с ними.

Я думаю, нет ничего более важного для успеха компании, чем найти правильных людей, и собеседование - это ядро этого процесса. Поэтому меня всегда удивляет, когда уважаемая компания имеет хаотичный и несогласованный процесс собеседования. Но что меня огорчает больше всего, так это когда действительно хорошего профессионала отклоняют, потому что интервьюеры следовали жесткому или слепому подходу или использовали свои СОБСТВЕННЫЕ критерии хорошего кандидата, полностью игнорируя требования компании или реальные потребности должности.

Это обширная тема, поэтому я здесь поделюсь только парой своих наблюдений и руководящими принципами собеседования, которые я использую на всех моих собеседованиях (предполагая, что вы ЗНАЕТЕ, кого ищете!).

  1. Первое - собеседование не про ВАС. Никого не интересует, что ЗНАЕТЕ ВЫ. Не пытайтесь утверждаться за счет других. Собеседуемый может не знать некоторые темы, и это нормально.

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

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

  2. Основные навыки, на которые я обращаю внимание, - это умение решать проблемы и способность быстро учиться. Если подумать - человек с этими навыками сможет быстро освоить остальное и потребует минимум обслуживания. К тому же, в отличие от технических навыков, это не так просто приобрести. Звучит очевидно? Но не для многих интервьюеров и менеджеров по найму. Я регулярно сталкиваюсь с многочисленными примерами, когда кандидата отклоняют на основании того, что он не знает какую-то конкретную технологию. Это довольно глупо. Типа, кандидат быстро учится и имеет глубокие знания в области фронтенд-разработки, но не имеет опыта работы с Typescript. Ну и что? Сколько времени потребуется этому человеку, чтобы его изучить? Три дня, может быть, или даже неделю? Но навыки решения проблем легко не приобретешь.

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

Как видите, это очень общие правила, но я бы хотел, чтобы мне кто-то рассказал мне их 10 лет назад.


Техническая часть

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

  • Обзор резюме

  • Теоретические вопросы

  • Поведенческие вопросы

  • Вопросы по проектированию

  • Задача на кодирование

  • Вопросы кандидата (да, это тоже важно оценивать)

Не все части всегда присутствуют. Я бы сказал, что только задачи на кодирование и теоретические/вопросы на опыт обязательны.

Обзор резюме

Чтобы составить представление о кандидате, я обычно спрашиваю о 1–3 недавних проектах. Люди склонны забывать детали по проектам старше трех лет, так что не стоит спрашивать про проекты которые были при царе горохе.

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

Теоретические вопросы

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

Я предпочитаю начинать с общих вопросов, таких как SOLID, паттерны, а затем переходить к специфике конкретных технологий.

НИКАКИХ ЗАПУТАННЫХ И ХИТРЫХ ВОПРОСОВ!

Да, я вынужден написать это заглавными буквами, потому что вижу их слишком часто. Мы здесь не играем в викторину. Запутанные вопросы не являются показателем чего-либо. Кому какое дело, почему люки круглые? Я слышал, это чтобы черепашки-ниндзя могли пролезть в них. Эти вопросы ничего кроме идиотизма интервьюера не показывают (если он реально собирается по ним оценивать кандидатов а не спрашивает по приколу).

Поведенческие вопросы

Могут быть любыми, если они подсвечивают поведение кандидата и его характер. Основная цель - составить представление о кандидате, насколько он связанно мыслит и может объяснить свои действия и способность решать проблемы. Мой совет всем кандидатам - подготовьтесь к этому заранее; без практики сложно вспомнить что-то на месте.

Некоторые примеры:

  • Расскажите о самой сложной технической проблеме и как вы ее решили.

  • Расскажите о конфликтах, с которыми вы сталкивались в прошлом, и как вы их решали.

  • Топ-5 личных достижений.

  • Сложное решение, которое вам пришлось принять в прошлом.

  • Ваши сильные и слабые стороны (кстати, правильный ответ - у вас нет слабых сторон, только области для улучшения :)

Вопросы по проектированию и архитектуре

Это открытые вопросы на которые нет одного правильного ответа. Цель - понять, понимает ли кандидат архитектуру и оценить его зрелость/экспертность.

Примеры вопросов по проектированию:

  • Спроектируйте бэкенд Twitter

  • Спроектируйте фронтенд Whatsup

  • Спроектируйте конкретный компонент

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

Задачи

У бурных интервью неистовый конец
У бурных интервью неистовый конец

Как ни удивительно для технической части, но здесь много психологии. Давайте начнем с очевидного.

Люди ленивы. Интервьюеры тоже люди (большинство из них). Следовательно, интервьюеры ленивы.

Насколько ленивы, спросите вы. Очень. У большинства интервьюеров есть 2-3 любимых задачи по программированию, которые они запомнили еще лет десять назад, и дают их каждому встречному-поперечному кандидату.

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

Мои рекомендации основаны на интервью длительностью от 40 до 60 минут. Следующие рекомендации хорошо работают для меня:

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

2. Задание идеально не должно занимать более 20-25 минут, учитывая ограничение в 60 минут.

3. Я не люблю давать задания, требующие знания какого-то конкретного алгоритма (за исключением базовых), если это не требование к позиции. Кандидат может не знать его, и это на самом деле ничего не говорит о кандидате.

4. Давайте четкие инструкции, не пытайтесь играть в игры разума и вводить кандидата в заблуждение. Мы не интервьюируем его/ее на предмет экстрасенсорных способностей (если только это не есть ваше намерение - тогда вперед).

5. Я предпочитаю просить кандидатов писать код в Блокноте или текстовом редакторе без подсветки кода, чтобы видеть, как он/она может думать без дополнительной поддержки. Это просто мое предпочтение, и это максимально приближено к интервью у доски.

На что стоит обратить внимание?

  • Правильное решение, конечно.

  • Задавал ли кандидат вопросы? Проговорил ли он вам свое решение перед реализацией? Многие люди спешат с кодированием, не уточнив условия задачи, и в итоге решают не ту задачу. Это нормально для кандидатов уровня junior/mid-level. Сениоры так делать не должны.

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

  • Проверил ли кандидат решение? Это очень хороший признак опытного специалиста.

  • Может ли кандидат принимать критику?

  • Big O. Честно говоря, я редко спрашиваю об этом, и только для позиций на backend. Если кандидат может объяснить Big O - это хороший знак, что кандидат потратил время на подготовку к интервью. Но это на самом деле мало что говорит о другом.

Некоторые общие наблюдения:

1. Хорошо, если задача по программированию будет связана с работой, которую кандидат будет выполнять в компании. Хотя это не всегда возможно.

2. Возможно, вы захотите дать задачу по программированию, которая займет более 20-30 минут. В этом случае лучше отправить ее кандидату отдельно и позволить ему решить ее вне интервью. Это может хорошо сработать, если у вас есть задача на 1-2 часа с реальной проблемой в области, для которой вы нанимаете. Например, для фронтенда вы можете попросить кандидатов построить определенный UI компонент. Я думаю, это гораздо более актуально, чем общие алгоритмические задачи.

Даем обратную связь

Я предпочитаю термин "обратная связь на будущее" (aka feedforward), как называет это Маршал Голдшмидт, а не просто обратную связь. Так почему же "обратная связь на будущее"? Здесь есть небольшая, но важная разница.

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

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

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

Далее, я предлагаю давать обратную связь сразу после интервью. Это может быть не полная обратная связь, и она не должна включать какой-либо вердикт. Просто обсудите само интервью и то, на что кандидату возможно нужно будет более глубоко посмотреть, чтобы освежить свою память и улучшиться в данной области. Здесь вы можете ответить на любые вопросы, которые у кандидата есть о интервью.

Вопросы кандидата

Меня удивителяет, сколько кандидатов заканчивают интервью, не задав ни одного вопроса. Ведь после того, как вы провели час на интервью, разве вас не интересует, что вас ждет, если вас наймут? Это как будто человека вообще не интересует, что он будут делать или что компания делает в целом!

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

Так что, если кандидат задает умные вопросы, это очень хороший знак. Старайтесь отвечать на адекватные вопросы как можно лучше.

Опять же, я предлагаю не давать никакого вердикта сразу, даже если вы приняли решение. Лучше взять паузу, чтобы подумать. Просто скажите, что вы передадите свою обратную связь HR/рекрутеру, и они свяжутся с кандидатом через некоторое время.


Я со-основатель AI интегратора Raft.

Делюсь опытом в ТГ-канале.

Теги:
Хабы:
Всего голосов 26: ↑20 и ↓6+16
Комментарии25

Публикации

Информация

Сайт
ai.raftds.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
Евгений Кокуйкин