4

Как я PHP/JS мидлов собеседую

Лирическое отступление

Почти год назад я пообещал товарищу @cheiser написать пост о том, как я собеседую программистов. Сразу честно предупредил: «Не жди быстро». Ну и вот — «не скоро» наступило. Обещал — надо делать. Пусть и с опозданием.

Специфика команды

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

Есть ещё одна важная роль отдела — мы являемся кузницей кадров, то есть берём мидлов, учим, растим, и через 1.5–2 года они уже переходят в продуктовые команды. Да, за это время сеньором не стать, но к этому моменту ребята уже отлично ориентируются в проектах и бизнесе. А значит, могут приносить реальную пользу почти с первых дней после перехода. Именно поэтому я хотя бы раз в год, а обычно чаще, провожу собеседования.

Требования к кандидату

Всё начинается с составления требований.

Обычно нам нужен low-middle или просто middle-разработчик. Основной стек — PHP и JS. Плюсом будет знание Go, Symfony и PostgreSQL.

Есть и негласные требования: нам важно, чтобы человек был коммуникабельным и неконфликтным, так как весомая часть работы заключается в общении с другими людьми.

Поиск кандидатов

Начну с благодарности нашим хантерам. Они у нас реально крутые, настоящие профессионалы. 

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

Профильное образование, нерелевантный опыт или отсутствие гитхаба — не красные флаги. Главное, чтобы были мозг и желание. Но всё в комплексе может сыграть роль, особенно если приходится выбирать между двумя похожими кандидатами.

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

Собеседование

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

Собеседуем сейчас в Zoom, хотя оффлайн-встречи нравились больше. Всё-таки легче понять человека, когда он сидит с тобой за одним столом. Обычно в собесе участвуем втроём: я, кандидат и рекрутер.

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

Если видно, что кандидат нервничает — можно немного small talk, чтобы снять напряжение.

Общий этап

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

В этом блоке я смотрю, как человек общается, какие у него цели, мотивация, чего вообще от жизни хочет.

Про пресловутое «Кем вы видите себя через пять лет». Ох уж этот ненависный многими вопрос. В такой формулировке я его, конечно, не задаю. Но могу спросить что-нибудь близкое, типа: «А куда бы ты хотел дальше двигаться?» Это помогает понять, насколько у человека есть способность к целеполаганию и самодисциплина. Ну и совпадает ли его вектор с нашими возможностями.

Был случай — кандидат сказал, что ему интересно двигаться в сторону Java. Такое развитие не интересно компании, потому что у нас на Java пишут только QA, и вредно для самого кандидата - зачем ему сейчас тратить время на компанию, которая не сможет дать ему желаемого развития? Лучше честно обговорить всё на старте.

Технический этап

Тут уже эстафету принимает техсобеседователь — то есть я.

Сначала стараюсь успокоить: не страшно, если что-то не знаешь. Все мы чего-то не знаем, и бывало, что я сам узнавал новое от кандидата. Главное — как человек рассуждает. 

Иногда специально задаю вопрос, на который сам не знаю точного ответа, только предполагаю. Как пример: «Как думаешь, почему авторы PHP не добавили в язык множественное наследование?»

Повторюсь, что я предпочитаю задавать вопросы не на знание, а на способность соображать. Если кандидат не знает ответа - это даже лучше, можно посмотреть, как быстро он дойдет до ответа, пусть даже с моими подсказками. Один из моих любимых приёмов - это попросить рассказать, чем отличаются и чем похожи PHP и JS (или любые другие языки, которые знает кандидат). Вообще, вопросы про сравнения работают хорошо, даже если кандидат не знаком с каким-то механизмом, о котором я спрашиваю. Например, если собеседуемый не знает про сборщик мусора, то я ему расскажу, что это такое, а потом спрошу, какие преимущества и недостатки он видит у этой технологии. Важно не то, знает ли он готовый ответ, а то, как он к нему идёт.

В общем, на этом этапе моя задача - выяснить потенциал.

Вопросы от кандидата

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

Бонусный этап

Есть еще одна необязательная часть собеседования, если у кандидата еще остаётся время и он не против (ну и если я хотя бы допускаю, что человек потенциально может стать нашим сотрудником). В этом блоке я на несколько минут зову всю команду, познакомиться, пообщаться. Мнение команды я тоже учитываю как фактор.

Ещё пара моментов

Если отказываем — даём обратную связь. Краткую всегда, развернутую — если попросят.

Обязательно говорим, когда ждать ответ. Если вдруг сроки сдвигаются — хантер, который всегда на связи с кандидатом, сообщает, объясняет, всё по-честному.

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

Послесловие

Вот, вкратце, и всё. Конечно, многие нюансы я здесь не описал, а какие-то моменты проговорить забыл. Кроме того, изначальный текст был ну очень уж сухим и канцелярским, поэтому я попросил помощи у ChatGPT (но немного, большую часть текста написал сам). Если вы дочитали до конца, то большое спасибо за внимание. Надеюсь, было интересно и хоть капельку полезно.

Ну и ожидаю холивар.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества