Как нанимать разработчиков разных уровней

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

Junior разработчики

Как нанимать разработчиков разных уровней

В последнее время требования к junior разработчикам выросли из-за переполненности на рынке начинающих специалистов, которые закончили онлайн-курсы. И если раньше было достаточно базово знать JavaScript и CSS3 (для фронтенда), теперь нужно также уметь работать с одним из фреймворков (тоже базово). Поэтому при найме и отборе думайте о том, насколько сильно кандидат замотивирован и обучаем, готов ли развиваться и расти, сможет ли вписаться в вашу команду. И чтобы найти хорошего джуниора, ниже мы приготовили список вопросов, о чем нужно спросить кандидата.

👉🏻Например, спросите его, чем заинтересовала его специализация. Случайно ли он выбрал и «вроде норм» или же ему нравится процесс создания удобных и крутых интерфейсов, максимально понятных конечному пользователю (если речь идет о сфере UX-дизайне). Здесь становится ясно, что такой кандидат умеет погружаться в процесс и четко понимает конечную цель.

👉🏻Какие технологии вы знаете и на каких уровнях?

Чтобы новичок быстро влился в команду, лучше брать тех, у кого есть опыт работы на реальных проектах и у кого есть дополнительные базовые знания (если ищите младшего разработчика на Java, то выбирайте из тех, у кого есть хотя бы начальные знания о базах данных, SQL и тд.) Практика необязательно, но общее понимание должно быть в идеале. Кстати, это еще говорит о том, насколько кандидат любит и готов развиваться. Можно также подробнее расспросить о курсах, почему выбрали именно их, что понравилсоь больше всего.

👉🏻Опыт о джуниоров практически часто отсутствует, поэтому спросите кандидата о проектах, над которыми они работали на курсах или просто для себя. Уточните также, какие сложности у него возникали и как он их решал? Это хороший вопрос, чтобы оценить также и личные качества - его подход к решению проблем, как он справляется с трудностями. Например, перед тем, как идти с проблемой к вышестоящему руководству, что он уже предпринял для решения?

👉🏻Мотивация разработчика - один из важных аспектов. Бывают специалисты, которые работают просто за деньги и при этом выдают постоянный качественный хороший результат. Но если к этому еще добавить увлечение проектом и погружение в него, а также замотивированность реализоваться в его рамках, то вы наймете того, кто быстро впишется в ваш проект и станет полноправным членом команды с перспективой роста. Поэтому всегда спрашивайте о мотивации - почему вы хотите у нас работать? Если кандидат познакомился с продуктом заранее и прокомментировал , что ему нравится в нем, а что нет, а не просто ответил «Вы крупная компания, интересные проекты будут», то это тот, кто вам нужен.

👉🏻Спросите вашего кандидата, чем он увлекается, как проводит свободное время, какие есть жизненные достижения и чем он гордится. Так часто бывает, что в компанию приходит хороший специалист высокой квалификации, но работа с командой не клеится, общение не складывается, новичок игнорирует совместные мероприятия. Во многих крупных компаниях часто набирают в одну команду совершенно разных людей, но у которых есть много общего - какое-то свое хобби, желание развиваться в непрофильной сфере, любовь к обучению. Когда вы спрашиваете о таких вещах, то можно быстро понять, подходит ли «днк» этого сотрудника культуре вашей компании и сможет ли новичок быстро сработаться с коллегами.

👉🏻Огромный плюс, если кандидат разбирается (хотя бы базовые знания) в методологиях создания продукта. Спросите его о принципах Agile, в чем разница между ней и Waterfall, и вы быстро поймете, насколько собеседник прокачен в этой области.

👉🏻Попросите кандидата решить несколько несложных задач. Это позволит вам оценить навыки человека сразу по нескольким пунктам: логическое мышление, как специалист обрабатывает и усваивает информацию, как он объясняет свое решение и в целом его коммуникативные навыки, скорость мышления и манеру поведения. Кстати, тут еще можно задать и другой вопрос - умеет ли кандидат оценивать сроки задачи, поэтому перед тем, как предложить ему решить их, уточните, сколько времени займет процесс.

