Рекомендации по процессу собеседования с разработчиками программного обеспечения

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

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

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

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


Предварительно

Первое, о чем я хотел бы упомянуть, это то, что стороны должны иметь информацию друг о друге до начала интервью.

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

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

Такая предварительная подготовка также экономит время, которое может быть потеряно на объяснение резюме или команды во время собеседования.


Способность к решению проблем

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

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


Не персонализация процессов

Что подразумевается под персонализацией процесса? Какие процессы могут быть персонализированы на собеседовании?

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

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

Еще одна вещь, которую не следует персонифицировать, независимо от процесса интервью, — это то, что вы должны описать свою проблему (например, человека, с которым у вас возникли проблемы в рабочей жизни), не персонифицируя ее, через причинно-следственную связь. Как же это можно сделать? Скажем, когда вас спрашивают о чем-то, что вам неприятно, вместо того, чтобы сказать: «Мне неприятен человек А, я с ним не работаю, он такой-то и такой-то», вместо того, чтобы сказать: «Проявление поведения х вызывает результаты у, эти негативные результаты нарушают мотивацию/спокойствие сотрудников», это покажет, что вы не персонализируете проблему, напротив, вы выступаете за улучшение процессов.


Быть реалистом

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

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


Кусочки советов

Да, мы уже рассмотрели общие темы. Теперь я хотел бы кратко поделиться с вами несколькими рекомендациями.

Разработчикам: Прежде чем приступить к решению поставленных перед вами задач, задавайте вопросы, чтобы выяснить масштаб проблемы. Установите ограничения. Сколько пользователей будут использовать систему Можно ли управлять процессом асинхронно HA, каковы приоритеты согласованности…

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

Разработчики: У проблем нет единственно правильного решения. Существуют различные подходы. Не обманывайтесь, думая, что собеседник ждет от вас однозначного ответа. Интерпретируйте проблему.

Интервьюеры: Стереотипными вопросами невозможно измерить знания или способности. Не используйте заученные вопросы и техники интервью.

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

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

Разработчики: Отрабатывайте такие темы, как паттерны проектирования, микросервисы, структуры данных, DDD, модульное тестирование, архитектура, кэширование, масштабирование, cap, брокеры сообщений, CI/CD. Эти темы будут подниматься на большинстве собеседований.

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

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

Интервьюеры: Задавая вопросы о проблемах, которыми вы занимаетесь, чтобы привлечь нужного человека в свою команду, вы сможете набрать людей с такими же взглядами и интересами. Если человек, которому вы задаете утопические вопросы, напишет «просто грубо», он будет разочарован.

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

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

Разработчики: Не унижайте свою прежнюю компанию или своих коллег. Если у вас возникли проблемы, расскажите о «проблемном поведении», не переходя на личности.

Интервьюеры: Получите актуальную информацию о прошлых проектах и интересах кандидата. Не задавайте смешные вопросы, например, что такое SOLID, что такое Factory Pattern, опытному кандидату, который работал над хорошими проектами.

Разработчики: Вопросы будут задаваться для того, чтобы определить, насколько вы опытны в той или иной теме. Не чувствуйте себя загнанным в угол или задающим вопросы. Помните, что вы можете задавать встречные вопросы как часть процесса, и вы не обязаны знать все.


Спасибо, что дочитали до конца. Увидимся в другой статье.

Хотите пообщаться?

Twitter
Linkedin
Github

Оцените статью
devanswers.ru
Добавить комментарий