Как оценивать работу программистов: примеры системы грейдов в компаниях

Как выстраивать грейдирование разработчиков внутри компании? Что зашивать в мотивацию? Голый оклад, оклад + премия, почасовка? Каким образом оценивать работу программиста? Нужны ли бонусы и премии? Опытом поделились «Нетология», Finch, DD Planet, MediaSoft, Oneway и Digital Wand.

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

Кто-то формирует свою систему грейдов, кто-то не считает это необходимым. А что рассказали опытные команды представителям Pena Production?

Ключевые показатели при формировании грейдов веб-разработчиков

В Oneway учитывается общий объём закрытых задач в часах, пройденные курсы и сданные экзамены («Битрикс24»), определённый набор скиллов и опыт в определённых задачах (матрица компетенций).

В компании MediaSoft не используется система грейдов в привычном понимании и в целом отсутствует традиционное деление разработчиков на классы junior, middle и senior.

Эта классификация достаточно условна: как показывает практика, senior часто называют самого крутого специалиста в компании, и это не отражает ровным счётом ничего, кроме уровня самой компании. При попытке устроиться в большую и серьёзную организацию вроде «Яндекса» такой senior может не пройти даже на позицию junior.

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

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

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

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

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

Не менее важны показатели вроде адекватности оценки сроков исполнителем, своевременное и чёткое выполнение задач.

Сколько уровней у разработчиков в команде

В команде Finch решили остановиться на четырёх уровнях: junior, middle, middle+ и senior. В компании достаточно много разработчиков, которые находятся на стыке двух уровней — middle и senior. Поэтому и приняли решение ввести дополнительный грейд. Делать больше грейдов при штате 55 человек ребята считают лишним. Возможно, со временем лестница будет больше.

В DD Planet, как и в большинстве ИТ-компаний, всех разработчиков подразделяют на четыре уровня:junior, middle, senior, team leader (тимлид).

К уровню junior формально можно отнести выпускников вузов, которые только начинают карьеру. Предпочтение отдаётся серьёзным техническим вузам, например МГУ (факультеты ВМК, мехмат), МГТУ, МИЭМ, НИУ ВШЭ.

Более продвинутый уровень развития специалиста — middle. Сотрудник ещё не принимает самостоятельных решений, но за ним не надо перепроверять правильность реализованных задач. Руководитель говорит, как и что надо сделать, программист выполняет всё в срок и качественно.

Следующий грейд — senior, или ведущий программист. Специалист может самостоятельно принимать решения и несёт ответственность за их реализацию. Также он способен курировать одного или нескольких программистов уровня junior или middle.

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

У DigitalWand — шесть уровней разработчиков: junior, junior+, middle, middle+, middle++, senior.

  1. Juniorзнает основы своей технологии, может выполнять простые задачи, но пока не готов работать самостоятельно.
  2. Junior+ на простых задачах работает самостоятельно. Умеет применять типовые операции с Git.
  3. Middleполностью самостоятельно решает типовые задачи, однако ему может потребоваться помощь в проектировании, ревью кода.
  4. Middle+ отлично знает фреймворк, на котором работает, начинает осваивать другие фреймворки, уже может помогать junior-программистам.
  5. Middle++ можно доверить работу на production, проведение релизов. Готов заниматься проектированием не слишком сложных систем. Может при необходимости общаться с заказчиком.
  6. Senior имеет в своём арсенале несколько фреймворков, у него есть опыт проектирования и разработки сложных систем.

В «Нетологии» сейчас есть разделение на три стандартных уровня: junior, middle и senior. Каждый уровень предполагает новую ступень профессионального роста. Грубо говоря, чем выше позиция, тем больше разработчик берёт на себя ответственности, разбирается в разных продуктах и может помочь коллегам.

Специалисты уровня senior, например, в компании не только занимаются непосредственно разработкой, их задача — быть ещё и наставниками для новых членов команды.

