- Что следует узнать у разработчиков
- Советы интервьюеру для подготовки к собеседованию
- Техническая часть вопросов
- Чего не стоит делать на собеседовании
- Заключение
Поиск грамотного специалиста по разработке – сложный процесс. Квалифицированный сотрудник с опытом и большим набором навыков на рынке труда на вес золота. 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.