Как должно выглядеть идеальное собеседование?

 Публичный пост

Вопрос навеян другим вопросом "Почему собеседования в айти такие душные?" (https://vas3k.club/question/11093/) - ну, на самом деле десятки подобных, особенно на хабре или ebanoe.it

Хотел сперва ответить комментарием в пост, а потом немного задумался:

  1. С одной стороны тема похожа на нытье (субъективное мнение автора после неудачного собеса)
  2. С другой стороны, раз таких тем много, значит "плохих" собеседований правда много
  3. "Плохие" собеседование обычно довольно шаблонные (например, 7 кругов ада с алгоритмами, или квизы по знанию SOLID), однако их распространенность показывает то, что не все считают их "плохими"
  4. Возможно даже, что "плохие" интервьюеры считают свои собеседования "хорошими" (интервью, которые я сам провожу, считаю практически идеальными, лол)

Так вот, а что для Вас является "идеальным интервью"? (поставьте себя одновременно и на место интервьюера, и на место интервьюируемого)

  • Алгоритмы? Живое ковыряние кода проекта, в который идет кандидат? Другие варианты проверки скилла кодинга? Или они вообще не нужны?
  • Вайтбординг в переговорке? live-coding онлайн? Или посиделки в баре с разговорами об опыте?
  • Все вместе? В каких пропорциях и какой продолжительности?
  • Нужно ли вам второе мнение? А может и 7 сессий по 3 часа для кандидата - вполне ок? Или достаточно понять, что человек хоть что-то вдупляет, а покажет все испытательный срок?
  • Какой именно опыт кандидата интересует и почему? Так ли нужен конкретно этот опыт для найма, или кандидат сможет получить его и по ходу работы?
  • Стоит ли тратить время интервью на описание рабочих процессов и стандартных задач? Если да, то сколько времени? Или все это можно обсудить с успешными кандидатами впоследствии?
  • Ну и напоследок, уверены ли Вы, что наняли бы самого себя? А себя самого 5-10 лет назад? Да и пошли бы Вы к себе работать после такого интервью? =)
Связанные посты
47 комментариев 👇
Дима Табакеров художник-программист 19 июля 2021

Собеседование должно соответствовать той работе, которую предстоит выполнять:

  • собеседование в банк будет радикально отличаться от собеседования в модный стартап и это все не будет похоже на собеседование в ауторс-галеру
  • если планируется копаться в кишках линукса и каждый бит/секунду важен - тут и вопросы про кишки линукса, роутинг пакетов на уровне транзисторов, "опишите что происходит, когда в браузере набираешь google.com"...
  • если пилим формочки в своём огромном энтерпрайзе - что как в каком фреймворке работает, паттерны всякие
  • если в течение рабочего дня все бегают выпучив глазки и смешно размахивая ручками и каждому может случиться любая задача в произвольный момент времени - тут всякие поведенческие вопросы, "расскажите, как вы проявили свою integrity, когда вы ехали на рынок за овощами, а в троллейбусе спустило колесо?"

А ещё лучше просто дать побыть в течение дня (или хотя бы пары часов) в рабочей атмосфере

  Развернуть 1 комментарий

@azazeo, разумеется, все зависит от должности и проекта, но какие-то базовые штуки везде более менее похожи, хотя бы структура собеседования может совпадать

Но интересны детали, на что люди обращают внимание, будучи с обеих сторон

Ну вот, например, почему и чем должны отличаться собеседования в банк, галеру, стартап и условный гугл?)

Мне кажется, что конкретно я везде бы обращал внимание на одни и те же моменты и вел бы интервью (если бы у меня была свобода выбора в этом вопросе, разумеется) по одной структуре:

  1. Приветствие, рассказ о том, чего кандидата ждёт в следующие пару часов
  2. Полчаса рассказа о компании, проекте, процессах, ответы на вопросы
  3. Полчаса рассказа кандидата о себе, опыте, мотивации, мои вопросы
  4. Простая задачка на кодинг (15-30 минут)
  5. Абстрактная задача на архитектуру (30-45 минут)
  6. Саммари и короткий фидбек с двух сторон

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

  Развернуть 1 комментарий

@aallagulov

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

потому что это совершенно разные по сути работы, и программирование в них как картофель - он есть и в драниках, и в пирожках с картошкой и в супе - но от этого эти блюда похожими друг на друга не становятся. А бывает ещё геймдев! Или безопасность, встроенные системы... В тех же галерах бывают ситуации, когда человека берут на уже идущий проект и там хоть как-то понятно, куда вести беседу. Но иногда берут просто в штат, а чем ему по итогу придётся занимать, какой проект придёт и будет ли там возможность раскрыть свои сильные стороны - лотерея. Я так пришёл на галеру как питонист, а по итогу полгода писал на JS интерфейсы для десктопного приложения. А потом хранимки в Постгрессе... А потом для мобильников на Windows Phone...

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

  Развернуть 1 комментарий

