"Время — деньги. Создание команды разработчиков программного обеспечения" - читать интересную книгу автора (Салливан Эд)

Собеседование с кандидатом

Наконец появился хороший кандидат. Следующий шаг — собеседование. Далее я расскажу о принципах его проведения.

Команда, проводящая собеседование

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

Ключевые темы

При собеседовании вы должны оценить:

• квалификацию;

• преданность;

• отношение к делу;

• поведение;

• умение работать в команде:

• жажду знаний.

Оценка квалификации

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

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

• «Что такое потоки?»

• «Как они функционируют?»

• «Зачем они применяются?»

• «Каковы наиболее распространённые проблемы использования потоков?»

• «Опишите наиболее сложную проблему, связанную с потоками, которую вам удалось решить».

Откровенно говоря, один и тот же набор вопросов вы можете использовать для самых разнообразных тем, скажем, обсуждая СОМ, серверы Sun и базы данных Oracle. Если ответы становятся короче и поверхностней, стоит копнуть глубже. Но если кандидат отвечает свободно, подробно и приводит примеры из реальной жизни, вы, скорее всего, имеете дело с кандидатом, знающим своё дело.

Из собственного опыта

Как-то в NuMega мы связались с кандидатом, из резюме которого следовало, что он был архитектором сложных систем на базе СОМ, и мы попросили своих экспертов по СОМ провести с ним собеседование. Сначала кандидата попросили схематически изобразить его проект на доске, а затем пройтись по объектной модели и объяснить проектные решения. Кандидат нарисовал на доске один квадратик, долго на него таращился, а потом сказал: «Ладно, поймали. Я соврал в своём резюме — я это не разрабатывал». Вывод: всегда нужно убедиться, что кандидат умеет делать то, что он декларирует.

Ключевые вопросы

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

• Квалификация.

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

— Расскажите о сложной проблеме, которую вам пришлось выявлять и устранять. Что это было? Как вы её обнаружили? Каково было решение?

— Расскажите о каком-нибудь фрагменте кода, который вам нужно было написать в сжатые сроки. Как вы это делали? Получилось ли у вас и почему?

• Преданность.

— Какая часть вашего предыдущего проекта была самой сложной? Как вы к этому относились? В чём заключалась ваша роль? Что получилось в результате?

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

• Отношение к делу.

— Опишите последний случай, когда вы не уложились в сроки. Что случилось? Как вы реагировали? Что произошло потом?

— Опишите последний случай, когда вы оказались в затруднительном положении. Из-за чего? Как вы реагировали? Как вы вышли из положения?

• Поведение.

— Опишите последний случай, когда вы отвлеклись от своих дел, чтобы помочь кому-то другому. Почему вы это сделали? Каков был результат?

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

• Умение работать в команде.

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

— Каковы наиболее важные принципы плодотворной работы с другими людьми? Почему? Приведите примеры, подтверждающие ваше мнение.

• Жажда знаний.

— Как вы поддерживаете свои знания? Какие книги или журналы вы читаете, какие выставки посещаете?

— Опишите, что сейчас происходит на рынке с продуктом X. Что может случиться в дальнейшем?

Из собственного опыта

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

Обратная связь и завершение собеседования

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

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

Тестирование кандидата

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

Зачастую наиболее важная часть теста — не тест как таковой, а реакция на него. Не паникует ли кандидат? Не сдаётся ли он через пять минут? Находит ли он творческое или уникальное решение? Прилагает ли усилия? Не сломило ли его то, что он не смог закончить тест или не нашёл ответа?

Многие считают, что собеседование — порядочный стресс и без тестирования. Может быть, но работа в среде разработки ПО — стресс ещё больший. Вы должны быть уверены, что ваш человек до определённой степени умеет справляться со стрессами.

Из собственного опыта

Многие годы мы предлагаем одни и тот же программистский тест каждому разработчику. Он не требует никакого оборудования или обращения к справочникам. Кандидатов просят написать программу, отображающую на экране свой собственный исходный текст, не обращаясь к чтению файлов. Хотя для многих кандидатов этот тест оказался сложным, он позволил многое в них открыть. Кое-кто сдавался через пару минут, другой присылал ответ потом, поскольку не нашёл решения во время собеседования. Один даже позвонил из самолёта, возвращаясь с собеседования! Не такие ли люди вам нужны?

Примеры разработок

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

Привлечение кандидата

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

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

• что вы предлагаете в плане технологий?

• над какими продуктами будет работать кандидат?

• как можно охарактеризовать компанию, в которой будет работать кандидат?

• в чём уникальность предложения?

• какие уникальные преимущества есть у предлагаемой рабочей обстановки?

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

Из собственного опыта

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

Вопрос: что вы предлагаете в плане технологий?

Ответ: Windows-программирование на нижнем уровне.

Вопрос: над какими продуктами будет работать кандидат?

Ответ: средства разработки и отладки.

Вопрос: как можно охарактеризовать компанию, в которой будет работать кандидат?

Ответ: стремительно развивающаяся коммерческая компания — поставщик ПО.

Вопрос: в чём уникальность предложения?

Ответ: применение передовых закрытых технологий Microsoft и Intel; работа в элитарной команде разработчиков.

Вопрос: каковы уникальные преимущества предлагаемой рабочей обстановки?

Ответ: непринуждённая обстановка, ориентированная на комфорт разработчиков, сочетающая работу и отдых.

Окончательное решение

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

• вы нашли победителя;

• вы не нашли победителя;

• не ясно, кого вы нашли — мнения разделились.

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

Дополнительные усилия

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

Предложение

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

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

Дальнейшие шаги

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

Если вы упустили кандидата

Принятие решения — процесс эмоциональный, здесь и мелочи могут сыграть определённую роль. Когда кандидат говорит «нет», убедитесь, что на то есть серьёзные причины, а не какие-то легко разрешаемые пустяки. Для этого нужно разобраться, почему предложение отклонено. Не успокаивайтесь, услышав о «лучшем предложении». Нужно понять, что лежит за этим ответом.

Из собственного опыта

У нас как-то был хороший кандидат на должность тестировщика, отказавшийся от нашего предложения по «семейным обстоятельствам». Поговорив с ним, мы выяснили, что он обещал свозить свою семью в диснеевский парк. Он думал, что у него не будет свободного времени из-за жёсткого графика, связанного с выпуском нашего продукта. Вообще-то он был прав — нам были нужны люди, готовые сразу приступить к работе и довести её до конца. Но, узнав причину отказа, мы обсудили ситуацию с руководством и согласились, что он — ценное дополнение к нашей команде и достоин того, чтобы учесть его «семейные обстоятельства»

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