Как проводить собеседование на должность разработчика

Содержание:

Поиск грамотного специалиста по разработке – сложный процесс. Квалифицированный сотрудник с опытом и большим набором навыков на рынке труда на вес золота. HR-менеджер или руководитель должен потратить на интервьюирование кандидатов много времени и сил. Сложностью также является необходимость проверить технические знания будущего работника. Как же подготовиться к собеседованию и какие вопросы задавать? Рассмотрим далее подробно.

Что следует узнать у разработчиков

Мы поинтересовались у специалистов, которые по долгу службы принимают на работу Junior, Middle, Senior разработчиков, как они предпочитают проводить интервью и по каким критериям выбирают себе людей в команду.

По их словам, в начале собеседования лучше создать доверительную атмосферу: показать дружелюбное расположение, удостовериться в том, что гость чувствует себя комфортно в вашем офисе. Предложите кандидату рассказать немного о себе, об опыте на предыдущих должностях. Хорошим вопросом для Middle и Senior уровней будет просьба описать его наиболее сложной задачи, с которой приходилось сталкиваться на рабочем месте, и к каким способам решения он прибег. Также раскрывает специалиста то, чем он больше всего гордится в профессиональной деятельности (задачи, разработки, проекты, решения).

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

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

На основе имеющихся знаний специалистов отрасли информационных технологий мы подготовили ряд рекомендаций, как HR-менеджеру подготовиться к интервью:

  • Для начала нужно четко определиться со списком требований к кандидату. Для опытных разработчиков остро стоит вопрос времени, поэтому, придя на собеседование, они хотят увидеть конкретный список рабочих обязанностей вакансии. Уместно будет предоставить должностные инструкции и информацию об особенностях работы в предприятии. Посетив офис, человек должен понимать, какие условия его ожидают, и к чему надо быть готовым, принимая предложение.
  • Определитесь с оптимальным бюджетом. Зарплата прямо коррелируется с мотивацией сотрудника, его самоотдачей и списком требований. Исследования говорят, что Senior разработчик в Соединенных Штатах может рассчитывать на среднюю оценку труда в 85 000 долларов за год. Удаленная работа чаще всего предполагает почасовую оценку, и заработок таких сотрудников варьируется в пределах 60-120 долларов за час работы. В расчет финальной суммы входят такие критерии как местоположение и список обязанностей специалиста. Для того чтобы вычислить оклад в рамках вакансии вашей компании, проведите анализ рынка, и с учетом этих данных определяйте свою цифру. К примеру, на территории России разработчик в IT-сфере может получать около 200 000 рублей ежемесячно. Но разбег здесь большой и все зависит от типа компании и опыта ожидаемого сотрудника. Средняя мировая зарплата в этой отрасли составляет примерно 89 000 долларов США.
  • Подумайте над реальными дедлайнами для кандидата. Специалист может потребовать дополнительное время перед тем, как полностью войти в новую должность. Стоит учитывать этот критерий. Кроме того, для вас процесс отбора наиболее подходящего кандидата – это тоже время.Если для выполнения проекта срочно требуется специалист, есть вариант нанять фрилансера. Пока он будет работать, вы сможете спокойно искать человека в штат.
  • Перед собеседованием подготовьтесь. Не только кандидат собирает информацию, продумывает, что он будет говорить. Ваша задача – точно ответить о компании, должности, обязанностях и чертах идеального соискателя, и каким вы видите процесс сотрудничества.

Техническая часть вопросов

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

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

Как проводить собеседование на должность разработчика

Мы собрали ряд характерных вопросов, которые будет уместно задать при приеме на должность разработчика.

Что актуально спросить у Junior специалиста:

  • Как он объясняет основные принципы объектно-ориентированного программирования.
  • Чем отличаются значимые и ссылочные типы.
  • Что подразумевается под понятиями боксинга и анбоксинга.
  • Как обрабатываются исключения.
  • Что представляет собой сборка мусора.
  • О понятии Generic и зачем необходимы подобные типы.
  • О пространстве имен (namespace) и его предназначении.

Хороший Junior разработчик в ходе интервью демонстрирует большое желание обучаться, развиваться в сфере, уделять много времени самосовершенствованию.

Вопросы для Middle специалиста:

  • Знания о паттернах и их использовании;
  • О способах отладки приложения;
  • Что он думает об иммутабельности;
  • Применяет ли разработчик логирование при написании кода;
  • О понятии чистой функции;
  • О внедрении зависимостей и его целях;
  • Принципы работы асинхронных методов и их отличие от параллелизма.

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

Что можно узнать у Senior специалиста:

  • О проектах, над которыми он работал и их архитектуре (конечно, с учетом подписанных соглашений о неразглашении данных).
  • Также уточняют о наиболее сложных проблемах, с которыми приходилось сталкиваться.
  • Возможные проблемы, которые связывают с параллелизмом данных.
  • Доступные инструменты для анализирования реляционных баз данных.
  • О способах работы с очередями и продуктах взаимодействия с ними.
  • О принципах функционирования микросервисов между собой, их плюсах и минусах.
  • Как Senior собирается заниматься отлаживанием системы, в которую включены микросервисы, если задача состоит в определении полного пути по обработке запроса.

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

Чего не стоит делать на собеседовании

Профессиональное интервью для Junior, Middle и Senior специалистов требует хорошей подготовки и компетентности со стороны HR-менеджера. Ведь то, как компания принимает гостей-соискателей, создает определенный имидж: часто такие собеседования обсуждаются в IT-комьюнити среди разработчиков.

Многие считают не очень уместным во время знакомства устраивать экзамен на знание теории. Например, уточнять у кандидата, как расшифровываются профильные аббревиатуры. Уровень специалиста не измеряется ответами на вопросы следующего плана: что такое ROR, SOLID, FOSS и тому подобное.

Также просьба написать на бумаге код может вызвать недоумение у специалиста. Вне интегрированной среды разработки программисту нет необходимости писать его.

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

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

Заключение

Квалифицированного специалиста найти не так-то просто. Как правило, такие кандидаты очень востребованы на рынке труда. Поэтому задачей HR-менеджера при поиске идеального соискателя является своевременное предложение. Скорее всего, профессионал не будет оставаться долго без работы: и пока вы думаете, конкуренты уже готовы взять его к себе.

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

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

Присоединяйся к DevEducation — стань востребованным специалистом и построй карьеру в IT!