[Перевод] На технических собеседованиях даже нормальные люди звереют

867422810e37ef99965fd68a0e2df321

В Сети опубликованы сотни постов о том, что собеседования в IT никуда не годятся, что на них расспрашивают о каких-то частностях или задают вопросы о том, что твердо знает только вчерашний выпускник университета (классический пример — сортировка с помощью двоичного дерева). Все эти выпады справедливы, но я хочу добавить еще один от себя: от собеседований звереют даже нормальные люди.

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

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

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

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

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

Третья история особенно запала мне (ответственному за собеседования) в душу своей несуразностью. Я пронаблюдал, как хорошие программисты (и хорошие люди) внезапно превращаются в каких-то козлов без капли сочувствия к кандидату. Я даже сказал им, что сам бы не осилил подобное собеседование. Зачем выспрашивать до таких мелочей? «Но нам же в данную микросекунду нужны именно эти знания».

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

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

Происходит это по нескольким причинам:

  • Люди не задумываются (и не ощущают), какое впечатление производят на других.
  • У них мало опыта проведения собеседований, поэтому они не продумывают процесс заранее, а просто действуют по наитию.
  • Им попросту наплевать: «на нем свет клином не сошелся», «а мне-то что», «нужно же держать планку» и так далее.


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

Варианты решения проблемы


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

Вот вам еще одна история: я собеседовался на должность типа инженера данных (нужно было извлекать и очищать данные, чтобы аналитики потом могли с ними работать). Работа требовала знания SQL, так что я не пожалел времени, чтобы освежить его в памяти перед собеседованием. Даже проходил онлайн-тесты, чтобы убедиться, что отвечу на любой вопрос, какой бы ни задали. Я был полностью уверен в своих знаниях по SQL.

Сотрудник, проводивший собеседование, спросил меня о чем-то совсем простом, какой-то ерунде типа «как создать таблицу?», в этом духе. И меня закоротило — вообще не мог вспомнить. Если бы он подтолкнул меня в нужном направлении или дал пару минут собраться с мыслями, наверное, я вспомнил бы. Но он резко меня оборвал и перешел к следующему вопросу. Всё оставшееся (недолгое) время собеседования он глядел на меня с оттенком презрения. Держу пари, в тот день он отправился на Hacker News, чтобы похвалиться своими успехами. «Этот придурок даже таблицу создать не в состоянии. Уровень у разработчиков падает на глазах. Как такие люди вообще находят работу?»

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

2. Ваше дело не исполнять роль Гэндальфа, преграды, не позволяющей плохим программистам уничтожить индустрию. Ваше дело — найти наиболее подходящего кандидата на должность. Если вы убеждены, что вас окружают идиоты, советую меньше сидеть на Reddit/Hacker News и больше жить своей жизнью.

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

4. Заранее решите, какие вопросы будете задавать. Как я заметил, если не давать никаких указаний, люди просто начинают экзаменовать кандидата по какой-нибудь там библиотеке, с которой сейчас работают. «Я сегодня занимался тем-то и тем-то, так что следующие два часа мы будем разбирать эту тему по косточкам, потому что она свежа у меня в памяти. А если у тебя нет — ну, значит, не судьба тебе здесь работать, неудачник».

Приемы, которые у меня хорошо работают


Поговорить с кандидатом о его резюме


Столько времени тратится на вопросы с Leet, а до самого простого — поговорить о предшествующем опыте — у многих руки не доходят. Чего кандидату удалось добиться, пока он работал в прошлой команде? Какой вклад он вносил? Такие обсуждения позволяют без труда отделить тех, кто просто бесцельно дрейфовал, от тех, у кого есть какие-то достижения.

Дать несложную задачу с разрешением пользоваться источниками


Как я убедился, давать кандидатам простое (обязательно простое!) задание, чтобы они выполнили его в реальном времени — очень плодотворная практика. Я разрешаю им гуглить сколько душе угодно — не за хорошую память ведь нанимаем.

Я использовал задания в таком духе: при помощи Python импортировать вывод команды Linux (скажем, top), а затем запустить regexes и найти в нем (для примера) CPU. Я готов даже помочь кандидату намеком, если вдруг где-то застрянет — мне нужно, чтобы он расслабился и мыслил ясно.

Таким образом можно увидеть, насколько свободно человек работает с кодом, быстро ли находит ли ответы в Сети (а заодно — работал ли с той или иной библиотекой: если да, то будет знать, что искать и какие термины использовать). Даже самое простое задание позволит выявить людей, которые уверенно себя чувствуют и занимались чем-то подобным раньше.

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

© Habrahabr.ru