
Вступление
В последнее время тема собеседований, особенно на Хабре, стала очень актуальна. В каждой статье кандидаты жалуются, что стало много собеседований и советуют друг другу ИИ‑инструменты, которые помогут сломать эту стену. С другой стороны, компаниям не нравится, что просто обычного разработчика средней квалификации уже сложно найти и надо потратить много времени на это.
Совсем недавно появилась статья: «Читерство в законе. Как пройти собеседование и устроиться на работу в дивном новом мире». Если коротко, то в ней говорится о том, что для того, чтобы устроится на работу необходимо специально тренироваться для прохождения собеседований. Все друг друга обманывают (как HR со стороны компании, так и сам кандидат).
И с этим сложно не согласится. Мне иногда приходится иметь дело с наймом. И что я вижу на собеседовании? Или что я проверяю на собеседовании? Правильно: умение проходить собеседования, а не навыки и опыт работы. А ведь не должно быть так!
Почему ИТ-компании стали проводить длинные и сложные собеседования?
Компаниии их представителей легко понять, когда они начинают слать отказы по формальным признакам, так как иногда количество резюме на одну вакансию превышает несколько сотен (попробуйте опубликовать вакансию на hh). И это реальное испытание: найти нормального, не то что звёздного, а просто нормального кандидата среди всех откликов. ИТ сфера стала известна благодаря своим зарплатам. Поэтому появилось много охотников за такими зарплатами, у которых главная цель — это войти в компанию, а дальше уже можно ничего не делать участвовать в звонках, встречах, писать комментарии в задачки и др. Многие разработчики, особенно из бигтех‑компаний, жалуются, что те алгоритмы, которые они учили, и которые их спрашивали на собеседовании, не используются в их работе после найма.
Поэтому модель: Научился немного кодить → Научился проходить собеседования → Получаешь много денег, стала привлекать всё больше людей.