@azazeo,

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

ну, тут можно идти от обратного - если на процесс огромное количество жалоб (я практически не встречал статей о том, как кому-то понравилось интервью куда-то, а обратных - полно) - значит его и стоит править
особенно в IT, где самое дорогое - человеческие ресурсы

и программирование в них как картофель

я бы сравнил программирование с копанием ям, скорее) и не важно, для чего ты копаешь яму - навыки нужны примерно те же самые! ну кто-то умеет поглубже копать, кто-то пошире, кто-то поглубже (и знает различия в породах), однако суть везде одна - берешь лопату-совок-экскаватор и копаешь =)

да, разумеется, есть связные профессии, типа ИБ или админства, но их суть, кмк везде тоже примерно похожа

  Развернуть 1 комментарий

@aallagulov, на копание ям тоже можно смотреть с двух сторон — "уметь копать" может быть навыком механического процесса вынимания грунта лопатой, а может быть понимание того, в каком случае какой глубины яма необходима, как бороться с обвалом стен, в каком случае беспокоиться о подтоплении грунтовыми водами или прогнозируемыми ливнями.
Бывают выгребные ямы для похода на два вечера, а есть алмазный карьер Мир

  Развернуть 1 комментарий

@aallagulov, 2-3 часа собеседования? Мы так только в офисе могли общаться, если человек приятный. Сейчас в онлайне минут 45 потолок :))

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

Когда много собеседований проводишь, уже за первые 5-10 минут можешь представление о человеке составить. У меня был 1 промах за 2 года :P

  Развернуть 1 комментарий

@Olga_FLY, ну до 2 часов концентрация еще держится обычно, как у собеседующего, так и у кандидата

если быстрее получается, то збс, больше 2 часов я сам не провожу

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

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

  Развернуть 1 комментарий

@azazeo, про разную тему вопросов я абсолютно согласен, если что

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

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

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

@azazeo, а часто по собеседованиям ходите?)

ну и опыт, наверное, сказывается, да

хотя, меня по алгоритмам не гоняли на собесах всего 2 раза в жизни, и оба раза я шел в эти конторы работать, лол

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

  Развернуть 1 комментарий

@aallagulov, по собеседованиям часто хожу, но больше из спортивного интереса, без серьёзных намерений

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

😱 Комментарий удален его автором...

  Развернуть 1 комментарий

@0Lphcss3iiKRRz9w, не готов выделить день, но готов выделить пару-тройку лет?)

  Развернуть 1 комментарий

@Kroid, вот именно!

(но да, и тестовое задание, и тестовый день должны оплачиваться, как по мне)

  Развернуть 1 комментарий

😱 Комментарий удален его автором...

  Развернуть 1 комментарий

@Kroid, мне кажется, что за тестовый день ток офис примерно успеешь увидеть, либо мельком глянуть на код и коллег

При этом тебя тоже хз как оценить

Ну, то есть, мб в некоторых проектах кодовой базы 200 строк и там с лету начинаешь активно кодить и добавлять фичи - решать проблемы, но в больших проектах, которым 10+ лет ты полгода будешь ток привыкать...

  Развернуть 1 комментарий

@azazeo, это теоретическая часть. А как проверишь, что пацан умеет кодить?

  Развернуть 1 комментарий

@ganqqwerty, домашнее задание или же день в рабочей обстановке

  Развернуть 1 комментарий

Вот смотри, сидишь ты такой вдохновленный решаешь задачи бизнеса, превосходишь ожидания команды. Приходит к тебе корпоративный эйчар и говорит: "Василий, будет ли у тебя возможность в среду в 17:00 провести собеседование с юным талантливым разработчиком, который горит желанием у нас работать".

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

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

  Развернуть 1 комментарий

@alexpyzhianov, идеально! =)

а если какая-то из переменных (свободное время, настроение, кандидат, whatever) отклоняется от плана - что делать?)

подбираешь кодинг-задачи под уровень кандидата и специфику вашей работы

а стоит ли их вообще подбирать? может без них будет еще лучше?)

  Развернуть 1 комментарий

@alexpyzhianov, так, обожжи, что-то подобное я уже виде... OH SHI

  Развернуть 1 комментарий

@alexpyzhianov, я думала, что у данного коммента будет финал вроде "... а соискатель не пришел" :))))

  Развернуть 1 комментарий

