Однажды я понял, что дико не комфортно с ним работать, но поскольку я только прошел испытательный срок, а он уже работал пару лет, то пришлось валить.
Disclaimer
В этой статье я хочу подсветить важность формирования комфортного общения в команде. И так же дать понять что не стоит упарываться на решении задач оторванных от реального мира. И да, это исключительно мое мнение и мой опыт. Но я с радостью выслушаю критику и дополнения в комментариях.
Введение
Ко мне обратилась коллега с прошлой работы, с просьбой подсказать на что ориентироваться при собесе людей к себе в команду. Ее недавно сделали тим лидом и она стала отвечать за фронтенд в компании.
Я начал вспоминать опыт прошлых собеседований и решил структурировать его в этой статье. Опыт не маленький. Я успел отсобесить людей и в маленькие компании, и в большие российские гиганты.
Не буду расписывать примеры задач для различных грейдов, так как считаю что задачи не отражают истинный уровень кандидата. Расскажу на что стоит обратить внимание при собеседовании. Это будет полезно обоим лагерям, интервьюерам и кандидатам.
1. Рассказ о том, как кандидат пришел в профессию
Тут сразу становится ясно что и движет человеком. Либо это неподдельный интерес к профессии и к задачам, которые хочет решать, либо желание зарабатывать зарплату выше средней по стране. Надеюсь очевидно что второй вариант не самый лучший выбор. В этом случае мы рискуем попасть на коллегу, который будет гвоздями прибивать задачи, просиживать штаны и не задавать вопросы (хотя нельзя отрицать что где-то это поощряется).
Кейс из жизни
На заре своей карьеры мне посчастливилось провести одно из своих первых собеседований на первой работе. К нам в компанию пришел очень странный кандидат на позицию junior frontend developer. Ни на один из вопросов по javascript’у он не ответил. С html и css тоже были дичайшие проблемы. На вопрос, а зачем он вообще хочет стать разработчиком, последовал очень неожиданный ответ. Его знакомый на тот момент устроился в западную компанию за неплохие деньги и рассказывал ему как же хорошо работается почти ничего не делая. И наш кандидат решил что тоже так может. После открытого заявления о том, что он хочет сидеть и ничего не делать и за это получать деньги, мы были вынуждены указать ему на дверь.
2. Рассказ о прошлом опыте
Если кандидат “шарит”, то в красках и полно расскажет о задачах, с которыми пришлось работать. Тут сразу оцениваем его зону ответственности и компетенции. Тут человек с любой эрудицией поймет кто перед ним. Но поясню по пунктам.
Junior
Тут максимум можем услышать о каких-то пет проджектах, либо о каких-то учебных проектах.
Middle
Истории про базовые задачи (сверстать компонент, прикрутить api) — это то, что мы услышим от мидла.
Senior
Ну тут мы уже можем долго выслушивать про борьбу разработчика с нетривиальными задачами.
3. Расскажите о своих задачах
Попробуйте подкинуть кандидату пару задач из своей работы. Например то, с чем вы долго боролись или что так и не смогли побороть. Тут можно услышать много интересного для себя, Ситуация win-win, надеюсь не надо объяснять почему.
Кейс из жизни
Однажды собеседовал кандидата на позицию senior frontend developer в одну всем известную в России компанию. За неделю до этого я столкнулся с проблемой интеграции typescript’а в проект. На собеседовании кандидат подкинул пару идей как можно ее решить. Не помню уже помогло это или нет, но факт в том, что у него было решение на мою проблему.
4. Уделяйте большое внимания cultural fit
Вам с этим человеком работать полгода, год, а может и все десять лет. Поэтому уделяйте очень большое внимание тому, на сколько вам комфортно с человеком общаться. В идеале на собеседование брать кого-то из своих коллег. Две головы, как мы знаем, лучше чем одна.
Кейс из жизни
Недавно я проходил собеседование в стартап, и меня спросили, что для меня самое важное в работе. Я ответил что для меня важно что бы люди понимали мои тупые шутки. Оказалось что я хорошо вписался в коллектив и коллектив хорошо вписался в меня (надеюсь не очень тупо звучит).
5. Код ревью
Эту идею мне подкинул знакомый тимлид. Суть в том, что бы дать кандидату кусок кода с заведомо расставленными в нем ошибками и местами для оптимизации. Сразу видим как хорошо кандидат читает чужой код и разбирается в нем. Так или иначе, но его работа и будет состоять из код ревью и копании в чужом коде.
6. Задачки
Бывает такое, что человеку не комфортно раскрываться на первом собеседовании, Вы чувствуете что человек хороший, но ему надо время раскрыться. Последним шагом я привык давать задачки и смотреть на то, как рассуждает кандидат. Но это делает каждый интервьюер, поэтому тут я вам ничего нового не скажу. На этом шаге мы можем понять что кандидат хорошо знает предметную область. Если он хорошо справился с задачами и не показался токсичным, то можно брать и посмотреть как он вольется в коллектив во время испытательного срока.
Conclusion
Почему я ставлю технические навыки в самый конец? Потому что в первую очередь вы будете работать и общаться с человеком, а не с его кодом. Будете каждый день созваниваться на синках, разу в пару недель ретриться и планироваться. И тут важно что бы в команде царила максимально комфортная обстановка. А технические навыки быстро приобретаются, особенно если проект и задачи интересные.
heilage
Интересный подход, лайк. Единственное что немного смутило — учебные проекты поставили рядом с пет-проджектами (да еще и в категорию «джунов») — комон, можно иметь пет-проджект, который представляет собой обособленное решение конкретных потребностей, на скромных 100k+LoC в открытом доступе, и который не перерос статус пет-проджекта чисто потому, что лень заниматься его монетизацией:) Да и в принципе пункт 2 немного спорный, как по мне.
Вообще для любого сеньора и даже миддла наличие пет-проджекта — это плюс, т.к. именно там он может опробовать какие-то вещи, которые непозволительны для рабочего проекта. А вот если ни одного пет-проджекта нет — это тема для разговора. Почему нет, что мешает? Может времени не хватает, может потребности нет, может интереса мало, причин может быть крайне много и крайне разных, и это всё интересная информация о кандидате.
pavelgonzales Автор
heilage полностью согласен. Скорее всего я немного поспешил и не уточнил что у мидла и сеньера тоже надо спрашивать про пет проджекты. По себе знаю что они очень хорошо прокачивают.
Я согласен с вами, надо было отделить учебные проекты для джуна от пет проджектов для остальных.
daiver19
«Вот представь, приходишь домой, а там станки, станки, станки...»
Почему вы считаете, что хобби (а пет-проект — это хобби) — это релевантная информация о кандидате?
heilage
Как минимум это дает понять отношение человека к профессии. Ну и опять же, это не решающий фактор — но прекрасная тема для разговора по душам.
daiver19
Ну по душам можно говорить о чем угодно, не очень понятно какое отношение это имеет к работе. И, опять же, я не вижу, почему хобби и профессия должны быть смешаны. Представьте себе, как у хирурга спрашивают, режет ли он своих родственников на дому и почему нет.
Nialpe
Я бы ушел в этом вопросе от понятия хобби к понятию увлеченность. В случае с хирургом увлеченность = желание лечить людей, помогать. Отлично, если это желание совпало с умением и платой за труд.
fireSparrow
Увлечённость — палка о двух концах.
Если у человека главная мотивация — это интерес, то он будет показывать хороший результат только в том, что ему интересно. Такому начнёшь давать реальные задачи реального бизнеса — он через месяц перегорит.
Или, например, человек потащит в продакшн какую-нибудь модную технологию не потому, что она тут реально к месту, а потому что было интересно с ней поработать.
pavelgonzales Автор
Часто разработчики делают пет-проджекты для изучения какой-нибудь новой технологии/библиотеки/подхода/etc. По крайней мере во фронтенде часто так. Как в других направлениях — хз :))
Но я согласен, не стоит забирать «баллы» за отсутствие домашнего проекта.