Что мотивирует инженера
Горящие глаза программистов, азартный рефакторинг, коммиты наперегонки и вопрос «Что бы ещё покрыть тестами?» — это не сказка. Так бывает.
Постановка проблемы
Как мотивировать разработчиков?
Сын киевских эмигрантов, психолог Абрахам Маслоу составил целую пирамиду потребностей человека. Согласно его теории, когда удовлетворены основные физиологические потребности (еда, сон и кров), человек начинает испытывать нужду в принятии и уважении.
Неудивительно, что в иерархии ценностей программистов на первом месте стоит признание, а не доход — с которым, как известно, у них всё в порядке.
Не отсюда ли корни такого феномена как Open Source? Сервер, на котором крутится этот сайт, язык, на котором написан этот сайт, его база данных и движок — всё это бесплатно доступный труд сотен энтузиастов. Трудно себе представить учителя или юриста, который будет до красных глаз сидеть у монитора, чтобы с гордостью выкатить свой шедевр в свободный доступ благодарному человечеству.
Из популярной книги по психологии программистов «Как пасти котов»: «Любой сотрудник жаждет признания своей деятельности, хочет ощущать весомость своего вклада в общее дело».
Однако складывается ощущение, что этот факт часто упускается из виду, хотя именно он помог бы отделу кадров резвее находит таланты, инженерам обеспечил бы огонёк в работе, а начальству — повышенный показатель ROI.
Существующие варианты решения
Вчерашнего выпускника университета ещё могут привлечь упоминания про бесплатный чай и кофе. Крепкий миддл чётко знает, что ему полагается холодильник с колой, курсы английского и пара корпаративов в год. Опытных разработчиков мотивировать уже сложнее, и вот в бой идут коммандировки за границу и оплаченные конференции.
И конечно же, инженеры лучше иных экономистов знают понятие «издержки упущенных возможностей» и требуют пересмотра зарплаты минимум каждый год.
Внимательный читатель уже, вероятно, заметил, что все эти популярные решения начинаются в плоскости физиологических потребностей, а потом переходят в «давайте потратим ещё немного денег». Зарплата должна быть в порядке по умолчанию, но явно чего-то не хватает. Не поэтому ли график желания работать так упорно движется вниз?
Ну серьёзно, есть ли компании, у которых в Scrum входит ритуал обнимашек («потребность в принадлежности и любви»), выбивание имени разработчиков на граните («потребность в признании»), курсы фен-шуй или хотя бы тренинги по рефакторингу («эстетические потребности») или шанс реализовать свой проект в рамках компании («самореализация»). Ведь даже Google закрыл тему с 20% времени на свои проекты!.
Шутки шутками, но почему бы не попробовать поработать на уровне престижа: помимо служебного роста, сюда входят уважение со стороны других, признание, достижение успеха и высокой оценки.
Том ДеМарко в книге «Deadline» пишет: «Когда разработчики не чувствуют поддержки и признания начальства, они редко создают сильные сплоченные команды». А сильная, «кристаллизированная» команда может творить чудеса.
Предлагаемый подход
Есть много способов повышения престижа. Неважно, кто вы, — директор компании или тимлид разработчиков, — как только вы осознаете мощь этого подхода, нужный вариант сам придёт к вам в качестве озарения.
Вот лишь несколько примеров, чтобы вы почувствовали вкус этой идеи.
Сначала история. Вы — программист, толковый, в этой компании уже довольно давно. И вот на общей кухне, пока вы машинально делаете себе очередной кофе, у вас завязывается разговор с кем-то из заказчиков фирмы. И вот этот бизнесмен говорит: «Ааа, так это ты тот Сергей, который сделал подсистему Х? Мне про это рассказывал ваш директор! Круто, круто». Приятно? Что-то подсказывает, что в этот день ваш код будет компилиться быстрее.
Признание заслуг и достижений — самый простой способ.
Главное — не допускать рутины: начать перечислять всех, кто вообще есть в компании, или делать это ради галочки (а фальшь-то чувствуется!). Хвалить сразу всех оптом — плохая идея, так что постарайтесь поощрить реальных героев — тогда желающих стать героями станет больше.
Господи, ну отличились ваши программисты — ну так напишите им неожиданные и хорошие рекомендации в LinkedIn. Предложите им при случае оплатить любую книжку на Амазоне, «потому что я знаю, что вы педалили 3 ночи напролёт». Уважительно упомяните при работниках других отделов, сколько денег они заработали-сэкономили фирме за счёт своей последней разработки. Не надо просто покупать им пиццу — они это сами могут; лучше покажите им, что вы их любите.
Дальше можно устроить системную конкуренцию за лидерство. Это когда каждую неделю команда сама определяет, кто Мистер Потужность =). Для этого надо определить две вещи: как считать очки и какой приз.
Очки за улучшение кода можно считать автоматически — есть плагин CI Game для Jenkins: плюс балл за каждый коммит, приведение к Code Standard, увеличение покрытия тестами, удаление копипасты, и т.д.
Каждую пятницу смотрят, кто набрал больше всего очков. Есть победитель!
Если команда географически распределённая, то придумывается нематериальный приз. Например, победителя всю неделю называть «сэр».
Если все в одном месте, то проще — придумайте неформальный приоритет. Выбор офисной музыки всю неделю (NB: если у вас есть офисная музыка, чтение книги «Peopleware» откроет вам много нового). Возможность выбирать имя итерации. Право сидеть на StandUp-митинге. Индульгенция на 10-минутное опоздание утром.
А лучше всего — купите всамделишный кубок и сделайте на нём гравировку типа «Kick-ass of the week». Пусть этот кубок стоит на столе победителя всю неделю. У кого он продержится дольше всех?
Плюсов тут не счесть! Остальные работники офиса втягиваются и начинают выяснять детали, мол, «а за что дают? а что такое юнит-тесты?». Вышестоящее начальство замечает усердие. Приходящие заказчики и инвесторы довольно улыбаются: одно дело — невидимый магический код, другое — спортивные состязания и осязамые трофеи; есть что обсудить. Пусть страна знает своих героев.
В общем, это короткая, позитивная и объединяющая всех церемония. А Том ДеМарко в «Peopleware» писал: «Организации нуждаются в церемониях. [...] Такие собрания не тратят впустую ничьё время. Они отвечают на реально существующую потребность в признании. Они закрепляют членство в группе — его важность и ценность».
Ну, и если вы не технарь, а, скажем, гендир, то самое крутое — это признание инженера как эксперта вообще. Вот рассуждает ваш програмист про стартапы, явно хочет свой — ну так предложите ему сходить с вами на какие-то переговоры посмотреть (если хочет), а потом спросите его мнение. У инженеров же профессиональная деформация в сторону логики, оптимизации и здравого смысла — вы точно используете это на 100% у себя в компании?
В качестве примера можно привести графа Витте, выпускника одесского физмата ещё при царе. Витте был пропагандистом практической пользы математического склада ума. «По легенде, С. Витте на глазах императора вступил в конфликт с царскими адъютантами, доказывая, что нельзя использовать два мощных грузовых паровоза с целью разгона царского поезда до высоких скоростей. Александр III убедился в правоте С. Витте после крушения царского поезда в 1888.» (Википедия).
Ещё благодаря его переговорным способностям — «Сахалин наш» =) Если уж царь не побоялся назначить ботана министром, то и вам стоит посмотреть на свой IT-отдел свежим взглядом.
В качестве заключения: в спорт-трекере Endomondo есть такая функция — «авто-подбадриватель». Включите авто-подбадриватель в своей команде, и вы удивитесь результатам.
http://dou.ua/lenta/columns/engineers-motivation/?utm_source=20140617&utm_medium=email&utm_campaign=CM линк на статью.
ОтветитьУдалить