Все мы имеем опыт прохождения собеседований. Все когда-то сидели в комнате с зевающим эйчаром, пытающимся разобраться, о чём поговорить, когда ваши планы на ближайшие 5 лет и все 7 сильных черт вашего характера ей уже известны. Некоторые успели побывать и по другую сторону баррикад, обстреливая каверзными вопросами лезущих на амбразуру открытой вакансии смертников. В любом случае, сталкивались со столь занимательным процессом собеседования. Сталкивались, и, может быть, задумывались, насколько оптимально он устроен, насколько хорошо собеседования справляются со своей задачей поиска наиболее подходящего сотрудника, а точнее, какие виды собеседований с ней справляются, ну а какие нет. Объявленная астрологами неделя постов про собеседования — хороший повод это обсудить.
Системные собеседования
Наверняка в умных книжках, которые читают в разных коммерческих ВУЗах будущим рекрутёрам, приводится какой-то официальный классификатор собеседований и даже ни один, но я в своё время, увы, выучился на программиста, так что попробую обобщить скорее свой личный опыт скольких-то десятков посещённых и чуть менее ста проведённых собеседований.
Пожалуй, все собеседования можно разбить на две большие группы, точнее на одну маленькую и одну большую.
Большая — собеседования по стандарту, системные, как я бы их назвал. Такие, концепцию которых кадровики в организации усваивают с молоком своих более опытных коллег. Они являются практическим воплощением теоретического решения проблемы поиска кандидата и не учитывают ни опыта конкретного эйчара, ни той специфики, что задаёт вакансия, компания (страна, планета, собеседуемый биологический вид и т.д.). В первую очередь это концепция собеседований…
… «снизу вверх»
Допустим, в вакансии написано что-нибудь про базы данных. Тогда на собеседовании рекрутёр (тут и далее речь будет идти равно как о сотрудниках отдела кадров, так и о технических специалистах, а под сотрудниками отдела кадров будут пониматься хед-хантеры, а не тётеньки, оформляющие больничные и отпуска) начнёт с простеньких вопросов «А что такое транзакция?» или «Чем там varchar отличается от text?» и двинется куда-то вверх в senior-дали проектно-специфичных вопросов про MapReduce в NoSQL. Этот подход логичен, формализуем и довольно прост, он позволяет быстро отсеять некомпетентных соискателей, пользуясь понятными количественными критериями (“Кандидат ответил на 6 из 10 вопросов, а у нас проходное значение 7 — до свидания”).
Ещё одним его плюсом является возможность кастомизации. Так, например, собеседующий может подготовить несколько вопросов сходной сложности и задать их, если соискатель сделает ошибку. Таким образом, можно нивелировать глупые промахи кандидата по невнимательности, дать ему возможность собраться и всё-таки показать себя.
Кроме того, разные специалисты компании-нанимателя могут задавать вопросы из различных тематических блоков, в рамках одной, двух, трёх, шести (привет, Яндекс!), а то и девяти (привет, Facebook!) последовательных встреч. Например, на вакансию пентестера, на которой требуются навыки реверса, один блок вопросов может быть посвящён исключительно анализу защищённости, другой — обратной разработке. Либо первый — анализу защищённости ПО, второй — исследованию безопасности веб-приложений, третий — пентесту АСУ ТП и так далее, в зависимости от того, насколько разносторонний и квалифицированный сотрудник необходим.
Вопросы, при желании, могут разбавляться тестовыми заданиями, предлагаемыми очно, очно-заочно (в skype) или на сколько-то дней на дом.
Собеседование «снизу вверх» обычно продолжается либо до границы необходимой компетентности, либо до момента, пока человек не начнёт ошибаться (так можно понять пределы его знаний и, например, соответствующим образом выставить зарплату).
Системные собеседования «сверху вниз»
Собеседования, построенные по принципу «сверху вниз», проводятся по аналогии с первой схемой, но с точностью до наоборот. Здесь вопросы ранжируются от сложного к простому, начиная с тех, на которые соискатель точно не ответит.
Такой подход быстрее всего отделяет профессионалов-агнцев от… менее квалифицированных кадров, не мучая первых вопросами из школьного курса, но одновременно давая понять, что зазнаваться им не стоит (вторые при этом уходят с собеседования в слезах).
Собеседования «сверху вниз» также выигрывают от подготовки нескольких вопросов одной сложности, которые задаются, наоборот, когда соискатель ответил на первый свой вопрос.
Конечно, такие собеседования являются более агрессивными и стрессовыми, нежели собеседования «снизу вверх», что делает их не особо подходящими для поиска стажёров-джуниоров, прекрасных дам и прочих лиц тонкой душевной организации.
Несистемные собеседования
Перечисленные варианты проведения собеседований решают общую задачу проверки уровня знаний претендентов на вакансию. Они, как и какой-нибудь ЕГЭ, неплохо подходят для статистического размежевания массы кандидатов, но не могут обеспечить полноценной оценки уровня знаний человека, тем более его практических навыков. Многие даже элементарные вещи высококвалифицированный специалист может просто не использовать в своей деятельности, а, следовательно, подзабыть. И, наоборот, какие-то даже сложные вопросы будет знать и студент, просто потому, что он их за неделю до того выучил к экзамену. Вот только из этого отнюдь не будет следовать, что первый соискатель плох, а второго надо отрывать с руками.
Системные методы подбора дают хорошее мат. ожидание на длинной дистанции, но могут стать причиной, по которой компания упустит конкретного специалиста завтра.
Пытается решить эту проблему второй, реже встречающийся класс собеседований, которые я бы условно назвал несистемными. Такие собеседования также можно разбить по типам.
Артефактный подход
Его идея в том, что, будучи специалистом по тому или иному направлению, человек не может не наткнуться на определённые сведения, информационные артефакты (при этом их практическая полезность не играет роли). Так линуксоиды, скорее всего, нечасто используют rm –rf, сишники не пишут код с конструкциями вида ++i + ++i, а знание команд brainfuck’а навряд ли вообще может быть полезным. И, тем не менее, незнание подобных вещей говорит о том, что человек, быть может, правда админит что-то или программирует, но делает это без любви, не расширяя кругозор, не тратя время на общение с коллегами и не пролистывая профильные СМИ. А стоит ли продолжать беседу с кандидатом, когда становится понятно, что он не открывает даже Хабр — вопрос, конечно, риторический. Такие знания, они как умение патчить KDE под FreeBSD среди отаку в соответствующих каналах — не то, что обязательны, но их отсутствие говорит о многом.
Базовый принцип артефактного подхода в том, что для проверки соответствия вакансии берётся не какой-то общий набор полезных для проекта знаний и проверяется будто на экзамене, а выборка фактов, которые соискатель вероятнее всего встречал, действительно работая по профессии в течение скольких-то лет.
А его прелесть в том, что он гораздо лучше позволяет искать людей «своего круга», кто не просто “прошёл материал”, а ознакомился с “дополнительной литературой”.
Как можно догадаться, артефактный подход столь же универсален, что и первые два, и вполне позволяют искать не только программистов, но и любых других специалистов. Допустим, собеседуя фармакологов, можно их спрашивать, чем в своё время прославился талидомид, что значит термин “black box warning”, какова LD50 монооксида дигидрогена и т.д.
Схема особенно хороша для первоначального скрининга кандидатов, и иногда используется крупными компаниями вроде Google (или, внезапно, АНБ), устраивающими мини-викторины, которые позволяют попасть на следующее собеседование.
Логика, логика, логика
И, вспомнив Google, нельзя не упомянуть ставший уже классическим способ проверки профессиональных навыков и здравого смысла, который иногда применяет эта, да и другие крупные компании. Речь о задачках про школьный автобус полный чикагских настройщиков пианино, который поместили в блендер с мячиками для гольфа закрытый сверху треугольной крышкой. Хорошее представление о них может дать книга «Как сдвинуть гору Фудзи? Подходы ведущих мировых компаний к поиску талантов», посвящённая практике использования логических задач на собеседованиях в Microsoft. Такими задачами собеседования никогда не исчерпывается, но их иногда спрашивают даже в отечественных компаниях. Особенно в рекрутинговых, где персонал читал указанную книгу…
В более широком смысле, в ту же категорию попадают и вопросы типа “Cкажите, как бы вы объяснили 9-летнему ребёнку, как работает поисковик Google?”, “Как вы реализовывали бы Tetris?”, “Какие сложности возникли бы у Netflix, если бы все их дата-центры располагались на Луне?”, “Как бы вы искали корреляцию между стабильностью любовных отношений на расстоянии и ценами на нефть?” и т.п.
Сын ошибок трудных
Задача собеседования — найти человека для выполнения определённой работы. Логично было бы при этом проверять опыт, необходимый для той самой работы, смотреть код, обсуждать старые проекты и т.п., но, нет, чаще всего тестируются знания, а не умения и навыки. Причём, нередко не те знания, которые реально понадобятся кандидату, а бесконечные обходы лесов красно-чёрных деревьев в ширину или подсчёт сложности о-малого от логарифма о-большого.
Звучит безумно глупо, хотя своя логика в этом есть: невозможно или, по крайней мере, весьма проблематично проверить тщательность и аккуратность тестировщика, системное
Немного помогает практика выдачи соискателям тестовых заданий, однако, даже в случае, когда это возможно, их решение напрямую в ходе собеседования проверяет не столько навыки, сколько стрессоустойчивость кандидата, а домашнее задание, скажем, написать программу — наличие у соискателя друзей-программистов.
Сами задания — хорошая идея, но, почему-то мало кому в голову приходит приблизить их к деятельности, которой на самом деле займётся будущий сотрудник. В описании вакансии есть что-то про командную работу? Так почему её и не проверить? Ведь это же не сложно, попросить соискателя в течение, положим, двух часов заняться чем-нибудь совместно с одним из штатных программистов. По аналогии, аналитику можно доверить составление обзора стиральных порошков, написание справки по заданной системе автоматического перевода или концептуальной схемы обхода валютного контроля при выводе криптовалюты за рубеж. И это много лучше протестирует его навыки Аналитика (с большой буквы), чем даже очень пристрастный допрос по требованиям ГОСТов и прочих НПА.
Более того, проверка опыта и навыков — вещь универсальная. На собеседовании в разведку можно просить, чтоб соискатель на следующую встречу пришёл с селфи с крыши посольства какого-нибудь Узбекистана и видео из главного офиса Mail.ru. Для прохождения собеседования на senior-специалиста, селфи должно быть сделано, соответственно, на фоне американского истребителя с какой-нибудь военной базы НАТО. Успех наглядно продемонстрирует все навыки, необходимые кандидату.
Одна волна
И под конец рассмотрим, пожалуй, самую несерьёзную методологию контроля уровня технической грамотности кандидатов — их можно выбирать по чувству юмора :)
Как именно? Например, так: мы просим соискателя- программиста немного посидеть в переговорке, где на столе лежит набор картинок с шутками на тему. А дальше смотрим реакцию, когда он их начнёт читать.
Улыбка не тронуло его лицо? Что ж, он не подходит.
В сухом остатке
Конечно, смотря на вопрос подбора с позиции компании, понимаешь, что каждая встреча с соискателем — это деньги, а день простоя на проекте без нужного специалиста — большие деньги. В такой ситуации всерьёз выбирать между системными и несистемными собеседованиями не приходится. Но каждый опытный эйчар знает, что, как и в покере, при поиске кандидатов необходимо варьировать игру, включая в классические собеседования те или иные экспериментальные элементы. Тут пошутить и посмотреть на реакцию, здесь поинтересоваться о том, как узнать вес реактивного самолёта, если нельзя положить его на весы, а там попросить в двух словах рассказать об RFC 2549 «IP over Avian Carriers». И, может быть, следующим попадёт в компанию не тот, кто лучше выучит гайд «300 вопросов, которые обычно задают на собеседованиях», а тот, кто правда впишется в команду и сделает это с блеском.
PS Ещё немного из понравившегося:
- «God is real, unless explicitly declared as integer»
- «C++ would make a decent teaching language if we could teach the ++ part without the C part»
- «How do you generate a random string? ... Put a web designer in front of VIM and tell him to save and exit.»
Автор: Wiseass