Пару недель назад я случайно открыл резюме всему интернету и прошел пару собеседований. Это навело меня на мысли о процессе отбора в целом.
В идеальном мире я бы хотел чтобы собеседование отнимало у меня как можно меньше времени. И мне нужно, чтобы я устраивался только в подходящие мне компании. Не хочется искать работу через месяц после выхода на предыдущую. Но как себя вести, чтобы добиться этого?
С другой стороны, мне может потребоваться собеседовать кандидата. И приоритеты у меня все те же. Я не хочу тратить много времени и мне необходимо избежать ситуаций с увольнением нового сотрудника по причине непригодности или по собственному желанию.
Держа в голове все вышесказанное, я начал анализировать процесс отбора кандидатов с обеих сторон. У меня в запасе был небольшой курс по теории игр, щепотка матстатистики и здравый смысл. А результаты — под катом.
В отборе персонала участвуют 2 стороны: кандидаты и компания.
Для начала, я бы хотел посмотреть на общие стратегии. Я назвал их честная и нечестная.
Честная стратегия кандидата — дать полную информацию о своих навыках и ожиданиях. Для компании — максимально подробно описать условия работы.
Под нечестными стратегиями мы подразумеваем сокрытие или искажение соответствующей информации.
Иногда я буду предлагать вам вопросы. Советую уделить 5 минут и самостоятельно попытаться на них ответить. Вы намного лучше усвоите информацию, если попробуете поработать с ней, а не просто прочитаете ответ. К тому же, вы можете прийти к другим выводам и написать их в комментариях.
Мой первый вопрос: Попробуйте представить, как будет выглядеть сочетание честного кандидата/нечестной компании, кто при этом останется в выигрыше, а кто проиграет и почему? Как будут развиваться события в каждом сочетании стратегий? Пар всего 4, это не займет много времени.
Давайте разбирать пары стратегий.
Честный кандидат/Честная компания
Самая скучная стратегия, зато с претензией на оптимальность. Если мы устроились — все хорошо, ибо все участники знали на что идут. Не устроились — тоже хорошо, потому что либо мы не подходили компании, либо она нам.
Честный кандидат/Нечестная компания
Этот вариант интересен тем, что с большой вероятностью приводит к проигрышу обеих сторон. Вы устроились на работу и тут выяснили, что свободный график нисколько не свободен, зп серая и т.д. Вы бежите из компании со всех ног. Ваши потери: время на собеседование, время проработанное в компании, и штраф -20 к боевому духу. Компания проиграла время, деньги и ей надо заново открывать вакансию.
Нечестный кандидат/Честная компания
Еще один интересный вариант. В отличии от предыдущего, где нечестный игрок проигрывал — ушлый кандидат может остаться в выигрыше! Проигрыш компании очевиден: она взяла человека, который по каким-то характеристикам ее не устраивает. Не факт, что человек будет совсем плох. Но вы, как наниматель, ожидали другого и платили деньги за ожидания, которые не оправдались. В худшем случае человек не сможет справляться со своей работой и вам придется его увольнять. А трудовой кодекс в этом случае находится на стороне кандидата.
А что с нечестным кандидатом? Он мог как выиграть, так и проиграть. Его взяли, возможно, на большую ставку, чем при честной игре. Но есть риск увольнения.
Итого: +деньги, +работа, -нервы, -риск быть уволеным. Эти минусы — повод серьезно подумать. Для простоты будем считать, что кандидат выигрывает.
Нечестный кандидат/Нечестная компания
Я не буду серьезно рассматривать вариант, когда компания и кандидат так удачно нашли друг друга. Скажу лишь, что правило «минус на минус дает плюс» почти не имеет шанса сработать. Компания скорее всего будет скрывать условия труда, тогда как кандидат будет стараться набить цену. В результате, и привравший кандидат и приукрасившая компания будут испытывать острую боль в месте соприкосновения кресла и туловища.
Прежде чем подвести итоги, давайте сведем все в маленькую табличку, по такому правилу:
Если игрок (кандидат или компания) — в выигрыше — запишем 1. Проигравшему запишем -1.
Что можно заметить? Кажется, компании не выгодно врать кандидату. Или говоря языком теории игр — стратегия честной игры для компании является доминирующей. Слабо доминирующей, поскольку у компании есть риск проиграть при нечестной игре кандидата.
Я не отрицаю, что могут найтись случаи, когда кандидат не увольнялся после нахождения каких-то недостатков на новой работе. Но не проще ли просто упомянуть об этих недостатках заранее? Так вы уменьшаете вероятность неприятного развития событий.
С кандидатом все интереснее. Он может выбрать как первую, так и вторую стратегию. Его проигрыш или выигрыш зависит только от стратегии компании. Различия между вариантами приукрасить или нет наша модель уже не описывает. Пожалуй, на эту тему можно написать отдельную статью.
Пока что запомним, что набирая персонал нам нужно учитывать привирающих кандидатов.
Что представляет собой собеседование? По сути, это фильтр. На вход поступают кандидаты, компания их отсеивает. Прошедший получает оффер. Со стороны кандидата ситуация выглядит аналогично — на вход ему поступают предложения, он фильтрует их и делает выбор из тех, что ему понравятся.
Эти фильтры работают с ошибками.
Компания или кандидат могут пройти фильтр, хотя не подходят под наши критерии отбора. Это так называемая ошибка первого рода. Мы тестировали гипотезу «Мы хотим работать с X» и получили ложноположительный результат.
С другой стороны, фильтр может отсеять тех, с кем мы могли бы успешно работать. Этот случай называется ошибкой второго рода, или ложноотрицательным срабатыванием.
Интуитивно понятно, что взять не того человека в команду или устроиться не в ту компанию — намного хуже, чем случайно отсеять устраивающего кандидата.
Этим пользуются крупные компании с бесконечным потоком желающих. Логика простая — более жесткий отбор, меньше ошибок первого рода. А ложноотрицательные результаты собеседования компенсируются большим их количеством.
Можно ли считать такой подход оптимальным? Как сформулировать задачу оптимизации собеседования?
Да, вы не ошиблись, это еще один вопрос для размышлений. Попробуйте сформулировать в чем состоит цель собеседования. Подумайте так же о том, что для достижения этой цели можно выбрать много разных подходов. Представьте, что я пришел к вам, с несколькими вариантами процесса собеседования. Как бы вы выбирали лучший?
Я поставил эту задачу так:
Задача собеседования:
Для компании: найти кандидата удовлетворяющего какому-то набору параметров. О конкретных параметрах мы поговорим чуть позже. Для кандидата — аналогично. Надо найти подходящую компанию.
Критерием оценки собеседования будет его стоимость. Можно измерить ее в часах, можно сконвертировать в вечнозеленых президентов. Наша задача со стороны компании — из всех вариантов собеседования выбрать тот, который даст нам нужного кандидата по наименьшей цене. Со стороны кандидата — проходить собеседования так, чтобы устроиться в подходящую компанию потратив минимум времени.
Наш следующий вопрос: Как оценить стоимость процесса отбора?
Да, тут тоже можно остановиться и подумать.
Все довольно просто.
Если вы ищете работу — все время, что вы потратили на поиск работы, включая неудачные попытки — это цена вашего трудоустройства. Составление резюме, поиск информации о компании, неудачные собеседования. Если вы устроились не в ту компанию — все потерянное в ней время и поиск новой работы. Да, ошибка первого рода — очень дорогая ошибка.
Если вы ищете сотрудника — это все ваши издержки на его поиск. Это стоимость всех собеседований которые вы провели прежде чем нанять нужного кандидата. И разумеется, стоимость ошибочно взятых кандидатов. Я не буду рассуждать о том, сколько стоит нанять не того сотрудника. У меня нет такой информации. Но я бы хотел сделать небольшую ремарку по поводу ошибок второго рода, когда вы отсеяли кандидатов которые бы вам подошли.
Предположим, у вас прошло интервью 20 кандидатов, одного вы наняли. Интервью длилось в среднем 2 часа, в нем участвовало 3 специалиста. Цена этого кандидата — 120 часов времени ваших работников. Это время, в которое они не решали задачи, приносящие прибыль напрямую. При этом оно было оплачено. Если у вас бодишоп — вы заплатили: 120*(почасовая ставка разработчика + почасовая ставка за разработчика, которая была вашей прибылью).
А теперь представим, что среди этих 20 кандидатов подходил не 1, а 5. Просто только один из этих пяти прошел через ваш слишком строгий отбор. Для простоты предположим, что вы сразу берете подходящего кандидата. Вам не повезло, что он был двадцатым. Будем играть честно — этот кандидат мог прийти первым и вы бы его взяли. Можете прикинуть сколько времени потребовалось бы на отбор 1 кандидата в среднем? А если подходящих на самом деле 5/20? Сколько времени вы потратили из-за ошибок второго рода?
Но не будем впадать в крайности. Предположим, вы немного улучшили процесс. Теперь из 5 кандидатов вы напрасно отсеиваете не четырех, а трех. Теперь вам подойдут в среднем 2 кандидата из 20. Предположите, сколько времени вам сэкономит это маленькое улучшение?
В общем, устраивать сверхжесткий отбор с большим количеством ложноотрицательных результатов — очень дорого. И даже небольшая оптимизация вашего собеседования может сэкономить кучу времени. Но как оптимизировать?
Мы далеко не первые люди, которые столкнулись с проблемой ошибок первого и второго рода.
Аналогичная ситуация встречается в медицине. Вы хотите проверить группу людей на какое-то заболевание. Но есть проблема — тест долгий и дорогой. Что делать? Для этого ввели предварительный этап — он называется скринингом. На этом этапе мы делаем дешевый тест, который имеет большую вероятность сработать ложноположительно и выдать результат «болен» здоровому человеку. Если такое случилось — мы делаем следующий, более дорогой тест, который дает более точный результат.
Ничего не напоминает? Сначала вы созваниваетесь с HR, затем проходите техническое интервью, затем вас встречает руководитель отдела. Некоторые компании перед техническим интервью дают решить простую задачку в режиме live-coding.
Все этапы до технического интервью — это аналог скрининга в медицине. Дешевый способ отсеять кандидатов, которых не имеет смысла тестировать.
Надеюсь, теперь вы лучше понимаете смысл всех этих «переверни связный список».
Описанное выше — частный случай концепции Fail Fast. Вместо того, чтобы тратить много времени на вариант, который вам не подойдет, разумнее провести быструю проверку и заранее отсеять бесперспективные варианты. И не важно кто вы в этой игре — собеседуемый или собеседующий.
Если вы ищете работу — потратьте 5 минут и составьте чек-лист для компании. Разделите его на пару категорий, например организационную и техническую. Часть этого списка можно вынести в резюме. Когда вам позвонит HR — проверьте организационную часть. Когда придете на интервью — проверьте техническую. Это касается даже кандидатов которые решили немного мухлевать и приукрашивать свои навыки. У вас все равно есть некие требования к компании, и вам же лучше о них знать)
Приведу пример моего списка, вдруг кому-нибудь пригодится.
Если вы ищете кандидата — сделайте тоже самое! Напишите что вам точно не подходит. И проверьте это как можно раньше, а лучше вынесите этот список в вакансию. Да, я знаю что зарплату не пишут по политическим причинам. Но зарплата — это далеко не все. Мне вот интересно, может ли у вас работать студент-заочник? Свободный график — это какой? Вам ок, если я приду в час? Вы указали глубокие знания Java — что вы имели ввиду? Я понял, что для вас это важный критерий. У вас вакансия называется Java Developer. Но что вы хотите? Чтобы человек знал все методы класса Object? (Да, это реальный вопрос с собеседования)
Подумайте полчасика над вакансией и вы сэкономите себе часы, которые потратили на неудачные собеседования, только потому что кандидат вас не так понял.
А еще вы можете вспомнить особенности конкретного проекта. Общение с иностранным заказчиком и разговорный английский. Многопоточность. Библиотеки и фреймворки. Билд системы. Предметная область.
Каковы задачи вашего отдела? Чем будет заниматься человек, которого вы ищете? Кто конкретно вам нужен? По собеседованиям складывается впечатление, что все ищут одного и того же разработчика. А вакансии вообще выглядят так, будто их генерируют автоматически.
Лучшее, что вы можете сделать для кандидата который вам не подходит и для себя — отфильтровать такого кандидата на этапе чтения вакансии.
Падайте быстро и не тратьте время зря.
Мы выяснили что с точки зрения компании обманывать кандидата невыгодно (Если вы не планируете отжать у кого нибудь из бывших сотрудников полмиллиарда долларов). А вот кандидату может быть выгодно приукрасить.
Прошлись по ошибкам первого и второго рода при собеседованиях. Выяснили что они дорого обходятся. Поняли, что максимально жесткий отбор — не всегда оптимальная стратегия.
Посмотрели на Fail Fast подход. Он позволяет тратить меньше времени на заранее бесперспективные варианты. Для того чтобы его использовать нам нужно ответить на вопрос — что нам точно не подходит? И использовать полученный ответ в качестве быстрого фильтра для отбора компаний/кандидатов.
Это была обзорная статья.
У меня все еще много вопросов:
Какой поход мне использовать как кандидату? Приврать о своих навыках или честно все выложить?
Как составить резюме? Как составить вакансию?
На сколько этапов разбить собеседование? Какие это этапы?
Правда ли, что вопросы из списка «100 вопросов для собеседований» — бесполезны, и говорят лишь о том, читал ли кандидат этот список перед интервью? И если да, то что тогда спрашивать?
По некоторым из них у уже меня есть идеи, но поля этого сайта слишком узки… В общем — это будет в следующей серии.
P.S.
Эту статью я писал за пару дней. Было бы глупо потратить на нее кучу времени и узнать что тема не интересна. Да, да Fail Fast. В следующей статье я могу исправить какие-то недочеты. Сделать ее менее объемной. Или наоборот, впихнуть побольше. Или избавиться от вычислений. Внизу есть опросы, буду рад если вы на них ответите.
В идеальном мире я бы хотел чтобы собеседование отнимало у меня как можно меньше времени. И мне нужно, чтобы я устраивался только в подходящие мне компании. Не хочется искать работу через месяц после выхода на предыдущую. Но как себя вести, чтобы добиться этого?
С другой стороны, мне может потребоваться собеседовать кандидата. И приоритеты у меня все те же. Я не хочу тратить много времени и мне необходимо избежать ситуаций с увольнением нового сотрудника по причине непригодности или по собственному желанию.
Держа в голове все вышесказанное, я начал анализировать процесс отбора кандидатов с обеих сторон. У меня в запасе был небольшой курс по теории игр, щепотка матстатистики и здравый смысл. А результаты — под катом.
Обзор стратегий
В отборе персонала участвуют 2 стороны: кандидаты и компания.
Для начала, я бы хотел посмотреть на общие стратегии. Я назвал их честная и нечестная.
Честная стратегия кандидата — дать полную информацию о своих навыках и ожиданиях. Для компании — максимально подробно описать условия работы.
Под нечестными стратегиями мы подразумеваем сокрытие или искажение соответствующей информации.
Иногда я буду предлагать вам вопросы. Советую уделить 5 минут и самостоятельно попытаться на них ответить. Вы намного лучше усвоите информацию, если попробуете поработать с ней, а не просто прочитаете ответ. К тому же, вы можете прийти к другим выводам и написать их в комментариях.
Мой первый вопрос: Попробуйте представить, как будет выглядеть сочетание честного кандидата/нечестной компании, кто при этом останется в выигрыше, а кто проиграет и почему? Как будут развиваться события в каждом сочетании стратегий? Пар всего 4, это не займет много времени.
Давайте разбирать пары стратегий.
Честный кандидат/Честная компания
Самая скучная стратегия, зато с претензией на оптимальность. Если мы устроились — все хорошо, ибо все участники знали на что идут. Не устроились — тоже хорошо, потому что либо мы не подходили компании, либо она нам.
Честный кандидат/Нечестная компания
Этот вариант интересен тем, что с большой вероятностью приводит к проигрышу обеих сторон. Вы устроились на работу и тут выяснили, что свободный график нисколько не свободен, зп серая и т.д. Вы бежите из компании со всех ног. Ваши потери: время на собеседование, время проработанное в компании, и штраф -20 к боевому духу. Компания проиграла время, деньги и ей надо заново открывать вакансию.
Нечестный кандидат/Честная компания
Еще один интересный вариант. В отличии от предыдущего, где нечестный игрок проигрывал — ушлый кандидат может остаться в выигрыше! Проигрыш компании очевиден: она взяла человека, который по каким-то характеристикам ее не устраивает. Не факт, что человек будет совсем плох. Но вы, как наниматель, ожидали другого и платили деньги за ожидания, которые не оправдались. В худшем случае человек не сможет справляться со своей работой и вам придется его увольнять. А трудовой кодекс в этом случае находится на стороне кандидата.
А что с нечестным кандидатом? Он мог как выиграть, так и проиграть. Его взяли, возможно, на большую ставку, чем при честной игре. Но есть риск увольнения.
Итого: +деньги, +работа, -нервы, -риск быть уволеным. Эти минусы — повод серьезно подумать. Для простоты будем считать, что кандидат выигрывает.
Нечестный кандидат/Нечестная компания
Я не буду серьезно рассматривать вариант, когда компания и кандидат так удачно нашли друг друга. Скажу лишь, что правило «минус на минус дает плюс» почти не имеет шанса сработать. Компания скорее всего будет скрывать условия труда, тогда как кандидат будет стараться набить цену. В результате, и привравший кандидат и приукрасившая компания будут испытывать острую боль в месте соприкосновения кресла и туловища.
Прежде чем подвести итоги, давайте сведем все в маленькую табличку, по такому правилу:
Если игрок (кандидат или компания) — в выигрыше — запишем 1. Проигравшему запишем -1.
В комментариях пришло отличное альтернативное рассуждение!
Вкратце, есть два пойнта которые я не учел:
1. Компанию может не интересовать игра в долгую. В этом случае стратегия обмана сотрудника с манипуляцией им будет намного привлекательней.
2. Обман со стороны сотрудника или компании можно рассматривать как приносящий выгоду обманувшей стороне и проигрыш обманутой стороны. И тогда мы получаем классическую дилемму заключенного. Обеим сторонам выгоднее обмануть, независимо от того, как поступит другая сторона. Но при этом обоюдный обман ведет к обоюдному проигрышу.
Сам комментарий:
habr.com/ru/post/479832/#comment_21001716
1. Компанию может не интересовать игра в долгую. В этом случае стратегия обмана сотрудника с манипуляцией им будет намного привлекательней.
2. Обман со стороны сотрудника или компании можно рассматривать как приносящий выгоду обманувшей стороне и проигрыш обманутой стороны. И тогда мы получаем классическую дилемму заключенного. Обеим сторонам выгоднее обмануть, независимо от того, как поступит другая сторона. Но при этом обоюдный обман ведет к обоюдному проигрышу.
Сам комментарий:
habr.com/ru/post/479832/#comment_21001716
Что можно заметить? Кажется, компании не выгодно врать кандидату. Или говоря языком теории игр — стратегия честной игры для компании является доминирующей. Слабо доминирующей, поскольку у компании есть риск проиграть при нечестной игре кандидата.
Я не отрицаю, что могут найтись случаи, когда кандидат не увольнялся после нахождения каких-то недостатков на новой работе. Но не проще ли просто упомянуть об этих недостатках заранее? Так вы уменьшаете вероятность неприятного развития событий.
С кандидатом все интереснее. Он может выбрать как первую, так и вторую стратегию. Его проигрыш или выигрыш зависит только от стратегии компании. Различия между вариантами приукрасить или нет наша модель уже не описывает. Пожалуй, на эту тему можно написать отдельную статью.
Пока что запомним, что набирая персонал нам нужно учитывать привирающих кандидатов.
Цена ошибки
Что представляет собой собеседование? По сути, это фильтр. На вход поступают кандидаты, компания их отсеивает. Прошедший получает оффер. Со стороны кандидата ситуация выглядит аналогично — на вход ему поступают предложения, он фильтрует их и делает выбор из тех, что ему понравятся.
Эти фильтры работают с ошибками.
Компания или кандидат могут пройти фильтр, хотя не подходят под наши критерии отбора. Это так называемая ошибка первого рода. Мы тестировали гипотезу «Мы хотим работать с X» и получили ложноположительный результат.
С другой стороны, фильтр может отсеять тех, с кем мы могли бы успешно работать. Этот случай называется ошибкой второго рода, или ложноотрицательным срабатыванием.
Интуитивно понятно, что взять не того человека в команду или устроиться не в ту компанию — намного хуже, чем случайно отсеять устраивающего кандидата.
Этим пользуются крупные компании с бесконечным потоком желающих. Логика простая — более жесткий отбор, меньше ошибок первого рода. А ложноотрицательные результаты собеседования компенсируются большим их количеством.
Можно ли считать такой подход оптимальным? Как сформулировать задачу оптимизации собеседования?
Да, вы не ошиблись, это еще один вопрос для размышлений. Попробуйте сформулировать в чем состоит цель собеседования. Подумайте так же о том, что для достижения этой цели можно выбрать много разных подходов. Представьте, что я пришел к вам, с несколькими вариантами процесса собеседования. Как бы вы выбирали лучший?
Я поставил эту задачу так:
Задача собеседования:
Для компании: найти кандидата удовлетворяющего какому-то набору параметров. О конкретных параметрах мы поговорим чуть позже. Для кандидата — аналогично. Надо найти подходящую компанию.
Критерием оценки собеседования будет его стоимость. Можно измерить ее в часах, можно сконвертировать в вечнозеленых президентов. Наша задача со стороны компании — из всех вариантов собеседования выбрать тот, который даст нам нужного кандидата по наименьшей цене. Со стороны кандидата — проходить собеседования так, чтобы устроиться в подходящую компанию потратив минимум времени.
Наш следующий вопрос: Как оценить стоимость процесса отбора?
Да, тут тоже можно остановиться и подумать.
Все довольно просто.
Если вы ищете работу — все время, что вы потратили на поиск работы, включая неудачные попытки — это цена вашего трудоустройства. Составление резюме, поиск информации о компании, неудачные собеседования. Если вы устроились не в ту компанию — все потерянное в ней время и поиск новой работы. Да, ошибка первого рода — очень дорогая ошибка.
Если вы ищете сотрудника — это все ваши издержки на его поиск. Это стоимость всех собеседований которые вы провели прежде чем нанять нужного кандидата. И разумеется, стоимость ошибочно взятых кандидатов. Я не буду рассуждать о том, сколько стоит нанять не того сотрудника. У меня нет такой информации. Но я бы хотел сделать небольшую ремарку по поводу ошибок второго рода, когда вы отсеяли кандидатов которые бы вам подошли.
Предположим, у вас прошло интервью 20 кандидатов, одного вы наняли. Интервью длилось в среднем 2 часа, в нем участвовало 3 специалиста. Цена этого кандидата — 120 часов времени ваших работников. Это время, в которое они не решали задачи, приносящие прибыль напрямую. При этом оно было оплачено. Если у вас бодишоп — вы заплатили: 120*(почасовая ставка разработчика + почасовая ставка за разработчика, которая была вашей прибылью).
А теперь представим, что среди этих 20 кандидатов подходил не 1, а 5. Просто только один из этих пяти прошел через ваш слишком строгий отбор. Для простоты предположим, что вы сразу берете подходящего кандидата. Вам не повезло, что он был двадцатым. Будем играть честно — этот кандидат мог прийти первым и вы бы его взяли. Можете прикинуть сколько времени потребовалось бы на отбор 1 кандидата в среднем? А если подходящих на самом деле 5/20? Сколько времени вы потратили из-за ошибок второго рода?
Ответ
Если ваш процесс отсеял четырех нормальных кандидатов — вы потратите в среднем 63 часа.
Если вы оптимизировали собеседование и избавили от ложноотрицательных результатов — среднее время составит 21 час.
Разница в 3 раза. Неплохо, да?
Рассуждать можно так: 6 человеко-часов мы потратим точно. Нам нужно минимум одно собеседование. Вероятность что человек его пройдет — 5/20. Значит, с вероятностью 1 — 5/20 нам потребуется следующее 6 часовое собеседование. Прибавим к 6 часам 6*15/20 = 4.5 часа — это ожидаемое время на втором шаге. Вероятность найти кандидата на втором шаге — 5/20 + (15/20 * 5/19) = 45%. Значит вероятность того, что нам потребуется следующее собеседование 1 — (5/20 + (15/20 * 5/19)) = 55%.
На третьем шаге у нас с вероятностью 45% уже есть кандидат. Значит в среднем мы потратим 0.55*6 = 3.3 часа здесь.
Как видите, на каждом шаге вероятность что кандидат уже найден — увеличивается, а значит уменьшается вероятность что мы до этого шага дойдем, и следовательно среднее время потраченное на него.
Если вы оптимизировали собеседование и избавили от ложноотрицательных результатов — среднее время составит 21 час.
Разница в 3 раза. Неплохо, да?
Рассуждать можно так: 6 человеко-часов мы потратим точно. Нам нужно минимум одно собеседование. Вероятность что человек его пройдет — 5/20. Значит, с вероятностью 1 — 5/20 нам потребуется следующее 6 часовое собеседование. Прибавим к 6 часам 6*15/20 = 4.5 часа — это ожидаемое время на втором шаге. Вероятность найти кандидата на втором шаге — 5/20 + (15/20 * 5/19) = 45%. Значит вероятность того, что нам потребуется следующее собеседование 1 — (5/20 + (15/20 * 5/19)) = 55%.
На третьем шаге у нас с вероятностью 45% уже есть кандидат. Значит в среднем мы потратим 0.55*6 = 3.3 часа здесь.
Как видите, на каждом шаге вероятность что кандидат уже найден — увеличивается, а значит уменьшается вероятность что мы до этого шага дойдем, и следовательно среднее время потраченное на него.
Но не будем впадать в крайности. Предположим, вы немного улучшили процесс. Теперь из 5 кандидатов вы напрасно отсеиваете не четырех, а трех. Теперь вам подойдут в среднем 2 кандидата из 20. Предположите, сколько времени вам сэкономит это маленькое улучшение?
Ответ
21 час. Серьезно, если вы сделали так, что ложноотрицательное срабатывание затронуло 3 кандидатов из 5 а не 4, вы потратите в среднем 42 часа, т.е. на 21 час меньше.
В общем, устраивать сверхжесткий отбор с большим количеством ложноотрицательных результатов — очень дорого. И даже небольшая оптимизация вашего собеседования может сэкономить кучу времени. Но как оптимизировать?
Fail Fast
Мы далеко не первые люди, которые столкнулись с проблемой ошибок первого и второго рода.
Аналогичная ситуация встречается в медицине. Вы хотите проверить группу людей на какое-то заболевание. Но есть проблема — тест долгий и дорогой. Что делать? Для этого ввели предварительный этап — он называется скринингом. На этом этапе мы делаем дешевый тест, который имеет большую вероятность сработать ложноположительно и выдать результат «болен» здоровому человеку. Если такое случилось — мы делаем следующий, более дорогой тест, который дает более точный результат.
Ничего не напоминает? Сначала вы созваниваетесь с HR, затем проходите техническое интервью, затем вас встречает руководитель отдела. Некоторые компании перед техническим интервью дают решить простую задачку в режиме live-coding.
Все этапы до технического интервью — это аналог скрининга в медицине. Дешевый способ отсеять кандидатов, которых не имеет смысла тестировать.
Надеюсь, теперь вы лучше понимаете смысл всех этих «переверни связный список».
Описанное выше — частный случай концепции Fail Fast. Вместо того, чтобы тратить много времени на вариант, который вам не подойдет, разумнее провести быструю проверку и заранее отсеять бесперспективные варианты. И не важно кто вы в этой игре — собеседуемый или собеседующий.
Если вы ищете работу — потратьте 5 минут и составьте чек-лист для компании. Разделите его на пару категорий, например организационную и техническую. Часть этого списка можно вынести в резюме. Когда вам позвонит HR — проверьте организационную часть. Когда придете на интервью — проверьте техническую. Это касается даже кандидатов которые решили немного мухлевать и приукрашивать свои навыки. У вас все равно есть некие требования к компании, и вам же лучше о них знать)
Приведу пример моего списка, вдруг кому-нибудь пригодится.
Мой список
Организация:
Учебный отпуск — я учусь на заочном и занят в январе и июне.
Свободный график — ночами я пишу статьи на хабр, и вы не увидите меня в 9 на работе.
Стандартный компенсационный пакет IT компании — печенье, дмс, обеды — вот это все.
Зарплата от… — обычно я не озвучиваю число, а спрашиваю вилку и сравниваю.
Я не буду тратить время на объемное тестовое задание.
Техническая часть:
Я знаю Android и Java.
Я хочу работать c IOS.
Я не умею в суровую многопоточку. Но про дедлоки и лайвлоки в курсе.
Мне нужен простор для работы. Я не хочу только кодить. Я хочу оптимизировать! Не важно что: Сборку проекта, коммуникации в команде, собеседования…
Учебный отпуск — я учусь на заочном и занят в январе и июне.
Свободный график — ночами я пишу статьи на хабр, и вы не увидите меня в 9 на работе.
Стандартный компенсационный пакет IT компании — печенье, дмс, обеды — вот это все.
Зарплата от… — обычно я не озвучиваю число, а спрашиваю вилку и сравниваю.
Я не буду тратить время на объемное тестовое задание.
Техническая часть:
Я знаю Android и Java.
Я хочу работать c IOS.
Я не умею в суровую многопоточку. Но про дедлоки и лайвлоки в курсе.
Мне нужен простор для работы. Я не хочу только кодить. Я хочу оптимизировать! Не важно что: Сборку проекта, коммуникации в команде, собеседования…
Если вы ищете кандидата — сделайте тоже самое! Напишите что вам точно не подходит. И проверьте это как можно раньше, а лучше вынесите этот список в вакансию. Да, я знаю что зарплату не пишут по политическим причинам. Но зарплата — это далеко не все. Мне вот интересно, может ли у вас работать студент-заочник? Свободный график — это какой? Вам ок, если я приду в час? Вы указали глубокие знания Java — что вы имели ввиду? Я понял, что для вас это важный критерий. У вас вакансия называется Java Developer. Но что вы хотите? Чтобы человек знал все методы класса Object? (Да, это реальный вопрос с собеседования)
Подумайте полчасика над вакансией и вы сэкономите себе часы, которые потратили на неудачные собеседования, только потому что кандидат вас не так понял.
А еще вы можете вспомнить особенности конкретного проекта. Общение с иностранным заказчиком и разговорный английский. Многопоточность. Библиотеки и фреймворки. Билд системы. Предметная область.
Каковы задачи вашего отдела? Чем будет заниматься человек, которого вы ищете? Кто конкретно вам нужен? По собеседованиям складывается впечатление, что все ищут одного и того же разработчика. А вакансии вообще выглядят так, будто их генерируют автоматически.
Лучшее, что вы можете сделать для кандидата который вам не подходит и для себя — отфильтровать такого кандидата на этапе чтения вакансии.
Падайте быстро и не тратьте время зря.
Conclusion
Мы выяснили что с точки зрения компании обманывать кандидата невыгодно (Если вы не планируете отжать у кого нибудь из бывших сотрудников полмиллиарда долларов). А вот кандидату может быть выгодно приукрасить.
Прошлись по ошибкам первого и второго рода при собеседованиях. Выяснили что они дорого обходятся. Поняли, что максимально жесткий отбор — не всегда оптимальная стратегия.
Посмотрели на Fail Fast подход. Он позволяет тратить меньше времени на заранее бесперспективные варианты. Для того чтобы его использовать нам нужно ответить на вопрос — что нам точно не подходит? И использовать полученный ответ в качестве быстрого фильтра для отбора компаний/кандидатов.
Это была обзорная статья.
У меня все еще много вопросов:
Какой поход мне использовать как кандидату? Приврать о своих навыках или честно все выложить?
Как составить резюме? Как составить вакансию?
На сколько этапов разбить собеседование? Какие это этапы?
Правда ли, что вопросы из списка «100 вопросов для собеседований» — бесполезны, и говорят лишь о том, читал ли кандидат этот список перед интервью? И если да, то что тогда спрашивать?
По некоторым из них у уже меня есть идеи, но поля этого сайта слишком узки… В общем — это будет в следующей серии.
P.S.
Эту статью я писал за пару дней. Было бы глупо потратить на нее кучу времени и узнать что тема не интересна. Да, да Fail Fast. В следующей статье я могу исправить какие-то недочеты. Сделать ее менее объемной. Или наоборот, впихнуть побольше. Или избавиться от вычислений. Внизу есть опросы, буду рад если вы на них ответите.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Длина статьи
17.22% Слишком длинная статья.31
3.33% Слишком короткая статья.6
79.44% Нормальная по объему статья.143
Проголосовали 180 пользователей. Воздержались 24 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Уровень детализации
11.11% Слишком много деталей. Поменьше вычислений и объемных примеров/аналогий.16
16.67% Слишком мало деталей. Больше примеров, больше математики!24
72.22% Уровень детализации мне комфортен.104
Проголосовали 144 пользователя. Воздержались 30 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Что вы хотите увидеть в следующей серии
54.3% Детальный разбор собеседования от резюме до оффера. (Возможно, серия статей)82
11.92% Вопрос про «честную» и «нечестную» стратегию кандидата.18
26.49% Реши сам.40
0% Написал в комментариях0
7.28% Не хочу читать следующую статью.11
Проголосовал 151 пользователь. Воздержались 24 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Альтернативное голосование
44.52% Мне понравилась статья.69
33.55% В целом понравилось, но есть недочеты.52
17.42% Средненько.27
4.52% Не понравилось.7
Проголосовали 155 пользователей. Воздержались 22 пользователя.