👉🏻Также обязательно спросите джуниора, как и где он отслеживает новинки в технологиях. Это важное качество для начиющего специалиста - следить за тендцениями и быстро усваивать новую информацию.

Middle разработчики

Как нанимать разработчиков разных уровней

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

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

Если у вас уже есть несколько резюме подходящих кандидатов, подготовьте перед встречами следующие вопросы⬇

👉🏻«Расскажите об уровне владения языками, дополнительным инструментами, какими из стеков технологий в нашей компании вы не владеете.» Если от джуниора ждут базовых знаний языков и пары фреймворков, то более опытный разработчик обязан знать их досконально.

👉🏻«Расскажите о проектах, в которых вы участвовали.»

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

👉🏻«Какие методологии разрработки вы знаете». Большой плюс для джуниора - теоритически знать и понимать хотя бы одну модель. Более опытный разработчик уже должен поуспеть поработать в одной из них над проектом от начала и до конца, знать плюсы и минусы методологии, подводные камни, исходя из собственной практики.

👉🏻«Объясните понятным языком идею и конечную цель разработки каокго-нибудь проекта». Middle должен уметь общаться не только внутри команды, но и зачастую с клиентами тоже, так как специалисту придется выполнять разные роли - от наставника до тимлида. Поэтому навык убеждения крайне важен для эфффективной работы, и умение говорить - будет огромным преимуществом перед другми кандидатами.

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

👉🏻Есть очень много талантливых программистов, но далеко не все из них готовы стать наставниками для менее опытных специалистов. Нанимая человека в команду, вы должны понимать, что middle разработчик это тот, кто возьмет на себя джуниора и научит его всему, что знает, поможет справиться в сложной ситуации и поддержать, если нужно. Готов ли ваш кандидат взять на себя отвественность за менее опытных коллег?

👉🏻«Что нужно знать и понимать, чтобы стать хорошим разработчиком в вашей сфере?» Попросите разработчика перечислить технологии, инструменты и навыки. Расширенный ответ о том, как работает та или иная технология, о понимании идей и шаблонов, необходимых для работы, даст вам представление об опыте и текущем уровне специалиста.

👉🏻Есть специалисты, которые предпочитают оставаться на своем месте, любят командную работу и не торопятся расти в карьере. Качество, присущее хорошему мидлу - желание вырасти до сеньора или тимлида, развиваться и покорять новые вершины.

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

Senior разработчик

Как нанимать разработчиков разных уровней

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

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

Хороших сеньоров в «свободном планивании» на рынке не так много, поэтому лучше ограничиться 1-2 встречами и быстро принять решение, подходит ли вам кандидат или нет, сможет ли вписаться в проект и взять на себя отвественность.

На первой встрече (например, в онлайн-формате) лучше сразу подключить тимлида или фаундера, чтобы не терять время. В данном случае вашей задачей будет выяснить мотивацию спеца, его soft skills и насколько вы друг другу интересны.

👉🏻Спросите о работе над последним проектом - каую роль он выполнял, что делала основная команда. Важно определить, в каких задачах кандидат видит свою ответственность в проекте, умеет ли делегировать и как взаимодействует с командой.

👉🏻Что важно в рабочем процессе? Хороший вопрос, чтобы сразу распознать все подводные камни - корпоративная культура, режим работы, как происходит распределение задач. Возможно, представление о рабочем процессе специалиста в корне отличаются от вашей культуры, и это может стать большой проблемой в дальнейшем.

👉🏻Что мотивирует для работы над проектом? Также важная составляющая - сеньоры часто выступают в качестве менторов для молодых членов команды, и от них напрямую зависит «средняя температура по больнице».

И, конечно, следует уточнить, почему специалист хочет работать в вашей компании - деньги, бренд или проект.

Чего делать точно не следует с сеньорами - проводить групповые собеседования, предлагать пройти тесты на логику или IQ, превращать интервью в допрос с пристрастием.

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

Удачи!

Начать дискуссию