В студии Oneway рекордное количество уровней — одиннадцать.

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

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

Как определить, что человеку пора на новый уровень

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

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

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

В Finch линейные руководители раз в месяц ставят оценки сотрудникам. Критерии оценки формируются из ключевых показателей грейдирования.

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

В DD Planet о переводе программиста на новый уровень задумываются, как только он начинает предлагать решения тех или иных технических вопросов.

Junior ещё в принципе не способен принимать самостоятельные решения. Middle, как правило, решений не принимает, но может правильно выполнять поставленные задачи. Senior способен принимать самостоятельные решения в рамках своей работы. Тимлид же отвечает за архитектуру и глобальные решения на уровне группы разработчиков.

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

В MediaSoft обращают внимание на то, насколько программисту интересно работать. Часто, когда человек «перерастает» свои задачи, он перестаёт предлагать идеи, не выступает с инициативами, не выкладывается, не рассказывает всем и каждому о своём проекте с горящими глазами.

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

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

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

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

Заработная плата программистов MediaSoft формируется динамически: к фиксированному окладу также добавляется переменная часть, которая считается по затраченным часам и зависит от того, сколько платит за эту работу клиент.

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

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

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

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

В команде Finch маржинальную прибыль также не учитывают, но считают такую практику весьма интересной.

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

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

Типовые ли в компании технологии разработки и создаются ли грейды под каждую технологию

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

DD Planet специализируется на разработке сложных проектов, на 60% типовых решений и технологий приходится 40% нестандартных. В связи с разработкой высоконагруженных проектов, нетиповых задач встречается очень много.

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

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

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

У ребят из Finch единый стек под все проекты. Поэтому проблемы с несколькими стеками нет.

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

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

В DigitalWand есть различные технологии для разработки. Грейды разделены на backend и frontend, вёрстку и JS-разработку. В рамках каждого из направлений также есть деление по технологиям.

В Oneway 90% проектов разрабатываются на «Битрикс24», поэтому все грейды для backend-разработки единые. Отличаются только backend и frontend

Как выстроена система финансовой мотивации в команде, какую модель выбрали и почему

Компания Oneway использует фактическую оплату по часам. Финально каждую задачу оценивает тимлид. Если человек не выписывается в сроки оценки, то получит меньше, если выполняет задачу быстрее, то сможет получить больше.

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

У Finch нет системы премий, штрафов, выплат за мотивированность и всего такого. Есть чёткий фикс на руки, который обговаривается на собеседовании. Бывали случаи, когда ребятам платили премии. Как правило, это были какие-то особые случаи, в которых просто хотелось сделать приятно человеку. Сейчас от этой практики отказались.

Finch — сторонники нематериальных вознаграждений. Любой человек в компании может съездить на конференцию, сходить на курсы, отдохнуть за счёт компании, если он делает свою работу хорошо. Один из ярких примеров – отправка ребят на Бали. В Finch убеждены, что в таких активностях больше толку, чем в ежемесячной премии.

В DD Planet свой подход. Если задача потребовала дополнительного времени и усилий, сотруднику засчитывается овертайм. Оплата переработки производится по двойной ставке. Также предусмотрены премии за проекты, которые сданы вовремя и реализованы качественно. По каждому проекту закладывается премиальный фонд. Эта сумма распределяется между специалистами в зависимости от вклада каждого в этот проект.

В DigitalWand сейчас фиксированный оклад, но ведётся подготовка к новой системе финансовой мотивации — динамический оклад на основании эффективности, в которой зарплата будет состоять из двух частей:

  1. Оклада.
  2. Премии.

От чего зависит оклад:

  1. Грейд сотрудника.
  2. Эффективность работы группы и команды в целом.

Эффективность работы сотрудника, группы и команды зависит от фактической оплаты клиентами по отношению к оплате 100% часов по текущей внешней ставке.

Кроме того, оклад старших грейдов зависит от числа разработчиков младших грейдов в группе, а оклад менеджеров — от соотношения количества разработчиков к количеству менеджеров в группе.

