×
Россия +7 (495) 139-20-33

Как мы строили систему обучения и мотивации программистов. Опыт одной студии

Россия +7 (495) 139-20-33
Шрифт:
5 16125

В моей студии 15 человек, половина из которых – программисты. Студия специализируется на разработке интернет-магазинов, так что программисты для нас – основной ресурс.

Есть три вещи, которые всегда требуются от программистов:

  • Быстрее сдавать проекты.
  • Укладываться в собственную оценку трудозатрат.
  • Расти и развиваться

Но по разным причинам они не всегда к этому готовы.

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

Как начать быстрее сдавать проекты

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

Как мотивировали

Первый этап

Первым вариантом было составить зарплату программиста наполовину из оклада и наполовину из бонусов за выполнение проекта. В результате компания и разработчик будут «в одной лодке», и успешность одного будет прямо влиять на успешность второго. Казалось бы, все логично, остается только ускориться.

Что нужно, чтобы быстрее выполнить проект?

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

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

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

Второй этап

Вторым решением было выплачивать бонусы по факту сдачи проекта, а не по факту его выполнения.

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

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

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

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

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

Так нужна ли в этом случае материальная мотивация?

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

Соотношение оклада и премии при этом на уровне 80/20%.

Мотивируем укладываться в свою оценку трудозатрат

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

О чем речь: на основе оценок трудоемкости задач планируется работа программистов – расставляются задачи на краткосрочную (неделя) и долгосрочную (1–2 месяца) перспективу. Соответственно, если программист не уложится в указанный срок, то посыплется весь план-график работ, сдвинутся дедлайны по зависимым от него проектам И так далее.

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

Можно премировать, если уложился в оценку. Можно депремировать, если не уложился.

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

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

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

Для этого мы придумали «предварительные ретроспективы». Когда прошло более половины отведенного на задачу времени, а задача еще не близка к половине, то программист сообщает об этом менеджеру, и они вместе ищут причины.

Итак, из-за чего можно не уложиться в срок по задаче

Задача изначально была неверно оценена

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

Задача обросла деталями по ходу

Если детали пришли от заказчика и на старте они не были очевидны, то программист корректирует оценку, а менеджер продает недостающие часы работы и сдвигает дедлайн.

Если детали были очевидны, но менеджер их упустил

То это уже говорит о пробелах в знаниях менеджера. Мы понимаем, что должен изучить менеджер, чтобы аналогичные проблемы более не возникали.

А все же нужна ли здесь финансовая мотивация?

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

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

На этапе ретроспектив мы находим пробелы в знаниях программистов. Но как подтолкнуть их к тому, чтобы учиться и закрывать эти пробелы?

Мы находимся в Краснодаре, и тут в общем одна ecommerce-студия (собственно, мы). Это значит, что готовые кадры взять особо неоткуда. И всех нужно либо выращивать с нуля, либо «доращивать» с того уровня, который у них был в других студиях.

Что должен знать программист

  • Фронтенд
  • Бэкенд
  • Движок
  • Интеграции (1С и так далее)
  • Linux, Nginx, Apache

Таким образом, у нас есть 5 направлений компетенций. В каждом из них есть определенный набор навыков, из которых формируется карта компетенций программиста. Она определяет деление разработчиков на уровни (Стажер, Джуниор, Мидл, Сеньор).

С повышением уровня растет оклад.

Как мы растили разработчиков

Гипотеза 1

Первой идеей было выдать разработчикам карту компетенций и методические материалы и предложить самим развиваться по ним.

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

И тут я столкнулся с первой проблемой. Программисты почему-то не хотели учиться и не хотели расти по карте компетенций. 

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

Гипотеза 2

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

Стало несколько лучше. Программисты потянулись учиться и сдавать экзамены. Но все же слишком медленно.

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

Гипотеза 3

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

И вот это сработало. Программисты стали заниматься саморазвитием, сдавать тесты и расти в зарплатах. Тех, кто не готов учиться при условии выделенного времени и перспектив роста, стоит просто оставить в покое. Есть люди, которым комфортно на их уровне, и если они при этом могут закрывать какие-то задачи, то почему нет?

Выводы

  • По нашему опыту, программистам достаточно внутренней мотивации, и, если им не мешать, они работают настолько хорошо, насколько это возможно.
  • Премии служат дополнительным мотиватором не столько для повышения качества работы, сколько для погружения в работу смежных специалистов (поиск проблемных мест в дизайне и ТЗ до того, как оно будет окончательно согласовано).
  • Все инструменты обучения бессмысленны, если нет двух важных вещей. Ощущения прогресса (в том числе достижимого вознаграждения) и выделенного для этого времени. Поверьте, когда программист, едва успев закрыть таски за день, час добирается от работы до дома, ему после этого уже абсолютно не до вашего «плана развития». И рассуждения о том, что «Ты сейчас выучишься, и у тебя появится свободное время», будут рождать лишь одну молчаливую реакцию – «Не верю».

