Подбор программистов от «А» до «Я»

advertisement
Подбор программистов от «А» до «Я»
http://www.soft-staff.ru/stat8.html
Дефицит квалифицированных IT-специалистов на рынке труда продолжает расти. По
некоторым данным, в «очередь» за каждым программистом «выстраиваются» до пяти
работодателей. В таких условиях у компаний появляется огромный соблазн брать на
работу каждого, кто соответствует требованиям, предъявляемым к технической
подготовке специалистов. Тем не менее, менеджеры по персоналу, занимающиеся
подбором кадров в области программирования и тестирования программного
обеспечения, должны понимать, что даже в таких условиях при принятии решения о
найме нового сотрудника, необходимо учитывать его личностные качества. Ведь эти люди
не только пишут коды или тестируют программы, но и являются членами проектной
команды, общаются с представителями заказчика (и дистанционно, и лично - во время
командировок).
Учитывая сложность рекрутингового процесса в IT-компании, мы систематизировали
предъявляемые к каждому кандидату требования и стандартизовали сам процесс подбора.
Он состоит из пяти этапов ( рис. 1 ):
 Формирование требований к кандидатам и составление заявки.
 Поиск претендентов, отвечающих требованиям открытой вакансии, определение
«короткого списка».
 Проведение тестирования и собеседований.
 Принятие решения.
 Первичное закрытие вакансии (окончательно вакансия закрывается после того, как
новый сотрудник пройдет испытательный срок).
Начинаем мы с одного из самых важных моментов в подборе персонала: определения
того, кто нам на самом деле нужен. Основной принцип, которому мы следуем при отборе
кандидатов: прежде всего, человек должен знать свое дело, уметь работать. Если в
знаниях имеются пробелы и навыки не соответствуют нашим требованиям, то претендент
должен обладать достаточно высокой способностью к обучению.
Приступая к закрытию вакансии, менеджер проекта формирует заявку на нового
сотрудника. В нашей компании такая заявка составляется в произвольной форме, главное,
чтобы в ней были определены технические требования (языки программирования,
технологии) и позиция, которую будет занимать будущий сотрудник (младший
разработчик, ведущий тестировщик и т. п.). У менеджеров по персоналу, со своей
стороны, имеется перечень требований, которые компания предъявляет ко всем без
исключения кандидатам, проходящим у нас собеседование. В их основе лежат
общекорпоративные стандарты, профили должностей ( position profile ), а также
специфические требования конкретного проекта.
1
Рис. 1. Этапы подбора IT-специалистов
2
Например, кандидат на позицию младшего разработчика программного обеспечения
должен обладать, как минимум, следующим набором знаний и умений: знать хотя бы
один язык программирования; понимать структуры данных, основные техники дизайна,
систему кодирования; уметь комментировать код; иметь навыки написания
технической документации на английском языке; уметь проводить автоматическое
тестирование элементов кода; иметь навыки работы в команде.
Затем менеджер по персоналу открывает вакансию, составляет текст объявления для
размещения в СМИ или на специализированных сайтах и начинает поиск кандидатов.
Для того чтобы отметить особенности отбора технических специалистов, рассмотрим
третий этап этого процесса - проведение тестирования и собеседований.
В соответствии с требованиями, предъявляемыми компанией и руководителем проекта,
перед прохождением «технического» собеседования кандидату предлагается выполнить
тестовые задания. Они позволяют выявить умение решать задачи, связанные с
технологиями, которые будут применяться в работе.
Некоторые компании используют для оценки кандидатов уже готовые решения, например,
систему brainbench . Положительная сторона автоматизированной оценки заключается в
том, что система предлагает множество тестов по самым разным направлениям,
различных уровней сложности. Однако это достаточно дорогое удовольствие. В нашей
компании для оценки технических знаний и навыков кандидатов разработаны тесты по
различным языкам программирования и технологиям с учетом специфики конкретных
проектов. С помощью этих тестов технические интервьюеры могут определить, насколько
кандидат знает свое дело.
Результаты выполнения теста служат «канвой» для технического собеседования, во время
проведения которого с кандидатом обсуждаются использованные им при решении тех или
иных задач подходы. Это стандартизирует процесс проведения собеседования, а кроме
того, помогает менеджерам сравнивать уровни владения навыками программирования у
разных кандидатов.
Помимо знаний и опыта кандидата во время проведения технического собеседования мы
оцениваем также:



интеллектуальный фактор (сложность выполненных человеком задач,
организованность и системность мышления, умение внятно сформулировать и
передать свои мысли);
мотивационный фактор (предпочтения и ожидания человека);
личностный фактор (поведение кандидата на интервью).
Конечно же, технические собеседования находятся в компетенции исключительно ITспециалистов, причем из числа тех, кто действительно является экспертом в своей
области. Задача эйчара - дать рекомендации по проведению собеседований, обучить
линейных менеджеров техникам интервьюирования. Мы проанализировали различные
рекомендации о том, как проводить собеседования со специалистами, работающими в
сфере IT. Лучшие из этих разработок мы используем у себя в компании, и некоторыми из
них я хочу поделиться*.
3
При подготовке к собеседованию рекомендуем техническим интервьюерам прочитать
резюме кандидата и набросать на листке бумаги план проведения интервью (составить
список вопросов, связанных с разбором выполненного кандидатом теста, и
дополнительных). Помня о том, что разработка программного обеспечения - это
творческий процесс, предполагающий умение решать сложные нестандартные задачи, мы
рекомендуем менеджерам и к интервью подходить как к нестандартной задаче.
Ниже приводятся вопросы, рекомендуемые при проведении интервью с кандидатом на
позицию программиста, а также возможные варианты интерпретации полученной
информации и особенности ответов, на которые необходимо обращать внимание.
«Вопрос о последнем проекте». На самом деле, спросить можно о любом проекте, в
котором кандидат недавно принимал участие. Если он только что окончил институт,
задайте вопрос о теме диплома, о курсовом проекте. При интервьюировании опытных
кандидатов целесообразно спрашивать о предыдущем месте работы.
Эта часть собеседования очень показательна, так как подобный рассказ помогает
менеджеру получить общее представление об опыте кандидата, о сложности проектов, о
том, какие роли он выполнял и какие хотел бы выполнять. Эйчару нужно обращать
внимание на то, говорит ли человек о своей работе с увлечением, насколько готов
вдаваться в детали, доводил ли он до конца свои прошлые проекты. Также во время
интервью кандидат может затронуть (или же менеджер может задать ему наводящий
вопрос) о взаимоотношениях с другими членами команды, в которой он работал. Этим
моментам стоит уделить большое внимание, особенно если кандидат будет трудиться в
уже сформированной команде.
«Вопрос на засыпку». Смысл этого задания в том, чтобы оценить, как кандидат будет
действовать в нестандартной ситуации, насколько он готов к решению сложных задач.
Например: «Каково суточное потребление бензина в Киеве?» или «Сколько тонн цемента
понадобилось для строительства туннеля под Ла-Маншем?»
Находчивый и сообразительный кандидат поймет, что над ним не издеваются, и будет
искать ответ. Если же человек начнет волноваться, можно задать ему наводящие вопросы:
«При населении 4 млн. человек в Киеве, какое количество машин возможно использовать
в городе? В среднем потребление на одну машину...» Тут главное - не правильность
ответа, а сам подход, который использует кандидат для поиска решения, его готовность и
умение находить решения.
«Функция на языке программирования». Мы не можем взять на работу человека, не
узнав предварительно, как он кодирует. Вариант: можно попросить кандидата заранее
выслать образец своего кода (но в таком случае не видно, насколько вдумчиво претендент
подходит к его написанию). Имеет смысл предложить человеку написать от руки
несколько строчек кода, например, на С.
Наблюдая, как кандидат пишет код, можно использовать следующие полезные приемы:
признак хорошего программиста - он думает перед тем, как писать программу, и имеет
привычку сразу ставить фигурные скобки {и} и писать между ними. У него обычно есть
своя, пусть и примитивная, система присвоения имен.
«Обсуждение функции». Теперь возникает необходимость обсудить написанный код,
спросить кандидата, нравится ли ему то, что он написал и почему. Можно поставить
вопрос и таким образом: «Где здесь ошибка?»
4
Все программисты ошибаются, в этом нет ничего особенного, но нужно уметь находить
свои ошибки и признавать их, поскольку от этого зависит конечный результат работы
многих (других членов команды программистов, тестировщиков, заказчиков).
«Вопрос по дизайну». Можно попросить кандидата что-нибудь спроектировать. С
помощью этого задания мы получим представление о том, способен ли он обдумывать
задачу, задавать вопросы, использовать полученную информацию, насколько творчески
он подходит к решению поставленных задач, может ли принимать решения.
Думающий специалист попытается вытянуть из интервьюера побольше информации.
Например, для кого предназначен дом, который ему нужно спроектировать; чем
занимается владелец дома, какой ведет образ жизни. Такой кандидат не считает, что
проектирование сродни рисованию: вот чистая доска, можно делать, что захочешь, а
понимает, что речь идет о сложной последовательности компромиссов. Джейб
Блюменталь (Jabe Blumenthal), первый дизайнер Excel'я, любил просить претендентов на
вакансию программиста спроектировать домик. Он говорил, что встречались люди,
немедленно рисующие квадрат. Это были явные кандидаты на отсев.
«Вопрос-провокация». В процессе интервью нужно дождаться, пока кандидат не скажет
что-нибудь абсолютно, бесспорно верное. Тут надо сказать «минуточку, минуточку» и
пару минут поиграть в «адвоката дьявола», то есть поспорить с кандидатом, твердо зная,
что он прав.
В этом случае мы наблюдаем за реакцией, умением отстаивать свою точку зрения,
убеждать, аргументировать.
Конечно, не всегда есть время и возможность задать все вопросы, но у опытного
интервьюера в запасе непременно имеется несколько «любимых» вопросов, задачек, с
помощью которых он может определить, насколько кандидат знает свое дело и умеет его
делать.
Помимо технического собеседования, все кандидаты проходят интервью с менеджером по
персоналу. Это стандартизированная процедура, позволяющая эйчару оценить кандидата
по «нетехническим» аспектам, связанным с работой в компании. Например, мы
обязательно сверяем реальный опыт кандидата с тем, что указан в его резюме. Также
интересуемся, чего ожидает человек от новой работы, насколько он готов трудиться в
интенсивном режиме, ездить в командировки, повышать свою квалификацию и т. п. Его
ответы могут серьезно повлиять на вопрос о трудоустройстве в компании. Например, если
в процессе работы над проектом предстоят командировки, а у кандидата имеются
препятствия для получения визы в страну заказчика, это может послужить основанием для
отказа. Выше представлен образец стандартизованной формы, которая заполняется
менеджером по персоналу во время проведения такого интервью ( табл. 1 ).
Табл. 1. Стандартная форма интервью с кандидатом
№
1
Вопрос
У меня есть
несколько
вопросов по
Вашему
Удовлетворител
Хорошо
ьно
Опыт работы/Мотивация
текст резюме
в текст резюме
в целом, текст
отличается от внесены
резюме
информации,
дополнения,
соответствует
предоставленн дающие более
предоставленной
Плохо
5
Отлично
резюме
полное и
подробное,
не
резюме.
Давайте
внесем
некоторые
уточнения
2
3
Что для Вас
важно в
работе?
ой на
полную
собеседовании информацию о
кандидате
не может
вспомнить
путается при
названия
уточнении
компаний, где названий
работал
компаний и
раньше, сроки периодов работы
работы
нет путаницы в
датах и
названиях
компанийработодателей
имеет при
себе
портфолио,
рекомендаци
и
отказывается
от внесения
уточнений
признает, что в
резюме есть
неточности
не может
определить
в качестве
приоритета
называет
возможность
получить опыт
в качестве
приоритета
называет
возможность
повысить свой
материальный
достаток
в качестве
приоритета
называет
возможность
самореализац
ии
свободный
график
возможность
быть в
коллективе,
общаться с
людьми
профессиональн
ый рост
любовь к
делу, «к
искусству»
комфорт
рабочего
места,
удобное
расположение
офиса
нахождение
трудовой книжки
в хорошей
компании
сама работа, ее
смысл, интерес к
ней
интересуется
только
зарплатой
4
требующее
уточнений
готов
предоставить
дополнительные
сведения
обращает
внимание
только на
удобство
В какой
местоположен
компании Вы
ия
хотели бы
работать?
Дайте,
пожалуйста,
характеристи
ку команды,
информации
предпочитает
одиночную
работу
ищет
стабильности
,
стремится
заинтересова
работать в
ищет
н в работе в
хорошем
стабильности
крупной
коллективе
компании с
отлаженными
бизнеспроцессами
интересуется
интересуется
интересуется
самим проектом, возможностя
сферой
возможностью
ми
применения своих
профессионально самореализац
разработок
го роста
ии
дает внешнюю
дает
характеристику
объективную
команды
характеристику
(количество
команды (четкое
6
в которой Вы
наиболее
эффективно
работали бы?
человек, пол,
возраст)
«Мне все
равно, в какой
команде
работать»
5
Кейс «Выбор
команды»
не проявляет
интереса к
разбору кейса
«Мне важен
дружный
коллектив»
выбирает
команду с
дружескими
отношениями,
уделяя меньше
внимания
профессионализм
у
распределение
ролей,
профессионализ
м, стремление к
общей цели)
«Мне важен
дружный
коллектив,
каждый член
которого знает
свой участок
работы»
выбирает
команду с
хорошими
отношениями,
профессионализ
мом участников
выбирает
команду со
сложными
отношениями
,
напряженны
м графиком
работы,
высокопрофе
ссиональную,
нацеленную
на результат
Кроме того, мы предлагаем кандидатам выполнить несколько заданий (письменных и
устных) на английском языке.
После того как выполнены все тесты и пройдены собеседования, принимается решение:
брать ли кандидата на работу, и если да, то на какую позицию (младший разработчик,
старший разработчик) и с какими условиями найма. В нашей компании это решение
принимают совместно технический интервьюер и менеджер по персоналу. Мы
разработали стандартную форму для оценки кандидата, она помогает сделать правильный
выбор. С помощью этой формы сначала определяется «желаемый» (или «идеальный»)
портрет кандидата, а затем, в процессе проведения собеседования и оценки, сравниваем
«идеал» с реальным портретом претендента. Такая предварительная оценка помогает нам
не только сделать правильный выбор из нескольких кандидатов, но и оценить в будущем
потребности в обучении для нового сотрудника (какие необходимые для работы в
компании навыки следует развивать в первую очередь).
При заполнении формы мы используем четырехбалльную шкалу оценок: 1 - «плохо», 2 «удовлетворительно», 3 - «хорошо», 4 - «отлично». По степени важности того или иного
навыка для вакантной позиции приняты четыре уровня: 1 - «неважно» (практически не
используется); 2 - «желательный навык, но не обязательный»; 3 - «обязательный для
работы навык»; 4 - «обязательно владение навыком на уровне эксперта». Пример
заполненной формы приведен в таблице 2 .
Табл. 2. Заполненная форма оценки кандидата
7
Для того чтобы более наглядно представить полученные результаты и облегчить
сравнение оценок нескольких кандидатов, мы используем web-диаграммы ( рис. 2 ). На
них указан желаемый и реальный уровни навыков кандидатов.
Рис. 2. Диаграмма результатов сравнения оценок кандидатов
8
Помимо заполнения стандартизованной формы интервьюеры пишут небольшое эссе, в
котором излагают свои впечатления о кандидате. Как правило, они описывают уровень
обучаемости и аналитических способностей претендента, классифицируют его (относят к
разряду тех, кто способен немедленно приступить к решению задач либо к разряду тех,
кто начнет давать отдачу позже, после прохождения обучения и накопления
определенного опыта). Такой подход позволяет систематизировать работу с кандидатами
и принимать наилучшие решения. Кроме того, сокращается время закрытия стандартных
вакансий.
* Для разработки рекомендаций использовалась статья известного американоизраильского программиста Джоэла Сполски ( Joel Spolsky ) «Искусство проведения
интервью».
Плыгунова Ирина, «Менеджер по персоналу»
9
Download