Премия зависит от оценок работы сотрудника его группой. Чем выше оценки, тем выше премия. Обязательное условие получения зарплаты — учёт рабочего времени в Redmine.

Сверхурочная работа оплачивается хорошо. Сверхурочные бывают двух видов:

  1. Добровольные, оплачиваются по ставке х1,5.
  2. По просьбе клиента, оплачиваются по ставке х2.

В MediaSoft действует динамическая система финансовой мотивации. Она включает зарплату с фиксированной и переменной частью, а также квартальную премию.

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

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

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

Выводы

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

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

0
17 комментариев
Написать комментарий...
Dmitry Varlamov

Ну, по большей части, все компании смотрят +- в одну сторону. На рынке вообще кто-то экспериментирует с нестандартными подходами?

Ответить
Развернуть ветку
Екатерина Корчагина
Автор

А это идея для следующей публикации. Думаю, что такие найдутся.

Ответить
Развернуть ветку
Екатерина Матреновна

Ждем, ждем. Интересно будет узнать, имеет ли смысл эксперементировать с нестандартными подходами, когда "велосипед уже изобретен"....

Ответить
Развернуть ветку
Екатерина Корчагина
Автор

В любом случае каждый подход изменяется под потребности компании.

Ответить
Развернуть ветку
Isaev Igor

плюсую, хочется послушать про нестандартный опыт, например

- зарплатная формула
- компенсация по результатам работы команды
- сотрудники сами назначают себе компенсацию

Ответить
Развернуть ветку
Екатерина Корчагина
Автор

поищем более интересные системы:)

Ответить
Развернуть ветку
Ivan Kondratyev

Спасибо, интересно почитать мнение разных игроков рынка.

Ответить
Развернуть ветку
Дмитрий Слепенко

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

Ответить
Развернуть ветку
Екатерина Корчагина
Автор

Конечно. Нет единых процессов, которые справедливы для всех.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Lisa Tribunska

У нас (в DD Planet) стажер - это отдельный уровень пока еще будущего разработчика.

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Екатерина Корчагина
Автор

У нас в PENA стажёры - это отдельная категория, которые бОльшую часть рабочего времени обучаются.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Alex Ondre

Хотел пойти в DigitalWand, т.к. поднадоели эйчары с вакансией от этой конторы, но вот прочитал про их новую систему "оклад + премия". Как правило, в других гoвнoконтоpax это означало что премия никогда не выплачивается т.к. абсолютно всегда можно сказать сотрудникам что они не справляются. Жoпятcя нанять других сотрудников. Работаешь за двоих сверхурочно и не оплачиваемо чтобы получить хотябы часть этой премии, а по мнению начальства надо за четверых работать. Они это прямо сказали что зарплата менеджера\сеньора\тимлида больше, чем больше команда подчинённых. В вакансии эйчаров пишут что зарплата от 70 и есть официальное оформление, а на их сайте написано что до 70 и ничего не сказано про официальное оформление. В общем, тупой фриланс с нaeбaлoвoм в чёрную с постоянным заказчиком.

Ответить
Развернуть ветку
Екатерина Корчагина
Автор

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

Ответить
Развернуть ветку
Alex Ondre

А они всё расписали в статье.
По умолчанию абсолютно всегда худшее. Не написано про оформление - значит его нет. Не написано про белую зарплату - значит её нет.
Да и время тратить на такие попахивающее конторы не охото.

Премии нигде не бывает, т.е. это не бонус за хорошую работу, а такой контроль чтобы вы сверхурочно работали. Просто обговорённая зарплата делится пополам, 50% оклад + 50% "премия". Работаешь сверхурочно, получаешь часть этой "премии". В итоге можно расчитывать на 80-90% от обговорённой зарплаты на собеседовании.

Ответить
Развернуть ветку
14 комментариев
Раскрывать всегда