Привет Хабр, меня зовут Герман, и я лид разработки, вышедший из фронтов. Сегодня очень хочу обсудить тему культуры собеседований, а точнее тот хаос, что творится на этом поприще и узнать, что об этом думает комьюнити in situ.
![](https://habrastorage.org/getpro/habr/upload_files/20c/472/5c6/20c4725c6e1916a0f6cbe39325d08629.jpeg)
Набрел я на такие мысли, когда стал лидом и пришлось много собеседовать людей. Плюсом сюда идет то, что я ради эксперимента и сам проходил собеседования на разные вакансии от мидла до лида (про джуновский уровень - это отдельная песня). Собирал фидбек от коллег и друзей, расспросил, как собеседуют их. И спустя год я обнаружил несколько вещей:
От компании к компании сильно различается уровень собеседований — на одну и ту же вакансию с одинаковой зарплатой.
Зачастую абсолютное непонимание у собеседующих того, что необходимо спрашивать на определенную должность.
Засилье лайфкодинга уровня leetcode easy в ущерб реальным знаниям.
Все эти факторы приводят к тому, что собеседования в 2023 году — это русская рулетка, которая стреляет в ногу как работодателям, так и рынку кандидатов.
Давайте подробнее разберем все это безобразие, и я постараюсь объяснить, почему компаниям/лидам/менеджерам стоит пересмотреть свой подход к найму.
Влияние бигтеха на рынок
В сети ходят легенды о собеседованиях в бигтех компании, на ютубе сотни видосов, как решать задачки всех уровней, для того чтобы попасть на работу в одну из них. И вот я тоже решил сходить на подобный собес синьорного уровня.
7 задач, 3 часа: 3 задачи по js (замыкания, функциональщина, промисы) и 4 алгоритмических (графы, линкед листы, скользящие окна).
Я понимаю, зачем это бигтеху. Лидеры рынка могут позволить себе выбирать, плюс многие из них успешно продают курсы для того, чтобы ты прошел их собеседования. Чего я не понимаю, так это зачем компаниям поменьше перенимать опыт собеседования лидеров рынка? Если и к вам, и к бигтеху попасть одинаково потно, то зачем выбирать вас? Что ВЫ поймете после того, как кандидат нарешал вам уйму задачек/алгосов, но у вас цели переписать легаси код и перейти на PWA стек?
И в итоге на своих публичных собеседованиях бигтех менеджеры на вопрос из зала «А зачем на фронта так много алгоритмов?» отвечают: «А вдруг вам придется огромные JSON нормализировать и денормализовать на клиенте?». Я надеюсь, что это последнее, чем придется заниматься фронту на клиенте. Но суть в том, что других внятных объяснений подобных форматов собеседований у них для нас нет.
![Среди бесконечных "лайфхаков" как выучить литкод, есть подборки компаний которые не спрашивают алгоритмы, и это набирает просмотры. Среди бесконечных "лайфхаков" как выучить литкод, есть подборки компаний которые не спрашивают алгоритмы, и это набирает просмотры.](https://habrastorage.org/getpro/habr/upload_files/197/73b/796/19773b7966297d3e99347f8ed1b0cf1a.png)
Но люди принимают практики больших компаний и, в большинстве случаев, собесы сразу начинаются с окна редактора кода, и после пару слов приветствий идет штурм leetcode based задачек.
И вот тут-то и кроется все коварство данного подхода.
Просмотрев сотни и сотни резюме, держа руку на пульсе «тенденций попадания на первую работу в IT», я своими глазами наблюдаю следующую картину. Молодые люди с накрученным опытом в резюме активно спамят джун+/миддл вакансии в надежде попасть на любителя алгоритмов. И тогда собеседования - это просто своеобразный экзамен с билетами, которые можно зазубрить. И согласно базовой теории игр это выигрышная стратегия. И эти люди находят работу!
Как я лидом устраивался
Мое самое большое удивление за всю мою карьеру, что на джуна и лида многие спрашивают одно и тоже (и в весьма крупных конторах).
Типичный диалог с техническим специалистом:
— Какие бывают значения у свойства position?
— А вот var, let и const чем отличаются?
— Абстрактный класс от интерфейса чем отличается?
— А я простите на какую позицию собеседуюсь?
— Техлид, а что?
И, когда ты идеально отвечаешь на все, то остается немой вопрос: а как люди будут принимать решения, какого кандидата взять? А почему этот человек вообще собеседует меня на такую должность? И чем мне придется там заниматься? К сожалению, это не единичный случай, но, слава богу, нечастый.
Есть и другие крайности, когда HR проводит с тобой 2 собеса (знакомство и скрининг анкетой) и потом по результатам того, что CTO прочитал твою анкету и что-то не понял, HR попросил написать эссе на тему отличия Express от Nest. А ты действующий лид, и все это выглядит как какая-то нездоровая шутка и огромная трата времени.
— Вы мидл? Объясните разницу Jit компиляции в SpiderMonkey и JavaScriptCore
Наверное второй по холиварности тезис при обсуждении собеседований и знаний, которых на них проверяют (после алгоритмов). Избыточность вопросов и требований к экспертности кандидатов на должность, которая этого не требует.
Сколько моих мидлов повалилось на подобных собесах, после которых мы сидели и разбирали эти потрясающие вопросы уровня «Разница работы евент лупа в браузере и в ноде», «Как улучшить SQL запрос если медленно работает» и так далее..
Я понимаю, чего хотят добиться собеседующие, если бы были другие вопросы, но часто собеседование состоит только из того, что собеседующий выстрадал на своем опыте и требует от своих подчиненных. И все мы понимаем, что уровень реальных рабочих задач не такой. Во всяком случае в вакансии о таких вещах не написано ни слова.
Обратная сторона подобных собесов — это вопросы на БАЗУ.
Процитирую Вадима Макеева: у нас есть 2 джава скрипта, один на котором мы пишем, а второй с собеседований.
И черт возьми, вот ЭТУ статью на хабре люди читают только для того, чтобы решать задачи с собесов на выводы консоль логов через промисы. Никто в продакшн коде не будет писать Promise.all с 0. Фибоначчи не фигурирует в топе вопросов на хабркуа или стаковерфлоу.
Если ваш кандидат нереально круто и быстро ответил на вопросы по БАЗЕ, это не значит что он семи пядей во лбу, это значит, что ваше собеседование у него уже десятое.
![В результате у нас появляются такие синьоры (некоторые слова заменены) В результате у нас появляются такие синьоры (некоторые слова заменены)](https://habrastorage.org/getpro/habr/upload_files/cda/da1/694/cdada169467247431b2ad9c43feba341.png)
А что же тогда спросить?
Если у вас есть такой вопрос в голове, то задумайтесь — а нужен ли вам новый человек в команду? Когда ко мне, как к нанимающему менеджеру, приходят с просьбой прособеседовать человека на должность, я сначала спрошу: а чем он должен будет заниматься?
Кратко отмечу, что вопросы для человека, который будет поддерживать легаси и архитектора систем не будут даже пересекаться. Мне правда неинтересно, знает ли крепкий мидл, как разворачивать деревья или как работает ивент луп в деталях, бизнес будет ему платить не за это. То же самое и с синиор+ уровнем, мне неинтересно, насколько у него зеленый гитхаб или сколько лычек в литкоде. Если он не может за час рассказать вкратце, как бы он развернул полноценный PWA и не понял, нужен ли нам SSR для проекта или нет.
Итого
Находясь в профессии какое-то время, мы часто слышим что-то в стиле «кандидатов мало, а достойных еще меньше» или «нормальную работу хрен найдешь». И причиной этому я вижу исключительно в отсутствии культуры собеседований или понимании того ЗАЧЕМ они действительно нужны.
И из-за этого мы имеем два рынка:
Рынок вакансий, которому нужны просто смышленые сотрудники с опытом для конкретных бизнес задач, или джуны у которых есть смекалка не только зубрить БАЗУ, но и делать самую важную джуновскую работу — спрашивать и не бояться. Но большая часть собеседований на эти вакансии проверяет совсем не эти навыки.
Рынок опытных кандидатов, которые уже решали какие-то реальные бизнес-задачи. Их бэкграунд-чек несложно проверить звонком/сообщением на прошлую работу. Но их не спрашивают об опыте, их спрашивают что-то, что придет в голову собеседующему.
И в генеральном случае два этих рынка редко пересекаются. Успех среди кандидатов имеют люди, зубрящие собесы и системно хакающие рынок.
Уважаемые наниматели, лиды, менеджеры! Для вас всегда есть подходящий кандидат (и много, а не 1 из 100), просто спросите его о чем-нибудь другом, о чем-то, что важно вашему бизнесу, а не вашему идеально настроенному линтеру.
P.S. Парадоксально, но самые лучшие собесы у меня были с гендиректорами или управляющими менеджерами, которые не сталкиваются с кодом. Их вопросы всегда были про то, как я буду решать их проблемы.