Я лично сталкивался с человеком, который потом впоследствии стал зарабатывать на обучении прохождения собеседований. И это действительно не собеседование, а шоу, где кандидат легко и непринуждённо отвечает на всю теорию, сам предлагает пошарить экран и показать, как он кодит. Ещё уместные шутки, серьёзные вопросы о компании. При этом нет волнений, стресса. Это действительно вызывает положительные эмоции — вот он, наконец‑то нормальный кандидат, которого ты так долго искал. Однако, после найма и выполнения первых задач выясняется, что уровень кандидата совсем низкий. Нам повезло и мы поняли это за 2 недели. В крупных компаниях на это может уйти несколько месяцев.
Потенциальная награда за такие испытания — высокая зарплата, в несколько раз больше, чем в среднем по экономике.
Теперь представьте лида, которому надо нанять нового человека. У него полно задач, которые с него никто не снимает пока идёт найм. Откликов приходит много, HR помогают «отсеять» кандидатов, которые не проходят по формальным признакам (например, вакансия на С++, а присылают резюме фронтендера, или нужен Spring, а в резюме его нет совсем). Остаётся после отбора несколько десятков резюме (особенно, если опубликовать вакансию на нескольких сайтах). С каждым резюме надо ознакомится, после этого провести собеседование с оставшимися кандидатами и, если кто‑то понравится, то сделать оффер. Все эти этапы собеседований появились исключительно из‑за того, чтобы уменьшить воронку кандидатов до наиболее приемлемых. Если бы изначально на вакансию откликались только те, у кого реально есть опыт и обладает именно теми навыками, которые указаны в вакансии, а также те, которые понимают, в какую компанию они идут и что они там будут делать, тогда и нужны были бы все эти этапы. Но из‑за наличия большого количества обмана и жажды наживы, появляются лже‑кандидаты, которых и предстоит выявить (почти, как детектив). Вот пример полноценной работы по вакансиям, который сложно выполнить за 5–10 минут: Мои 7 правил при собеседовании разработчиков.
В тоже время, из‑за введённых фильтров начали страдать действительно профессиональные разработчики, которые совершенно не умеют проходить собеседования, а то и составлять резюме. Теперь надо, помимо работы, ещё и учится продажам (составлять своё резюме, учится проходить собеседование). Примерно, как написано тут: Почему разработчикам приходится проходить через этот унизительный процесс собеседований.
Получается проблема с двух сторон. Кандидатам не нравится много этапов в собеседованиях и проверки опыта, которые на самом деле опыт и не проверяют. Компаниям не нравится, что необходимо потратить много времени и сил для найма даже просто среднего, не говоря уже о топ‑разработчике.
Как проверить реальные навыки разработчика?
Мы приходим к вечному вопросу: а что делать? Я довольно долго размышлял по этому поводу и хочу с вами поделиться результатами моих рассуждений. Давайте рассуждать логически.
Итак, как можно на 100% понять, как человек будет выполнять реальные рабочие задачи? Очень просто: дать ему реальную задачу(и) и посмотреть результат её выполнения.
Просто на словах, непросто на деле. Необходимо подготовится к новому процессу.
Продолжаем.
Что необходимо сделать, чтобы можно было сразу дать кандидату реальную задачу?
Перечень немаленький:
Юридическая часть
Подготовить простой шаблон договора оказания услуг, в котором уже будет базовый NDA, пункты про интеллектуальную собственность.
Подготовить список из 1–3 задач, описанных подробно. Можно взять из таск‑трекера и прикрепить ссылку на задачу. Всё это вставить в договор.
Подключить к системе электронного документооборота, чтобы можно было подписать за несколько минут без пересылок бумажных вариантов.
-
Подготовить план по работе с разными категориями кандидатов:
просто физическое лицо (с которым заключается договор гражданско‑правового характера),
самозанятый (с которым заключается договор оказания услуг),
ИП (с которым также заключается договор оказания услуг).
Выделитьбюджет на выполнение всех задач. Удобнее всего оценить задачи фиксированно, исходя из количества часов, которое будет необходимо разработчику средней квалификации для выполнения этой задачи количество часов ставка за 1 час (он равен зарплата на вакантной должности в месяц / 168 часов в месяц). Если человек справился с задачей, то он получит столько же, сколько и ваш разработчик. Это справедливо.
Техническая часть
Подготовить модуль кода, доступ к которому можно дать новым кандидатам не боясь, что он останется с ними навсегда (доступ к всему коду лучше не давать). Модуль должен быть используемым в рамках большого приложения и желательно запускаемым, чтобы можно было увидеть результат своих трудов. Это одна из самых сложных задач, так как здесь надо придумывать, как сделать такой модуль.
-
Подготовить задачи. Здесь может быть как захотите и зависит от того, что конкретно вы хотите проверить в кандидате. Например, можно сразу дать сложную задачу и посмотреть, как кандидат с этим справляется. Или пойти по более плавному пути и дать сначала простые задачи, чтобы человек разогнался, а уже потом переходить к сложным (я лично являюсь сторонником такого подхода). Ещё вариант, дать задачу, которая требует коммуникации в команде, чтобы проверить, как кандидат умеет взаимодействовать с коллективом. Самый простой вариант категоризировать задачи на:
простые (онбординговые, которые предназначены главным образом для того, чтобы кандидат разобрался в коде),
обычные (их можно давать после 1–2 простых задач),
и сложные (на таких задачах хорошо проверять синьоров).
Подготовить список из доступов, которые необходимо дать после подписания документов.
Выделить человека, который сможет одновременно вести от 1 до нескольких кандидатов. Он будет делать онбординг, пояснять задачи, отвечать на вопросы по стилю кода, проводить код ревью, окончательно оценивать уровень квалификации кандидата.
Что позволяет достичь такой подход?
У вас будет только одно собеседование, которое будет нацелено на определение софт‑скиллов и оценки того, насколько кандидат по своим личным характеристикам сможет быть частью вашей команды. Если человек не подходит, то можно сразу попрощаться с ним и переходить к следующему кандидату.
Теперь перейдём к проверке реальных навыков (ради этого всё и затевалось).
Прямо на этом же собеседовании можно и обсудить задачи, которые кандидату предстоит решить и показать вознаграждение за каждое из них. Ответить на вопросы про юридическое оформление и как будет происходить взаимодействие внутри команды.
А дальше начинается реальная работа, в процессе которой вы сможете оценить:
Как кандидат подходит к выяснению подробностей задачи,
Полностью ли он понимает задачу перед стартом её выполнения,
Культура написания кода и следования гайдлайнам компании,
Предусмотрены ли корнер‑кейсы, которые не были написаны в описании задачи,
Написаны ли тесты и какого они качества,
Поломал ли новый код старый,
Какие вопросы задаёт кандидат в процессе выполнения задачи,
С кем из команды он взаимодействует для выполнения задачи.
Скорость выполнения задачи.
Насколько кандидат доступен в течение рабочего дня (особенно актуально для удалёнщиков).
Расскажите, какое текущее собеседование позволит таким образом оценить кандидата?
После того, как задача сделана и залит PR(MR), проведено ревью и все комментарии учтены, то можно провести оплату за это задачу и приступать к выполнению следующей задачи, если всех всё устраивает.
По-моему, тут все в выигрыше (ну кроме лже‑профессионалов, которые скорее всего будут отказываться от такого формата, так как он быстро их изоблачит). Кандидат видит задачи, коллектив и руководство компании, в которую он собирается выходить (по текущему собеседованию это понять довольно сложно, если вообще возможно). Компания (будущий лид или другой руководитель) видит, как человек работает и его реальный навык, что позволяет оценить уровень кандидата и представить, насколько он подходит на предполагаемую позицию. А также, приятный бонус — закрытая задача из бэклога.
Такой режим позволяет вести работу сразу с несколькими кандидатами на одну позицию, что позволяет устроить конкрусный отбор на позицию. Это зависит только от вашего бэклога и насколько вы готовы заплатить за выполнение всех задач из него.
Взлом процесса
Этот процесс, конечно, тоже можно взломать, но уже сложнее и дороже для кандидата. Первый взлом — это ИИ. Но текущий уровень ИИ довольно плохо работает с текущей кодовой базой и если человек просто запустит ИИ и сделает PR(MR), то это в большинстве случаев легко можно увидеть. С другой стороны, если разработчик использует ИИ, как помощника, который ему помогает быстрее решить задачу, то это даже плюс.
Дополнительный взлом возможен, например, в условиях удалёнки, возможен, когда кандидат может найти другого разработчика, который будет за него делать работу, а он получать за это вознаграждение. Недавно была статья про американца, которые держал 6–8 разработчиков и работал на несколько компаний одновременно, участвуя только в звонках. Но даже такой взлом не всегда плохо. Ведь задачи в итоге будут выполнять за те деньги, которые вы обозначили в вакансии. А уж способ выполнения задач можно отдать на откуп кандидату. Понимаю, что не всем компаниям такое приемлемо, поэтому имейте в виду.
Заключение
Во многом этот процесс заимствует подходы из других сфер. Например, в ритейле есть тестовые несколько дней/неделя, где человек выходит на несколько дней на работу. Естественно, эта работа оплачивается. За это время и сотрудник, и компания делают друг о друге представление.
Также не забывайте о сфере услуг (к которой разработка ПО тоже относится), например повара или портные. О том, как готовит повар можно рассказывать долго, но лучше один раз попробовать. Думаю, в мире программного обеспечения этот принцип тоже применим.
Комментарии (12)
Flexits
28.05.2025 10:04Практика специально натаскивать себя на прохождение собеседований, я считаю, порочна сама по себе. Все эти технические собесы, алгоритмические секции, оценки софт-скиллов сами по себе уже превратились в какую-то метрику ради метрики и карго-культ. Вам нужен человек, который будет делать работу, или который пройдёт выстроенную толпой эйчаров, менеджеров, и разномастных руководителей полосу препятствий? Это совершенно разные навыки (истории различных ИИ-ботов, блестяще проходящих алгоритмические собесы, подтверждают). В общем и целом ситуация хорошо перекликается с часто звучащей критикой в адрес ЕГЭ, мол, школьников натаскивают сдать экзамен, вместо того, чтоб давать им знания.
На данный момент для меня со стороны процесс найма во многих айти и около-айти компаниях выглядит примерно следующим образом:
Фермерскому хозяйству требуется тракторист, чтобы вспахать поле. У соискателей требуют диплом инженера-машиностроителя и лично выполненный (желательно ещё до окончания средней школы) пет-проект по созданию кукурузных полей в лунном грунте, на собеседовании заставляют решать задачи по сопромату, теории ДВС и каверзные штуки в стиле: "Дано два стула, три спички, свечной огарок и 2,718 метра бечёвки, посредством их адаптируйте реактивный двигатель ПД-7 под сферический трактор, пересекающий восьмиугольное поле по баллистической траектории в вакууме, учитывая, что у HR мятного цвета лифчик и на прошлой неделе прошёл дождь? Так, хм... А как оптимизировать двигатель для работы на смеси из 20% дизтоплива, 70% этанола, 10% мочи южноамериканского скунса и двух зелёных конфеток M&Ms?".
Спустя тысячи отброшенных резюме и сотни безрезультатных собесов (ох уж эти тупорылые джуны, да) наконец находится этот уникум. Окончив формальности трудоустройства, ему говорят примерно следующее: "Короче, Вань, смотри – вот план хозяйства. Вон там поле, которое пахать. Вон там ангар, в котором трактор, которым пахать. За ангаром – плуг, который прицепить к трактору, который пахать. За окном стоит машина, на которой дохать до хозяйства. Но прошлый тракторист был пьян, пробил поддон, поэтому сперва нужно поддон заварить и масло залить, только потом поезжай. Масло на Озоне закажешь, пароль от учётки у офис-менеджера".
Ваня в шоке. Он плуг видел только на картинке, масла не видел вообще. Он учил сопромат и ровнял поле в лунном грунте. Какие поддоны? Какой офис-менеджер?
Вывод из истории? Тупорылые никчёмные джуны, тупые зазнавшиеся мидлы, обнаглевшие ленивые сеньоры. Мы в их время кодили ИИ-ботов для БЭСМ на перфокартах на перемене между физкультурой и химией, в школе, куда пешком из деревни шли босиком 20 км в мороз, через лес, полный волков, а из литературы у нас были только таблицы Брадиса, что не мешало нам составить конкуренцию Джону Нэшу в получении Абелевской премии. Да, были люди в наше время, богатыри, не вы (с).
kalombo
28.05.2025 10:04Все эти технические собесы, алгоритмические секции, оценки софт-скиллов сами по себе уже превратились в какую-то метрику ради метрики и карго-культ.
Почему превратились? Они и были карго-культом с самого начала. Просто зараза с яндекса(а на яндекс с гугла) рапространилась еще и на другие компании. Дайте как вспомню год, ну где-то в районе 2015-2017го я ходил собеситься в яндекс в офис и мне дали задание написать код алгоритма на доске. И никому не нужны были мои вот эти вот "как кандидат мыслит", "смотрим, чтобы была идея". Затупил как в цикле присваивать указатель на список в head или tail? - Не прошел. Несмотря на то, что алгоритм был рассказан верно.
braydyn54
28.05.2025 10:04Эта зараза пошла от чудовищного избытка желающих работать в этих компаниях. Ценность трудового ресурса для них упала и они могли и могут устраивать олимпиады, ради места, которое не достойно вашей квалификации.
Farongy
Можно же нанять человека только для решения этих вступительных задач.
real_dsplatonov Автор
Можно, но уже сложнее, да и самому надо сначала этого человека потестировать, чтобы просто так деньги не платить. Тут уже начинается траты, причём не маленькие. А если нанятый кандидатом человек будет плохо писать код, то и деньги зря потратил, и в штат не перешёл. Но в теории, конечно, можно, особенно, если должность очень высокая и желаемая.
Farongy
Так вы сами пишете
Как будто просто нанять человека для решения парочки задач не выглядит сильно дороже. Особенно если потом от компании можно кешбэк получить =)
real_dsplatonov Автор
в старом процессе и для задачек согласен. Значительно сложнее решать реальные задачи, а не тестовые. На этом человек, с которым я к несчастью столкнулся, и посыпался.