На мой взгляд идеальное интервью должно быть примерно по следующей схеме:

  • Краткий рассказ о проекте и для чего ищете человека, минут на 5, без всякого корпоративного булшита.
  • Аналогично краткий рассказ кандидата кто он и чем занимался на последнем месте, так же минут на 5-7
  • Если после этого не возникло ощущения, что прямо совсем не подходите, то переход к технической части. Мои любимые форматы для техинтервью это систем дизайн и код ревью. Показывают много всего, при этом на них сложно натаскаться или что-то там зазубрить. К сожалению, для джунов эти форматы подходят плохо, поэтому им можно дать какую-нибудь задачку на написание кода, чтобы в целом посмотреть что чувак что-то умеет писать. Идеальный вариант такой задачки - что-то не сильно абстрактное, не требующее знания специфических алгоритмов и в идеале имеющее два решения - простое и с подвохом, но более оптимальное. Писать на доске или листочке как по мне изврат, в реальной жизни так не программируют, нужно дать человеку ноут с IDE. На эту секцию я бы отвел минут 30-40.
  • В конце спросил бы, что человек ожидает от будущего проекта\работодателя и оставил бы время на вопросы, минут 10-15
  • По формату, на мой взгляд, лучше проводить собеседование в паре с кем-то, так как в одиночку может сыграть субъективизм, а больше двух- слишком стрессово для кандидата.
  • Ну и конечно в любом случае давать обратную связь, даже если кандидат не подошел.

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

  Развернуть 1 комментарий

@tezjarl, спасибо за развернутый план

смущает только фраза про

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

а зачем тогда задачи технические давать?) если оценишь все равно ток софт скиллы
логичнее за жизнь больше общаться, если хард скиллы не оценить никак же?

  Развернуть 1 комментарий

@tezjarl, этот коммент мне больше всего понравился из предложенных выше вариантов ;))

  Развернуть 1 комментарий

Идеальное собеседование — это его отсутствие. Например у меня есть несколько коллег в которых я уверен. Мне не нужно их собеседовать, я готов брать их без вопросов.

Вот это идеальное собеседование.

  Развернуть 1 комментарий

@wCtlHRqamCtz2nJf, ждал этого коммента =)

а если знакомые, в которых уверен, не хотят к тебе идти, а рук не хватает - что делать?

  Развернуть 1 комментарий

@aallagulov,

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

Вот это идеальное собеседование.

  Развернуть 1 комментарий

@wCtlHRqamCtz2nJf, я и с первого раза понял про отсутствие)

но не всегда же получается взять тех, кого знаешь и хочешь

что делать в ситуации, когда знакомые не идут, звезды с конф или гитхабов тоже - одному работать?)

  Развернуть 1 комментарий

@aallagulov,

Идеальное собеседование — это его отсутствие. Например, я знаю что институт, в котором я учился, выпускает очень толковых студентом. Бестолковые там просто не остаются. Мне не нужно их собеседовать, их сделанные лабораторные работы говорят сами за себя, я готов брать и обучать их без вопросов.

Вот это идеальное собеседование.

  Развернуть 1 комментарий

@wCtlHRqamCtz2nJf, интересный вариант =)

я бы так не смог, вспоминая то, как учились мои однокурсники по МИФИ...

  Развернуть 1 комментарий

@aallagulov,

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

Вот это идеальное собеседование.

  Развернуть 1 комментарий

@wCtlHRqamCtz2nJf, золотые слова! Я после Швейцарии разучился поступать на новые работы без этих дурацких реверансов с собесами, наверное, социальную активность слишком снизил

  Развернуть 1 комментарий
Valeriy Georgiadi CISO | CIO | IT Operations 20 июля 2021

Все крайне просто.

Идеальное собеседование в IT, да и не только, это когда ни одна из сторон не вываливает на стол переговоров свои психологические обиды и комплексы.

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

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

Тут есть пост «Когда твоя половинка не говорит по-русски» и вот там была такая фраза про «проговаривать мысли ртом» чтобы тебя поняли. И вот, блядь, проговаривайте, ага.

  Развернуть 1 комментарий

Что мне не нравилось, когда я был кандидатом:

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

  2. Надменные и неуважительные собеседующие.

Сейчас я провожу много собеседований и сформулировал для себя следующее:

  1. Задания должны быть решаемые за 30-40 минут максимум. Иначе можно зарыться в задачу, которая получается плохо, и не коснуться того, что у кандидата получается хорошо.
  2. Заданий должно быть несколько на разные темы. Чтобы узнать разные умения кандидата.
  3. Задания должны быть в отрыве от специфики компании. Тут вы предвзяты и склонны оценивать задание слишком легко.
  4. Задания нужно формулировать предельно ясно и сообщать о правилах игры. Опирайтесь на реакцию кандидатов на прошлых собеседованиях. Если вы ожидаете от кандидата поясняющих вопросов, скажите ему об этом. Если вы ожидаете, что нужно написать код с минимальной вычислительной сложностью, скажите. Если вы ожидаете тесты, скажите.
  5. Задания на лайв-кодинг должны быть. Но с учётом пунктов выше. Вы не представляете, сколько среди кандидатов болтунов, которые умеют красиво говорить, что они сделали, но не могут связать и пары слов в коде.
  6. Если спрашиваете про опыт, всегда спрашивайте конкретные технические детали и обоснования. Спрашивайте себя о том, может ли на ваши вопросы ответить болтун, не погружаясь глубоко в тему.
  Развернуть 1 комментарий

