HR-блог про IT рекрутинг от ИТ Кадрового агентства

Как брать интервью у младших разработчиков

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

Роль младшего инженера в организации

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

Разгрузите менее сложные задачи

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

Создайте свою инфраструктуру и процессы

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

Готовы ли вы нанять младших программистов?

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

Есть ли у вашей команды необходимые управленческие навыки?

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

Есть ли у вас сотрудники, которые могут выступать в роли наставников?

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

Типы младших разработчиков

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

Недавние выпускники

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

Разработчики-самоучки

В процессе найма вы также, вероятно, встретите больше разработчиков-самоучек.
Программирование всегда было областью, в которой энтузиасты и любители преуспевали, и вам не обязательно нанимать кого-то со степенью в области компьютерных наук (в конце концов, Билл Гейтс, как известно, бросил учебу). Вы даже можете обнаружить, что более высокая степень не обязательно означает более квалифицированного кандидата.
У людей постоянно растет набор возможностей для развития навыков программирования за пределами традиционных академических учреждений посредством онлайн-обучения. Coursera, например, предоставляет доступ к онлайн-курсам, а CodinGame позволяет разработчикам тестировать и развивать свои навыки.
Кандидаты с таким опытом, скорее всего, проявят большой энтузиазм к программированию. У них также может быть гораздо больше практического опыта участия в проектах с открытым исходным кодом, что может дать им преимущество в практических вопросах, таких как ветвление и слияние кода. Тем не менее, вы должны помнить о том, что у этих кандидатов могут быть пробелы в знаниях по теории и передовому опыту разработки.

Что должен знать каждый младший программист

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

Фундаментальные знания программирования

Для начала ваши потенциальные сотрудники должны быть знакомы с основами языков, которые вы в первую очередь разрабатываете. Хотя вы должны ожидать, что потребуется некоторое обучение «на рабочем месте», кандидаты все равно должны иметь базовую базу знаний, которая позволит им читать и писать код на этом языке или близком ему языке. Просто убедитесь, что ваш процесс отбора и вопросы на собеседовании ориентированы на освещение этих основ и не дисквалифицируют автоматически кандидатов за отсутствие знаний более продвинутых концепций.
Ваши потенциальные сотрудники должны обладать некоторыми знаниями в общих областях проблем, таких как веб-разработка. Например, свободное владение веб-технологиями, такими как HTML, должно быть обязательным. Чем больше они смогут взаимодействовать с другими технологиями, такими как CSS и JavaScript, тем лучше.

Способность к устранению неполадок

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

Процесс собеседования для младших программистов

Отбор младших кандидатов

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

Интерактивные интервью по программированию в реальном времени

После того, как вы выбрали кандидатов для собеседования, вы можете проводить интерактивные собеседования по программированию в реальном времени с помощью онлайн платформ.
Собеседования по программированию в реальном времени считаются лучшим вариантом как кандидатами, так и рекрутерами: 78% разработчиков и 79% рекрутеров говорят, что собеседование по программированию в режиме реального времени является их предпочтительным форматом собеседования.
Кроме того, 74% разработчиков считают, что живые собеседования по программированию — лучший способ продемонстрировать свои навыки. Такое собеседование позволяет вашей команде получить представление о том, как они взаимодействуют с кандидатом.

Лучшие практики для собеседований по программированию в реальном времени

Хотя личные собеседования сопряжены со своими проблемами (кандидаты находят место и т. д.), при онлайн-собеседованиях также могут возникнуть проблемы. Они могут варьироваться от технических сбоев до неправильных интерпретаций.

Избегайте технических сбоев

Один из советов по обеспечению надежного и бесперебойного взаимодействия — заблаговременно сообщите вашему заявителю, что ему необходим доступ к надежному подключению к Интернету

Оцените мягкие навыки

Более сложный вопрос — как обеспечить адекватную оценку «мягких навыков» разработчика. Согласно нашему технологическому опросу 2022 года , 30% разработчиков испытывают трудности с удаленной демонстрацией своей личности и навыков общения. Чтобы обойти эту проблему, есть несколько стратегий, которые вы можете использовать во время самого собеседования.

Выберите хорошие примеры задач

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

Оцените, насколько хорошо вы работаете вместе

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

Сделайте свое интервью динамичным

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

Дайте вашим кандидатам домашнее задание

Наконец, полезно предоставить кандидатам возможность выполнить домашнее задание, а также оценить, как они справляются с проблемой, которая может быть более серьезной, чем можно решить в ходе собеседования. Вы также можете увидеть, добивается ли кандидат большего успеха без давления живого собеседования, где он может быть слишком озабочен тем, чтобы произвести хорошее впечатление.
Мы - ИТ кадровое агентство, которое поможет вам найти разработчиков за менее чем 2 недели. Гарантируем поиск самого сильного кандидата, а не самого дорогого. За 10 лет мы закрыли более 5500 вакансий и собрали более 25 команд с нуля. Вы можете ознакомиться с отзывами наших клиентов о нашем рекрутинговом агентстве. Если вам нужны дополнительные референсы, напишите нам в Telegram.