Собеседование как экзамен

в 12:42, , рубрики: Блог компании Цифровой СИБУР, интерьвю, Карьера в IT-индустрии, найм, найм разработчиков, собеседование, управление персоналом
Собеседование как экзамен - 1

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

Много лет назад я был уверен, что когда «подрасту», то точно не стану повторять ошибок моих нанимателей. Но увы. Как только начал сам проводить собеседования — все повторилось. Я угодил в ту же ловушку, что и они.

Во-первых, я искренне считал, что резюме должно быть четко структурированным и профессиональным. Должно быть одновременно полным, детализированным, но без утомительных подробностей. Разумеется, аккуратно оформленным и идеально грамотным. Желательно — без хвастовства и показухи. В общем, таким, чтобы после прочтения осталась одна мысль: «надо брать».

А так как не хотелось на сомнительного кандидата тратить лишнее время, огромное количество резюме отправлялось в корзину, потому что они были «не такие». Почти как в том анекдоте «А зачем нам неудачники», с той лишь разницей, что я все-таки тратил по 3-5 минут на резюме.

Представьте себе воронку: сначала отбирает HR (20-40%), потом отбираю я (10-20%), затем интервью с HR (60-80%), наконец, кандидат, в свою очередь, отбирает нас (20-40%).

Мы еще не дошли до технического интервью, а уже потеряли 99% кандидатов!

С теми же, кто прорвался сквозь эту воронку, я по классике затевал все эти занудные вопросы, начиная с «расскажите о себе». Потом задавал уточняющие вопросы, да так умело, что полчаса вылетало в трубу.

Ну а дальше на сцену выходил Его Величество Список. У вас в компании ведь тоже есть Список Вопросов Для Собеседования, не так ли?

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

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

В ходе собеседования я рисовал в голове этакое многомерное пространство. Каждая координатная ось представляла собой шкалу по определенной теме. В результате ответов получалась замкнутая область в этой системе координат. Этакое облачко знаний. И визуально представлял наложение этого многомерного облачка на облачко требований по вакансии.

Очень удобно.

В смысле, удобно для технаря, который не умеет в soft skills.

Все усугублялось тем, что соискателей много, а времени — мало. И Список-то ого-го какой длинный! Так что делать ювелирную работу было некогда. Собеседование неизбежно скатывалось в формат быстрых вопросов и ответов. То есть — в экзамен.

У моего поведения была и еще одна причина:

В юности (когда трава была зеленее, девчонки красивее, а программы 16-битные) я подрабатывал техником на родной кафедре. Принимал лабораторные работы по «Архитектуре ЭВМ». Ага, то еще название.

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

Дважды в неделю ко мне приходила разношерстная толпа из раздолбаев с редкими вкраплениями мотивированных студиозов. Добросовестные студенты приносили программы на куче разных языков с ассемблерными вставками. И не все эти языки были мне знакомы. Менее добросовестные приносили те же самые программы, но только написанные методом Ctrl+Ins и Shift+Ins (более удобные Ctrl+C и Ctrl+V приобрели популярность несколько позднее).

Код следовало оценить. Быстро. Очень быстро.

А еще — определить, кто же из них на самом деле автор.

И тут я понял, почему преподы задают глупые вопросы. Потому что на умные вопросы времени нет. Умные вопросы — для избранных.

(Позанудствую: также источником глупых вопросов бывают не очень умные люди. Или — не компетентные в данной области. Но мы оставим эти грязные инсинуации в скобках)

Глядя на код, я спрашивал самое тупое. Например: «А что такое AX?».
Тупо? Несомненно! Но ведь работает.

Через несколько секунд студент отправляется на пересдачу лабораторки.
Следующий студент уже знает, что такое AX. Но я его спрашиваю: «А сколько же в нем бит?». Все, пересдача.

Следующий знает, что это регистр и в нем 16 бит. Молодец.
— А вот тут у вас написано AH. Что это? — спрашиваю.
— Регистр
— Правильно, а сколько в нем бит?

Нда, пересдача.

Честно, я не хотел никого мучить, сам ведь недавно был на их месте. Просто старался максимально быстро и безболезненно отстреливать халявщиков.
Они упорно тащили какую-то магию на ассемблере, а объяснить, что притащили, не могли.

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

Мои требования были весьма приземленными. Кто знал, например, что такое «xor ax, ax» и почему это лучше чем «mov ax, 0» — получали зачет автоматом.

Ну а как еще можно поступать при жестком лимите по времени? И так дел невпроворот, а тут еще очередь соискателей. Из которых кто-то не умеет ничего. Или умеет, но совсем не то. Или то, но не так. Это надо оперативно выявить наиболее простым способом. То есть, задавая вопросы в темпе пулеметной очереди.

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

И я так поступал.

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

Но на волне постковидного «пузыря», когда поток кандидатов стал высыхать быстрее ручья в пустыне, данная техника стала сбоить. HR начали поминать меня незлым тихим словом. Начальство ненавязчиво интересовалось, почему там медленно ищем.

Тут-то я и призадумался. Кто сказал, что оценка знаний и опыта является целью собеседования или же экзамена?

Цель экзамена: заставить студентов усвоить материал в объеме курса.
Цель собеседования: найти коллегу.

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

Конечно, понятие «коллега» у каждого свое. Но вряд ли оно является синонимом слов «сдавший экзамен». В моем представлении хороший коллега — это тот, кто поможет тащить проект. Остальное — второстепенно.

Еще раз: тащить со мной проект.

Это главный вопрос, который я держу в голове. Потащит ли?

Ну ок, определились. Следует найти спеца, который потащит. А теперь — сюрприз — надо пройти его собеседование.

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

Не слишком похоже на экзамен, не так ли? Экзаменаторов-то, в отличие от работодателей, обычно не выбирают.

После сеанса рефлексии я перестроил процесс. Точнее, ту его часть, на которую мог влиять.

1. Снизил требования к резюме.

Потому что

За невзрачным резюме может стоять офигенный технарь. Может, конечно, и не стоять (и чаще всего не стоит), тогда потеряем время. Но немного, минут 15 на первичный звонок. Ведь время в это резюме уже было инвестировано: наш HR его нашел. И я как нанимающий менеджер это резюме прочитал. Почему бы не инвестировать еще немного? Ведь если кандидат окажется стоящим, мы с лихвой окупим инвестиции. И нанять его будет в разы проще, ведь большинство компаний его отфутболило на этапе чтения резюме. Особенно это важно, если ваша компания не из «первого дивизиона».

Результат: в четыре раза больше собеседований, которые позволили сделать в два раза больше офферов.

2. Сократил вопросы вида «расскажите о себе».

Ведь я уже читал резюме

Вы ведь, если собеседуете, тоже заранее читаете резюме? Правда? Тогда зачем этот пересказ? Плохая самопрезентация — это потеря драгоценного времени и испорченное первое впечатление. А хорошая говорит лишь об умении кандидата готовиться к выступлениям. Полезный навык, конечно, но мы ведь технаря ищем. Все равно далее будет техническая часть, на которой «мы поглядим, какой это Сухов». И как он умеет излагать свои мысли. А вопросы «расскажите о себе», «какие ваши сильные стороны», «ваши слабые стороны» в нашей культуре встречают отторжение со стороны кандидата. И дают слишком мало информации интервьюеру.

Поэтому данный этап сократил до минимума. Чтобы растопить лед, задаю один базовый вопрос: «Расскажите про ваш самый интересный проект». И слежу, чтобы ответ занял не более 3-5 минут. Самое сложное — удержаться от уточняющих вопросов.

Второй и самый важный вопрос: «Расскажите о процессе разработки на последней работе. Вот у заказчика появляется идея, что с ней происходит дальше?».

Вопрос позволяет понять, насколько кандидат в курсе процессов и сложно ли ему будет перейти на наши. А также помогает оценить «зрелость» разработчика. Показывает его видение разделения ответственности. Его представление о командной игре. Впишется ли он в команду, или мы получим классическую картину: «к пуговицам претензии есть».

Помните, я писал, что для меня важно, «потащит ли»? Так вот, на этом вопросе проясняется, потащит ли «по софтам».

Главное, надо следить за временем и не допускать ситуации «И тут Остапа понесло». Лично мне очень тяжело прерывать монологи кандидатов, но я работаю над этим. На этот вопрос выделяем минут 7-10.

Результат: Не распыляемся, и за 10-15 минут получаем представление, насколько кандидат подходит по soft skills.

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

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

А потом и ставлю задачу:
  • прочитать код

  • сказать, что он делает

  • что в нем плохого и почему почему

  • как улучшить.

Ну а затем, в зависимости от ответа кандидата, задаю уточняющие вопросы.

Стивен Хокинг писал, что каждая включённая в книгу формула вдвое уменьшит число покупателей. Полагаю, это правило верно не только для формул, но и для строк кода. Поэтому буду предельно краток:

public void InviteCustomer(string name, int ordersCount, string age,  
                           bool doNotHaveOrders, bool sex, string surname)

Язык — C#, но язык тут не важен. Даже об этой строчке можно долго говорить. Начать с обсуждения большого количества идущих вразнобой параметров странных типов (строковый возраст, например). И закончить предложением инкапсулировать нужные данные в некий класс Customer (попутно спросив, а почему же тут нет идентификатора).

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

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

А вот если показать маленький фрагмент, и спросить: «А как бы вы тестировали?», все станет на свои места.

if (DateTime.Now.Hour > 19)
{          
    Console.WriteLine("Good evening");
}

Забудем про магическую константу и про консоль. Фокусируемся на тестах.

Джун либо растеряется, либо скажет про тестирование в отладчике.

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

Синьор может порекомендовать подставить через DI некий интерфейс, реализующий провайдер даты-времени, и использовать в коде время из этого провайдера. А для юнит-тестов предложит его «замокать».

Прелесть метода в том, что есть много «правильных» ответов, которые зависят от квалификации. И кандидат, выдав ответ, не будет считать, что ошибся. Но глубина его знаний и опыта неизбежно скажется на глубине ответов.

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

Фу так писать.

Я не жду, что кандидат найдет все косяки в коде. Это не нужно. Но я жду, что по найденным проблемам будет предложено решение, соответствующее требуемому на данную вакансию опыту.

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

Результат: У соискателя стресс — меньше. Настроение — лучше. Нет негатива, если на что-то не ответил. У интервьюера же появляется хорошее представление о том, как кандидат будет работать.

Данный этап для спеца миддл+ занимает у меня около 30 минут. Если собеседую синьора - то до 45. Больше нельзя, даже если очень хочется: кандидат устает и «плывет».

Да, при данном формате собеседования всегда что-то не будет проработано. Ну и ладно. Никто не обнимет необъятного.

Вообще я руководствуюсь принципом: если что-то не приближает меня к пониманию, подойдет ли кандидат, это что-то — не важно.

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

  • Github/pet project. У трети моих знакомых из крутых разрабов есть, что показать. У остальных — нет, но это не делает их менее крутыми.

  • Работа в компаниях из «первого дивизиона». На мой взгляд, сам факт красивой строчки в резюме ничего не значит.

  • Умение решать разного рода логические задачки. Ибо оно никак не коррелирует со способностью нанести пользу компании.

  • Хобби, фото, и подобные не относящиеся к профессии детали.

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

Ну а дальше — «продаем» себя, свой отдел, свой проект, свою компанию. Коротко, задорно, с блеском в глазах. Продаем минут пять.

И даем возможность кандидату задать свои вопросы. Это еще обычно 5-10 минут.

Итого, собеседование с мидлом занимает час, с синьором — час с четвертью.

Кандидат должен уходить с собеседования в хорошем настроении, а не выжатым, как лимон. Узнав что-то новое и полезное для себя. И с позитивными мыслями о компании.
Даже если он не подошел.

Или нет: особенно, если он не подошел.

Мой отчет будет на почте у моего начальника и HR не позднее, чем через 4 часа после собеседования.

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

Автор:
Gradiens

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js