@sovetov,

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

+1

до того, как сам стал интервьюером лет 5 назад - не представлял =)

с другой стороны

  • часто задач либо огромное количество (в agoda, вроде бы, мне я за 40 минут успел накодить их штук 8, начиная с выводы списка в обратном порядке, до своей реализации небанальной сортировка - подход интересный, но изнурительный, ну и хз чего в итоге ждали от меня, фидбека не было)
  • либо там что-то оч абстрактное на BFS/DFS с кучей ограничений, которые ты расписывать будешь час, если вообще догадаешь как решать такое (в работе с алгоритмами над графами ни разу не сталкивался, например, за 10 лет, хотя работал в серьезных конторах с внушительной нагрузкой в проектах). Либо очередная задача на sliding window (очень уж скучные они и однотипные)...
  Развернуть 1 комментарий

@sovetov, много раз с таким сталкивался:

плохо сформулированные задачи на архитектуру и систем-дизайн.

Мой рецепт, который тоже не всегда работает, это взять паузу, подумать план атаки, задать пару конкретных вопросов. Вот тут есть тонкость, если ответы будут короткие и по делу - то просто продолжаем, а если мутные, то скорее всего ожидают что ты сам сделаешь несколько предположений и предложишь 2-3 варианта решения.
Те прямо так и говорю "я хз как у вас там устроено, но в моей практике я чаще встречался с X, в этом случае решение будет Y. Но если у вас Z, то Q".

  Развернуть 1 комментарий

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

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

Ну и там стол, стул удобные, пара мониторов, освещение, чтобы из кондиционера не дуло - для меня вот важно было, важнее, чем з/п.

Удивительно, что когда я начала собеседовать, на моей практике никто ни разу не спросил о подобном. Правда, если мне кандидат нравился, я сама предлагала пройти и посмотреть, как у нас здорово, какие милые коллеги и все такое :)

  Развернуть 1 комментарий

@Olga_FLY, ну обычно пока до переговорки дойдешь с кандидатом, он итак весь офис и коллег увидит)

  Развернуть 1 комментарий

@aallagulov, везде поразному. В посте спрашивали советы - даю вот совет.

  Развернуть 1 комментарий
Egor Suvorov Программист/преподаватель C++ 19 июля 2021

Залинкую батл: https://vas3k.club/battle/5968/

  Развернуть 1 комментарий
Дима Табакеров художник-программист 19 июля 2021

Добавлю конкретно про

Вайтбординг в переговорке? live-coding онлайн? Или посиделки в баре с разговорами об опыте?

Есть у вас доски в переговорках и вы на них хотя бы раз в неделю рисуете что-то кроме баклажанов и котиков? Тогда и на интервью можно. Аналогично и с остальным.

  Развернуть 1 комментарий
Andrey Rogovsky Ответственная 20 июля 2021

В виде кейсов на реальные неоптимизированные фичи и баги

  Развернуть 1 комментарий

@andreyka, в идеальном проекте их не должно быть))

  Развернуть 1 комментарий

@aallagulov, идеальные проекты не хайрят людей

  Развернуть 1 комментарий

На идеальном собеседовании после того, как я продемострирую свою компетенцию и отвечу на вопросы о моих командных и лидерских качествах, я хочу иметь возможность задать вопросы своему потенциальному менеджеру на проверку его/ее компетентости и лидерских качеств. Задать пару технические вопросов и вопросы типа "tell me about the time when you demostrated your leadership skills".

Перед собеседлванием хочу иметь возможность просить потенциального менеджера прислать рекомендательные письма от его/ее подчиненных :-).

  Развернуть 1 комментарий

Предлагаю построить модель хорошего собеседования.

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

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

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

  1. Открытая дискуссия, в которой кандидат имеет возможность задавать вопросы и получать на них ответы.
  2. Доверие и уважительная коммуникация ценностей, миссии и задач команды, в которую нанимают кандидата.

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

  Развернуть 1 комментарий

Я вот на днях проводила собеседование.. и тоже хотела написать пост-вопрос на эту тему. Пошла читать комментарии - может, там есть ответ на мой вопрос :)

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб