Девиз компании SouthWest Airlines: «Мы нанимаем жизненные позиции». Необходимо помнить, что мотивация разработчиков ПО начинается с приема на работу. В старой экономике людей нанимали за умения и обучали нужному отношению к делу. В новой экономике необходимо поступать с точностью до наоборот: нанимать за нужное отношение к делу и учить необходимым умениям. Не следует более нанимать людей, которые знают и умеют, а потом заниматься промыванием их мозгов и пытаться мотивировать их на эффективную работу. Нанимаем людей с правильным отношением к жизни, ищем тех, кто хочет работать, а затем, если необходимо, помогаем им получить требуемые технические навыки. Настоящий лидер предлагает не работу, а возможности.
В идеале, конечно, следует стараться привлечь и знающих, и умеющих, и подходящих по своим жизненным позициям. Но если приходится выбирать, то правильнее выбрать жизненную позицию. Рональд Рейган говорил: «Окружите себя самыми лучшими людьми, которых вы только сможете найти, передайте им в руки власть и не мешайте им». Этот подход не столько близок мне по характеру, сколько проверен опытом.
В настоящее время нет каких-либо достоверных формальных методик определения квалификации программиста. Мой опыт показывает достаточно значимую корреляцию хороших способностей к программированию и сверхвысокого значения IQ . Высокий балл диплома и престижное математическое или техническое образование свидетельствует об общих способностях кандидата успешно осваивать новый материал. Диплом о престижном высшем образовании немаловажен для хорошего программиста, хотя и не является необходимым условием. Я знаю программиста, который, не имея высшего образование, успешно руководит командой разработчиков в представительстве известной иностранной фирмы.
Отдельно остановлюсь на тестах и практических заданиях по специальности. Относительно их необходимости у меня имеются большие сомнения. Как правило, технические тесты ориентированы на проверку узкоспециальных знаний: структур данных, алгоритмов, конкретных стандартов и API, и т.д. Правильный/неправильный ответ на вопрос: «i=1; i = i++ + ++i; чему равно i?», — мало о чем свидетельствует. Попытки давать кандидатам олимпиадные задачки по программированию, или задачки из книжки «Математические головоломки», у меня, как правило, ассоциируются со стремлением, возможно, не очень успешных вчерашних студентов к самоутверждению или с желанием продемонстрировать кандидату его несостоятельность, чтобы затем снизить предложение по зарплате. Я применял тесты по специальности — несколько десятков простых вопросов на 15–20 минут по базовым понятиям стека технологий J2EE таких, которые просто невозможно не знать, если ты имеешь практический опыт в данной области. Результаты этого теста использовались только для того, чтобы выяснить, в какой области кандидат более уверенно ориентируется и адекватнее позиционировать его среди имеющихся направлений разработки.
Технические тесты могут продемонстрировать уровень IQ и эффективность левого полушария, возможности которого подтверждены, как правило, дипломом о высшем образовании и всем успешным опытом предыдущей работы. Часто при обсуждении данного тезиса меня спрашивали: «А вдруг кандидат наврал о прошлом опыте?» На мой взгляд, одного двух вопросов с просьбой уточнить некоторые конкретные технические детали достаточно, чтобы рассеять или подтвердить подобные сомнения. И еще, если вы не в состоянии распознать то, что человек выдает себя не за того, кто он есть на самом деле, возможно, вам еще рано руководить людьми.
Креативность и эффективность человека в командной разработке зависят в первую очередь от уровня его эмоционального интеллекта, EQ и деятельности правого полушария: целеустремленность, воля, эмпатия, интуиция, способность к эвристическим суждениям. Я, к сожалению, пока не встретил достоверных тестов правого полушария. Поэтому слушаем, слушаем и еще раз слушаем. А главное слышим! При отборе кандидатов только очное интервью «глаза в глаза» и личный опыт работы с людьми позволят вам создать эффективную программистскую команду. О практике проведения интервью могу рекомендовать работы [23, 44, 45], в которых изложены подходы, во многом совпадающие с моим опытом.
При проведении технического интервью следует придерживаться следующих основополагающих принципов:
Проводить интервью, желательно, вдвоем с человеком, который будет непосредственно руководить или работать с кандидатом. Это позволит быть более объективным, посмотреть на кандидата с «разных сторон» и лучше его понять.
Ваша задача при проведении интервью — получить ответ на 3 вопроса:
Обычно при проведении интервью я стараюсь придерживаться следующего сценария:
В этой части полностью солидарен с Джоэл Сполски [23]: «Я трачу около 30 секунд, рассказывая кандидату, кто я такой и как буду проводить интервью. Я всегда заверяю кандидата, что нас интересует его подход к проблеме, а не его конкретные ответы. Кстати, в процессе интервью не стоит сидеть через стол от кандидата, поскольку это создает формальную преграду и мешает ему расслабиться. Лучше поставить стол к стене или обойти стол и сесть рядом с кандидатом».
Вспоминаем невербальные знаки: переговоры через стол — противостояние. Смена работы это всегда «стресс», который, по мнению психологов, занимает по значению 3-е место после развода семьи и пожара. Помогите кандидату прийти в себя. В противном случае вы будете беседовать с другим человеком.
Вопросы:
Что оцениваем:
Если кандидат не знает, что он хочет, его не стоит брать. Скорее всего, вы имеете дело с недостаточно зрелой личностью с человеком, который не стал лидером в своей личной жизни. Однако обязательно следует попытаться уточнить:
Если кандидат объясняет к чему он стремиться, следует уточнить, адекватно ли он оценивает свои возможности. Предложите ситуации связанные с будущей работой:
Что оцениваем:
Собеседование должно быть двухсторонним. Вы пытаетесь понять, подходит ли кандидат вам. Кандидат — подходит ли ему работа, которую вы предлагаете. Если кандидат задаёт вопросы — это хорошо. Вопросы, которые обычно ожидаются:
Что оцениваем:
Принимать решение следует сразу. Возможно, понадобится 5 мин. посоветоваться с коллегой. Не стоит откладывать решение. «Я могу предложить Вам.» Далее должны следовать описание позиции, должностных обязанностей и размера компенсации. Возможно, эта будет другая позиция, а не та, на которую, кандидат изначально позиционировал себя, если, на ваш взгляд в этой роли он будет более эффективен. Обсудите с кандидатом ваше видение его места в проекте. Не стоит предлагать кандидату другую позицию, если она с более низкой компенсацией. Будет похоже торговлю и попытку действия в духе «Выиграл/проиграл».
Если вы не смогли в ходе интервью снять все сомнения, не берите. Доверяйте своей интуиции. Лучше ошибиться и не взять достойного кандидата, чем рискнуть и получить «проблему». Будьте честны. Имейте волю отказывать: «Я могу предложить Вам.» Далее перечень конкретных отсутствующих знаний и навыков, приобретение которых позволит кандидату, занять данную позицию в будущем. Кандидаты возвращаются! Не стоит отказывать в стиле «Если будет принято положительное решение, мы Вам обязательно позвоним». Это, скорее всего, ложь. Не стоит подрывать доверие к своей компании.
Совет 1. Никогда не опаздывайте на интервью. Если вы все-таки опаздываете, предупредите заранее. Возможные негативные оценки опоздания:
Совет 2. Одежда должна быть естественной. Вы должны быть одеты так, как предполагаете ходить на работу, одежда не должна стеснять и сковывать вас. Возможные негативные оценки:
Совет 3. Ведите беседу с достоинством, свободно, на равных. Вы с работодателем предполагаете в будущем стать партнерами. Старайтесь слышать собеседника. Самоуверенность, но не наглость, серьёзность, но не чопорность, внимательность, но не подобострастность, вдумчивость, но не умничанье — вот, на мой взгляд, отличительные характеристики зрелой личности. Возможные негативные оценки при общении:
Не думайте, что, наняв сотрудника, вы заключили с ним договор раз и не всегда. Вы должны нанимать сотрудника постоянно. Успешно работая в своей области, сотрудник приобретает новые знания и опыт, следовательно, стоимость его услуг растет. Поэтому его необходимо перекупать, пока это не сделали конкуренты, если, конечно, вы не стремитесь стать для них «кузницей кадров». С другой стороны, сотрудник сам может переоценить стоимость своего труда, исходя из своих реальных физических и психологических затрат, которые определяются качеством обеспеченности рабочего места, атмосферой в коллективе, отношением руководства и проч.
Пересмотр договора о найме, «по договоренности», без прозрачной процедуры дезориентирует и демотивирует сотрудников. В силу своей интроверсии, программист, как правило, предпочтет найти повышение зарплаты в другой компании вместо того, чтобы просить об этом свое начальство. Поэтому, настоятельно рекомендую, проводите периодический пересмотр условий договора — аттестацию.
В ходе регулярных аттестаций необходимо давать экспертную оценку следующих характеристик сотрудника:
Кто оценивает? В первую очередь, руководство: линейный руководитель и менеджеры проектов, в которых участвовал данный сотрудник. Однако, не менее важны экспертные оценки, которые ставят люди, взаимодействующие с этим сотрудником на разных уровнях, коллеги, смежники, подчиненные, клиенты. В западной литературе этот подход называется оценка по методу «360 градусов».
По результатам аттестации должен быть сделан один из следующих выводов:
Еще один важный и необходимый результат аттестации — план развития, — какую новую ступень карьерной лестницы будет достигать сотрудник и что ему необходимо сделать, чтобы на нее перейти. Что изучить и освоить: новые технологии (согласуем с личными целями и стратегическими потребностями компании), смежные специальности (снижаем риск в случае увольнения коллеги). Каких результатов добиться, например, успешно справиться с ролью руководителя группы разработчиков в проекте N.
Поставленные цели должны соответствовать широко известному в западном менеджменте критерию SMART [47], представляющему собой аббревиатуру из пяти английских слов: Specific (конкретный), Measurable (измеримый), Achievable (достижимый), Relevant (сопоставимый) и Time-bound (определенный во времени). Конкретность цели означает, что всем должно быть понятно, в чем именно состоит цель. Цель должна быть измеримой, чтобы можно было точно узнать, достигнута она или нет. Достижимой — это означает, что имеется достаточно знаний и ресурсов для достижения цели, но и не слишком простой — она должна бросать вызов (challenge) сотруднику. Сопоставимой — цель должна соотноситься с целями компании. Определенной во времени — для каждой цели должны быть четко обозначены временные рамки. Цели, которые одновременно и конкретны, и трудны, и важны, как для компании, так и для самого сотрудника, служат значимым мотивирующим фактором для самоактуализирующегося человека.
И последний вопрос, на который необходимо ответить по результатам аттестации, а надо ли повышать зарплату участнику команды? А если надо, то насколько?
2 Следует, однако, помнить, что формальные метрики лишь дополнительное средство при проведении оценок. Их стоит учитывать при сравнении сотрудников, которые достаточно длительное время занимаются сходной работой, например разработкой экранных форм пользовательского интерфейса. Если у одного разработчика при прочиз равных условиях, производительность в два раза ниже, а плотность ошибок в два раза больше, то это, по крайней мере, повод для того, чтобы проанализировать ситуацию и разобраться в проблеме.
Принятие формальных метрик в качестве одного из основных показателей эффективности творческой деятельности — зло. Вспоминается эпизод, когда в коллектив из кандидатов и докторов наук за год работы создал систему формальных показателей, которая, по их мнению, позволяла оценивать эффективность научной деятельности подразделений научно-исследовательского института. Назывался труд «Методика подведения итогов социалистического соревнования» — около 100 показателей и более 100 страниц методических указаний по их расчету. Не сработало! Уже через три месяца самые «продвинутые» руководители научились работать на методику, а не на науку, и стали получать самые большие премии.