(Голосов: 9, Рейтинг: 5)
Читайте нас в Telegram - digital_bar

Есть о чем рассказать? Тогда присылайте свои материалы Марине Ибушевой


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
  • Дмитрий Юрьевич
    2
    комментария
    0
    читателей
    Дмитрий Юрьевич
    больше года назад
    Хорошая статья.
    -
    2
    +
    Ответить
  • Екатерина Рассказова
    1
    комментарий
    0
    читателей
    Екатерина Рассказова
    больше года назад
    Меня прям зацепило)
    Так прониклась судьбой Краснодарских программистов! Очень интересно - как в кино)
    -
    3
    +
    Ответить
  • Максим Боровой
    0
    комментариев
    0
    читателей
    Максим Боровой
    больше года назад
    Спасибо за опыт, не пробовали вообще уходить от системы каких то KPI, выдавая человеку окладом всю его зарплату? Чтобы он мог делать, то что хорошо умеет, точно зная, что свои деньги за хорошую работу он получит точно?
    -
    1
    +
    Ответить
  • Сергей Г
    3
    комментария
    0
    читателей
    Сергей Г
    больше года назад
    Спасибо за честную статью
    -
    3
    +
    Ответить
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
Алгоритм продвижения сайта через Pinterest
Виктор Гаврюков
28
комментариев
1
читатель
Полный профиль
Виктор Гаврюков - В самом вверху есть ссылка на мою группу в ВК, там где автор материала. Через группу и свяжитесь со мной_)
Как забрать 5 мест в выдаче из 10. Кейс-эксперимент
Виктор Гаврюков
28
комментариев
1
читатель
Полный профиль
Виктор Гаврюков - такое можно делать и с ВЧ_)
Ссылочный апдейт Google: что изменится для SEO-специалистов в рунете
Тимур
6
комментариев
0
читателей
Полный профиль
Тимур - Понял, спасибо за информацию.
Как продвинуть сайт по коммерческим запросам в ТОП-10 с помощью ресурса Reddit
Denis Zar
2
комментария
0
читателей
Полный профиль
Denis Zar - пользовались услугами по продвижению на реддит от reddit-marketing.pro?
3 основные ошибки, которые допускают владельцы сайтов при продвижении
Виктор Гаврюков
28
комментариев
1
читатель
Полный профиль
Виктор Гаврюков - Не обращай внимания_) Если у тебя хороший ресурс, то ты будешь первоисточником, и все кто своровал, автоматически начнут на тебя ссылаться, точнее, так гугл будет считать_)
Как мы увеличили трафик из Яндекса более чем в 3 раза за неделю на сайте клиники. Кейс
Андрей
1
комментарий
0
читателей
Полный профиль
Андрей - У большинства сайтов произошел рост в Гугле в декабре и в марте Яндекса. Ваши шаманства тут не причём :)
Как доработка структуры вывела сайт в ТОП-10 Google и увеличила трафик в 2 раза. Кейс Связной Трэвел
Дмитрий
3
комментария
0
читателей
Полный профиль
Дмитрий - Вероятнее всего было обновление Google и позиции были снижены в связи с низкой скоростью загрузки страниц (так как доработке ведутся не только по SEO, но и в целом по функционалу сайта, появляются новые скрипты). В этот период в Google Search Console увеличилось количество страниц с низкой скоростью загрузки. Мы выявили несколько проблем, которые снижают скорость загрузки страниц и выдали рекомендации по их устранению. Пока данные рекомендации находятся в работе. Также был проведен анализ EAT факторов и проверка сайта на соответствие требованиям Google к YMYL сайта, выданы рекомендации по доработке данных факторов (ждем внедрения наших рекомендаций, поделимся потом результатами).
Рост ботных переходов на сайт: как интерпретировать и что делать
Mike
5
комментариев
0
читателей
Полный профиль
Mike - как это проверить? что товары выводится именно на основе спроса, а не по заданным алгоритмам?
Сравнительная статистика уровня жизни SEO-специалистов в семи странах, включая Россию
Рустам
1
комментарий
0
читателей
Полный профиль
Рустам - Средняя температура по больнице, подсчет даже близко не отображает действительность, особенно учитывая разность цен и уровня зп в разных частях больших стран (США, Канада, Россия)
Вечные ссылки: зачем они нужны и где их взять
Павел Павлов
3
комментария
0
читателей
Полный профиль
Павел Павлов - Покупаю только на сапе и те арендованные остальная масса ссылок это крауд ссылки
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
483
Комментариев
385
Комментариев
373
Комментариев
262
Комментариев
249
Комментариев
171
Комментариев
156
Комментариев
141
Комментариев
121
Комментариев
114
Комментариев
97
Комментариев
97
Комментариев
96
Комментариев
92
Комментариев
80
Комментариев
77
Комментариев
74
Комментариев
67
Комментариев
62
Комментариев
60
Комментариев
59

Отправьте отзыв!
Отправьте отзыв!