СоХабр закрыт.

С 13.05.2019 изменения постов больше не отслеживаются, и новые посты не сохраняются.

Сколько платить программисту – новая схема расчета зарплаты в черновиках Из песочницы

Как работал, так и заработалЧасто ли мы слышим: “Я написал крутой код, но мне не заплатили” или “Эти программисты стОлько получают, но не ясно, какой от них толк”? К сожалению, да, потому что оценивать труд программиста количественно очень сложно из-за специфики самого ремесла создания программ.

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

И все же, такие оценки труда разработчика существуют:
  1. Выполнение плана.
    Да, но: план можно выполнить и перевыполнить, при этом качество кода может быть таковым, что потребуется много времени на исправление багов и приведение кода к состоянию, соответствующему метрикам качества, принятым в проекте.
  2. Отсутствие багов.
    Да, но: насколько быстро этого удалось добиться. Позволить месяц писать кусок кода из 20 строк, не содержащий ошибок – непозволительная роскошь для большинства компаний.
  3. Оценка руководителя.
    Да, но: оценка руководителя не всегда бывает объективной, а необъективная оценка является демотивирующим фактором для команды разработчиков и, при этом, ставит под угрозу и эффективность бизнеса в целом.
  4. Количество строк кода или коммитов.
    Совсем смешная оценка, потому что слишком легко накрутить свою эффективность, что в конце концов демотивирует программиста, а у заказчика возникает вопрос “Раз у вас все такие эффективные, где же решение моих задач?”

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

Что же делать?

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

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

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

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

Итак, схема

Будем считать, что мы точно знаем:
  1. Базовую стоимость выполнения задачи.
    Эта стоимость может быть вычислена по окладам интересующих участников разработки.
  2. Премиальную ставку (не важно, в процентах от базовой стоимости или фиксированную)
  3. Сроки выполнения задачи.
    При условии, что эти сроки были определены по оценкам всех участников, они контролируются экспертом и все пожелания в отношении сроков были учтены в процессе обсуждения, предполагаем, что мы можем их “застолбить”, то есть, сроки выполнения задачи не могут быть изменены ни при каких обстоятельствах.

Принципиальная схема расчета премии разработчика


Тогда, премия рассчитывается по формуле:

премиальная ставка + надбавка за скорость + стоимость помощи другим участникам — стоимость устранения дефектов

При выплатах учитываются только положительные значения надбавки за скорость и премии. В случае отрицательных значений используются неденежные порицания или меры, применяемые в компании в качеcтве “кнута” :-), а разработчик получает только оклад.

Рассмотрим подробнее расчет составляющих схемы.

Стоимость устранения дефектов разработки

Какие дефекты могут быть:
  1. непосредственно ошибки
  2. ухудшение производительности проекта в связи с внедрением решения
  3. допущенные несоответствия метрикам качества, принятым в проекте

Оценка времени устранения дефектов может или обсуждаться (на это нужно не так много времени) или определяться по багтрекеру, что тоже не запредельно сложно. Раз мы знаем время, затраченное на устранение дефекта участниками и базовую стоимость работы каждого участника устранения дефекта, мы можем вычислить общую стоимость устранения всего дефекта. Для усиления мотивации умножим эту стоимость на 2.

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

Надбавка за скорость

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

Стоимость помощи другим участникам

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

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

Пример расчета

Рассчитаем вознаграждение программиста Василия за задачу. Пусть базовая стоимость выполнения задачи Василием 20 000 руб. Задача должна быть выполнена за 5 дней. Зафиксирована премия в размере 5 000 руб. Василий выполнил задачу за 3 дня и помог начинающему программисту Петру, стоимость участия которого 2 000 руб., сделав за него 35% задачи. При этом в процессе тестирования было обнаружено багов и недочетов, на исправление которых затрачен 1 день Василием и 1 день Иваном, стоимость участия которого 40 000 руб.

надбавка за скорость = 5 000 * 0.4 = 2 000 руб.
стоимость помощи другим участникам = (2 000 * 0.35) = 700 руб.
стоимость устранения дефектов = (4 000 * 1 + 8 000 * 1) * 2 = 24 000 руб.

Премия Василия = 5 000 (сама премия) + 2 000 (надбавка за скорость) + 700 (стоимость помощи другим участникам) — 24 000 (стоимость устранения дефектов) = — 16 300 руб.

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

Результат

В результате, помимо столь желанной прозрачности и справедливости оценки труда мы получаем:
  1. повышение ответственности за оценку сроков разработчиками.
    Никто не хочет работать сверхурочно, а ошибки при оценке сроков приведут именно к таким последствиям.
  2. снижение к минимуму сроков разработки и повышение качества решения
    Разработчик будет пытаться минимизировать разницу между положительной и отрицательной дельтами премиальной составляющей, чтобы увеличить свой доход.
  3. повышение самостоятельности разработчиков
    Кому приятно признать, что работу за него сделал другой человек, тем более, если это оформлено документально и обсуждается вне отдела.

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

Где можно применить?

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

Благодарю за внимание. Мне бы хотелось услышать ваше мнение об изложенном материале.

комментарии (103)

+41
+42 –1
UnknownHero ,  
В конце концов, Василий решил уволиться.
+3
+4 –1
maratvildan ,  
Вывод — устранение багов поручить Петру
+12
degorov ,  
Всегда было интересно, считают ли люди, которые тратят рабочее время на придумывание подобных схем и затем на их внедрение, ну и, собственно, на расчёты, свою деятельность полезной и на какую сумму её оценивают и по какой методике. Обычно на те деньги, что по факту тратятся на описанные процедуры, можно нанять ещё Василия, а то и не одного…
+18
+19 –1
Cim ,  
Это же паттерн Эффективныйменеджер Driven Development. Тут масштабирование происходит не за счет «василиев». Например, вместо еще одного «василия» можно нанять эффективного менеджера Григория с психологическим образованием, который будет словами «Вы очень важны для компании», «Компания вас очень ценит» и «Ну вы же понимаете, как вы нам важны?» мотивировать Василия, Петра и Ивана работать без премии, со штрафами, с зарплатой ниже рынка и с овертаймами до 40 часов в неделю.
+6
nolar ,  
Не решена одна из классических проблем этой схемы: разработчики договариваются с тестировщиками, чтобы те находили или писали поменьше багов, и делятся долей премии. И это не преодолевается премией за количество багов со стороны тестировщиков, потому что это почти как количество строк кода.

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

К тому же, определить принадлежность бага именно Василию — сама по себе сложная и не всегда однозначная задача. Особенно в командой работе по старой системе. Также, см. пример комментом выше про ушедшего Василия, оттянувшего свои баги на год через подкуп, шантаж и запугивание тестировщиков, и оставившего потомкам срач, но взявшего все премии.
+1
kirushik ,  
И это мы ещё не коснулись вопроса численной оценки помощи в процентах.
0
printf ,  
Вот, да, определить принадлежность багов в сложной системе — это как найти Иисуса, только еще сложнее.

Скажем, сделали изменение в сервере, а сломалось отображение какой-нибудь штуки в клиенте, если тот запущет в 64-битной Windows 95 на приставке Супер Нинтендо. QA запишет это в баги клиентской программы, а не сервера, скорее всего.
+41
Firz ,  
Вся проблема всех метрик(в том числе и Вашей) — мотивировать работать на метрики, а не на результат.
0
mixailflash ,  
золотые слова
+12
gro ,  
Отличная схема для грузчиков!
+1
+2 –1
antarx ,  
Если эти метрики не показывать работникам, но явно обозначить, от чего зависит их премия — то такая схема может работать (особенно если все будут считать, что всё субъективно решает руководство). Иначе погоня за KPI ни к чему хорошему не приведёт.
С другой стороны, в таком случае можно и не измерять указанные метрики.
+5
lair ,  
При условии, что эти сроки были определены по оценкам всех участников, они контролируются экспертом и все пожелания в отношении сроков были учтены в процессе обсуждения, предполагаем, что мы можем их “застолбить”, то есть, сроки выполнения задачи не могут быть изменены ни при каких обстоятельствах.

Вы работаете в том идеальном мире, где с момента передачи задачи в разработку ее условия не меняются? Завидую. «У нас» вот регулярно случается, что прилетела тебе задача, которую ты оценил в день, но потом ты этот день потратил на уточнение требований, а в итоге получил задачу на неделю. И кто виноват?
+5
SeriousDron ,  
При такой схеме разработчики будут дружно называть завышенные сроки, а баги будут скрываться. Оно вам правда надо или вам нужно все-таки быстро и качественно?
+12
+13 –1
Cim ,  
> Оно вам правда надо или вам нужно все-таки быстро и качественно?

Когда объявляют, чтобы в наборе слов «Быстро, Качественно и Дешево» убрали одно слово, то эффективные менеджеры убирают, почему-то, «и», и начинают удивляться, что схема по прежнему не работает.
–18
+3 –21
nolar ,  
Уважаемый, у вас, я б сказал, какая-то профессиональная травма на тему «эффективных менеджеров». Интересно послушать ваше мнение об «эффективных программистах».

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

Так что не стоит палиться )

Лучше что-нибудь конструктивное скажите.
+3
Awake ,  
конструктивно: поработайте над своим русским языком, ни фига непонятно, что вы написали и зачем. И кстати, ваше сообщение нифига не конструктивно.
0
+3 –3
Borz ,  
«поработайте над своим русским языком»
прежде чем что-то требовать исправить что-то у других, исправьте это у себя.
+5
qw1 ,  
Разработчик будет оценивать базовое время выполнения задачи?
Я бы всегда ставил *10, с запасом, и брал премии за скорость.
0
maxz ,   * (был изменён)
Премию за время вообще считаю лишней. Выполнив задачу быстрее — ты уже получаешь косвенную премию. Тут можно провести аналогию с почасовой ставкой. Если раньше задача выполнялась за Х времени, а теперь за 0,9Х времени, значит можно ставку повышать на 10%.
0
qw1 ,  
То есть, платить лучше за таски? Закрыл больше тасков — получил больше денег?
+1
lair ,  
Да нет. Платить лучше просто зарплату, периодически повышая ее в соответствии с растущими (если они растут, конечно) навыками и производительностью.

Ну и проектные/годовые премии тоже к месту, в принципе.
+10
qw1 ,   * (был изменён)
Кому приятно признать, что работу за него сделал другой человек, тем более, если это оформлено документально и обсуждается вне отдела.

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

И рефакторинг никто делать не будет. Кому охота вычет получать за доводку давно закрытой задачи.
+6
+7 –1
romario13 ,   * (был изменён)
Когда уже поймут что программирование это не станок а творчество? Больше или меньше, но творчество.

Не работают никакие железные схемы. Проверено опытом.
Работает только работа с людьми!
0
arturgspb ,  
Я с вами полностью согласен! Сами паримся на работе, но ведь как-то хочется считать деньги.
Я понимаю, что это на головная боль программистов, но бизнес без сроков — это как-то действительно странно.

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

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

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

Ну или еще выход — искать суперменов-программистов, которые фигачат быстро и допускают мало ошибок. Но таких не много, а программисты нужны сейчас почти что всем.
+1
degorov ,  
На самом деле у художников, равно как и у программистов бывают далеко не только творческие задачи. Зачастую программирование не столько творчество, сколько ремесло, где сроки, качество и т. п. можно и нужно планировать. Другой вопрос, что для подобных прогнозов нужно не баллы и коэффициенты считать и не методики придумывать, а просто на основе личного опыта иметь представление о задаче. Чисто творческие задачи у программистов бывают во-первых достаточно редко, во-вторых их в абсолютном большинстве случаев дают людям, в чьей компетенции, производительности труда и т. п. сомнений нет.
–1
arturgspb ,  
Очень дельно сказали, возьму на заметку! В действительности супер-задачи кому-попало не доверяются. Творцы по идее дома должно тренироваться, а не за счет комапании.
0
Vedomir ,  
Если компания хочет получить результат их тренировок и творчества — то наверное все-таки в компании.
0
arturgspb ,  
Я тут подметил для себя — только те программисты, которые фигачат и учатся дома являются крайне продуктивными. Кто дома не учится и не программирует почему-то редко являются эффективными. При этом последних, конечно не обвинишь, что они дома не учатся, но наблюдение вот такое.
0
printf ,  
Наблюдение верное, причинно-следственная связь под вопросом.

Разработчик пишет код, осваивает новые вещи и всячески растет профессионально потому, что у него это получается и доставляет удовольствие (в формулировке Торвальдса, for fun).

Если не пишет код, не осваивает вещи и не развивается — значит, у него это не получается.

А дома или на работе — это вторичная и неинтересная категория. Какая разница-то?

(Не учитываем варианты, когда программист работает по факту мясником в колбасном отделе, и поэтому никакого кода на работе очевидным образом не пишет.)
+1
maxz ,  
Художник почти не зависит от внешних факторов, а фактор «Музы» — ну, нужно как-то контролировать. На самом деле в работе программиста очень сильно сказываются форс-мажоры по зависимостям. Это как если вы нанимаете штукатуров, они вам называют цену, а когда начинают штукатурить, выясняется, что старая штукатурка кусками отваливается. От этого не застрахуешься. Мы например в смету сразу закладываем форс-мажор.
0
arturgspb ,  
Все верно! Вопрос в том, как писал автор поста — как заставить еще всю команду перейти на новые рельсы, чтоб менеджеры ставили задачи описанные достаточно, а программисты думали головой и не спрашивали всякую мелочь. И все равно все в деньги упирается)
Вот сколько надо закладывать на форс-мажор? x10, а почему тогда не х20? В таком случае обычно хочется просто сделать самому, но нельзя — так как делегировать надо иначе вечно все сам будешь делать и в отпуск не уйти.
0
maxz ,  
Закладывайте столько, сколько определено на опыте и разумно на данный момент. Для новой технологии может и х20 будет мало, а для того, что ранее уже делалось вы сами можете определить разброс и определить коэффициент.
+2
romario13 ,   * (был изменён)
С одной стороны же все просто — есть задание. Его может оценить менеджер на основе своего опыта. И программист, на основе своего.

Правило номер 1 — дайте программисту оценить и решить как делать. Даже если вы сами (вы = менеджер) думаете что сделать нужно так и делается это столько то времени. Если ваши оценки и решения сильно расходятся — поговорите и обсудите глубже. Не потому что вы НЕ верите, а потому что вы можете чего-то не знать.

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

Если едут — делаем выводы. Выводы обовсем. И о оценике и о контексте и о себе. В будущем оценки будут точнее.

PS: никто не против оценки. Надо просто доверять людям. И проверять :)
0
arturgspb ,  
Звучит здраво ;) Вы — руководитель?
Я вообще думаю, что проблемы команды в первую очередь от руководства — рыба гниет с головы, как говорится. Если исполнитель профукал сроки один раз, это не страшно, если 3 раза — виновато его руководство, если больше, то уже руководство повыше и так далее.
0
romario13 ,   * (был изменён)
я партнер! :)

Гниет везде одинаково. Профессионалы работают с конкретными задачами а не на руководство.
0
Vedomir ,  
Если задание есть — четкое и понятное. Если оно не будет меняться в дальнейшем. Хотя в целом согласен.

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

Главное чтобы оценка это показывала. А то ведь бывают случаи когда оценка может показывать нечто иное и это сразу будет очень жестко демотивировать. Причем именно хорошо работающих.
+1
Vedomir ,  
Например: нанимаете на работу художника и говорите — почем картина, а он такой — ну не знаю, мы будем с вами работать итерациями и вы будете платить мне каждую неделю.


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

Что такое творчество? Это создание чего-то нового. Чем меньше собственно создания нового, тем меньше творчества в работе.

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

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

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

Сроки становятся напредсказуемыми в двух случаях

1. Если меняются внешние обстоятельства или требования к программисту. Но это уже не зависит от программистов.
2. Если задача действительно творческая — надо придумывать или изучать что-то новое.

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

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

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

То есть разделить общую задачу на две — одну рутинную, другую исследовательскую но небольшого масштаба.

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


Так вы сначала определитесь, какой результат вы хотите получить и какую задачу хотите поставить.

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

Или иначе — платить как обычным программистам, а результат получать как от высокооплачиваемых гуру.
+2
VBKesha ,  
Отмечу, что премия должна выплачиваться с некоторым опозданием, чтобы количество известных допущенных разработчиком ошибок и недоработок было близко к истинному.

Чтобы было время на то чтобы придумать почему и в этот раз премии вы не получите.
–2
Renius ,  
Верно только оклад + премия.
Руководство часто расстраивается, что нет инструментов наказат откровенное раздолбайство.
+7
romario13 ,   * (был изменён)
Если откровенное раздолбайство не обосновано ни чем, то надо его не премиями лечить, а увольнениями. И не для того чтобы — «другим не повадно было», а для того, чтобы взять другого человека на это место.

оклад + премя воспринимаются как зарплата. А не дать человеку заплату — это его унизить. Он не захочет после этого работать. Максимум что он захочет, это найти способ обмануть в след раз.
0
+1 –1
lair ,  
Если откровенное раздолбайство не обосновано ни чем, то надо его не премиями лечить, а увольнениями.

На основании?

оклад + премя воспринимаются как зарплата.

Ну так вы объясняйте сразу при приеме на работу, зачем нужна премиальная часть, вот и не будет такого «воспринимается».
+3
romario13 ,   * (был изменён)
На основании?


Деюро или дефакто? Дефакто — не делает если ничего почти человек и не помогают никакие беседы — что делать?

Ну так вы объясняйте сразу при приеме на работу, зачем нужна премиальная часть, вот и не будет такого «воспринимается»


Я сделал ошибку. Рассмотрел крайний случай — когда премия урезаяется без объяснения причин. Если говорить с людьми, а не сухо не додать денег, то проблем не будет.
0
lair ,  
Деюро илие дефакто? Дефакто — не делает если ничегг почти человек и не помогают никакие беседы — что делать?

Де-юре, конечно.
0
romario13 ,   * (был изменён)
Де юре — решается проще, чем де факто психологически решиться уволить человека.
В большинстве случаев, отсутсвие задач и отстранение от команды дадут свои плоды.
0
lair ,  
В моем опыте — ровно наоборот. Можно пятнадцать раз решить, что с человеком пора расставаться, но если он сам не согласен уходить, то это может затянуться очень надолго.
0
romario13 ,  
Печально. Тут уже главное чтоб не мешал.
0
Renius ,  
Это должно затянуться на три объяснительных.
0
lair ,  
Объяснительных о чем?
0
Vedomir ,  
А просто не платить премию?
0
lair ,  
Это если она была в договоре.
0
printf ,  
На основании?
А для увольнения из частной фирмы нужно какое-то особенное обоснование? (Вопрос не риторический, я не уверен что там в законодательстве на этот счет. Сокращение и сокращение. Деньги кончились, зарплату платить нечем, вот и.)
0
qw1 ,  
С выходным пособием в размере оклада за N месяцев.
Просто все жмутся его платить, вот и выдумывают.
0
printf ,  
А, ну мы просто платим и домой. Получается в целом дешевле, по-моему (этот момент под вопросом, ведь я не бухгалтер).
0
lair ,  
Конечно, нужно.

Сокращение — это тот еще геморрой: предупредить за два месяца, предложить все вакантные должности, соответствующие квалификации (а это, помимо всего прочего, означает, что вы не можете, увольняя «по сокращению», через три дня начать искать человека на ту же должность), ну и выходное пособие.
0
arturgspb ,  
Согласен — надо увольнять. Только надо как-то дать понять что-это такое — откровенное раздолбайство? Вот вы, например, что под этим подразумеваете?
Я думаю, что это перефразировав звучит примерно так — «Парень, ты хорошо делаешь работу, но платить за твою работу столько, сколько хочешь ты я не готов.» Вопрос именно цены, прогграммист может быть не раздолбаем, но просто вы не готовы платить ему столько, сколько он вам приносит. И тут мы упираемся в проблему оченки фич бизнесом — т.е. сколько она принесет в прямую или скольких пользователей привлечет, ну и сколько они могут заплатить.
0
romario13 ,   * (был изменён)
Ключевое во всех спорах — оценка трудов программистов.

Эти труды проще оценивать начальнику, который был программистом.
К сожалению, в нашей отрасти все больше и больше людей приходит без IT образования. И они становятся менеджерами, начальниками и т.д. У них реальная проблема оценить реальные трудозатраты. Ключевое становится «доверие или не доверие» а не «понимание и не понимание». Отсюда и злоупотребления. И не понимание — кто такой раздолбай.
0
arturgspb ,  
Согласен, но если у вас большой проект из +10 компонентов 4-5 из них большие вы не сможете быть в курсе всего кода и его проблем. Вы не сможете делать code review для всего и вся и придется доверять в некотором роде.
0
romario13 ,  
Ну доверять это не значит — не понимать. На сколько глубоко вникать в каждом случае, это по ходу. Без доверия вообще никак. Но когда только на нем все держится, это перерастает в «семью» и далее в болото.
0
Vedomir ,  
Я думаю, что это перефразировав звучит примерно так — «Парень, ты хорошо делаешь работу, но платить за твою работу столько, сколько хочешь ты я не готов.»


Так это же рынок. Если на рынке есть специалисты, готовые делеать ту же работу дешевле — вы нанимаете их. Если нет, то либо платите больше либо закрываете проект.
0
Renius ,  
Вы идеализируете, а в действительности, бывает редко, когда бизнес успешен и руководство довольно своими тратами. К примеру работая на царской службе моя премиальная часть была 500-600%%. Бывали случаи небольшого откусывания. Это нормальный капиталистический подход, когда руководство за эффективную работу платит, а за сомнительные достижения заставляет писать объяснительные. Моя надбавка «за напряженность труда» была 150%, раздолбаи получали свой 0%.

Мы тут не в бирюльки играем. Иной раз факапы малому бизнесу и стартапам могут нанести ощутимый вред, при этом это не повод бежать владельцу в банк за очередным кредитом, чтобы окончательно вогнать его за черту бедности. Премия — инструмент регулирования трудовых отношений.
+4
VenomBlood ,  
ИМХО премия должна быть, но уровня 10-30% от зарплаты (т.е. до 25% от общего дохода). Если премия больше — то это или человек принимающий важные решения (principal разработчик, руководитель подразделения и т.д.), или это просто такой хитрый способ отрезать часть зарплаты (при условии что базовый оклад без премии ниже рынка для конкретно взятого сотрудника).

Ну а про бирюльки — факапы — это проблемы менеджмента стартапа, до тех пор пока сотруднику платят оклад, он не будет и не должен ломать голову над решением «как лучше для бизнеса», они будет решать как лучше для него самого. Вот когда будет стартап платить акциями или частью прибыли — тогда и будет сотрудник думать как лучше стартапу будет. А уж проблемы кредитов — проблемы исключительно владельца, если владелец хочет чтобы сотрудник разделял риски по его делу — пусть тогда сотрудник поделит и прибыль по его делу.
0
romario13 ,  
По сути я с вами согласен — вариативная чать зарплаты должна быть. Другое дело — как будут это использовать. Есть вариант, когда её срезание производится без личного общения. Типа «сам догадается за что снизили». Это не работает. Этот крайний случай я и привел в посте выше.
+3
vanxant ,  
Единственный адекватно воспринимаемый фактор расчёта премий — от успешности проекта в целом. Ну это если компания работает над заказными проектами. Если над своими — всё получается несколько сложнее, но тоже применимо.
Т.е. заранее объявляется, что премия платится по факту завершения проекта (и получения компанией денег). Под эту будущую премию закладывается определенная, заранее всем известная доля прогнозируемой прибыли. Соответственно, если возникает факап со сроками или багами, то «лишняя» зарплата за переработки уменьшает премиальный фонд.
Фактически, владельцы компании допускают непосредственных участников проекта к распределению прибыли, при этом не отменяя фиксированную зарплату.
Если эта схема внедряется психически вменяемыми менеджерами, в теории она может подстегнуть желание разработчиков делать всё быстро и качественно (а также пинать соседей, которые тянут резину). Конечно, придётся тонко лавировать и сглаживать конфликты, но это работает.
+1
romario13 ,   * (был изменён)
Мне кажется, от проекта будет работать если у его участников будет возможность влиять на других участников. Иначе — одни пашут, а другие курят. И опять вопросы — как оценить личный вклад.

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

Мне кажется должно выполнятся только одно условие: если работает человек, у него должна быть зп выше среднего по рынку минумум, а дальше по способностям.
0
lair ,  
Мне кажется должно выполнятся только одно условие: если работает человек, у него должна быть зп выше среднего по рынку

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

Средняя складывается из всяких, к сожалению (см. перегретый рынок Москвы).
0
lair ,  
Если все, кто работают, будут получать «выше средней», поверьте мне, средняя мгновенно вырастет.
0
romario13 ,   * (был изменён)
А куда бездельники денутся? или те — у кого продуктивность очень не равномерная?

Да таких большинство по моему опыту. Тех кто близко к стабильной показывают производительность\результат — единицы. Это и есть — профессионалы. Они работают.
0
lair ,  
А куда бездельники денутся? или те кто у кого продуктивность очень не равномерная?

В нижнюю часть ценового диапазона.
0
romario13 ,  
> Да таких большинство по моему опыту.
0
lair ,  
Тогда не очень понятно, кто находится в нижней части ценового диапазона.
0
romario13 ,   * (был изменён)
люди, для которых это было ошибкой — стать программистом
0
romario13 ,   * (был изменён)
Но если глубже — там целый список можно написать. От тех кто «устал» и не хочет развиваться, до тех кто работает на работе другую работу.
0
lair ,  
Вообще-то, это равноприменимо и к бездельникам.

Что же касается неравномерной продуктивности — так я вам честно скажу, она равномерная только у тех, кто делает равномерную же работу. А у тех, у кого работа разнообразная, и продуктивность такая же, несмотря на профессионализм.
0
romario13 ,   * (был изменён)
У нас проблема в терминах наверное. Что такое продуктивность?

Если я заинтересован и весь в задаче — это 100%. Если я мониторю соц сети с частотой 30 сек в минуту, то это другая крайность.

Ну и + способности.
0
vanxant ,  
А ещё вы можете быть джуниором, который 95% времени курит гугл и 5% кодит баги.
И против вас — матёрый девелопер с ипотекой и годовалым ребенком, который делает ту же работу без багов за 10% времени, а 90% времени фрилансит. Потому что ипотека и дитё, которое не даёт работать из дому.
0
romario13 ,  
Согласен полность. И если я адекватный руководитель — пойму кто фрилансит, а кто работает над собой. А если для меня программирование темный лес, опыта нуль, команда мне не нужна или я не понимаю что это, хочу нести начальству прогресс, то второй для меня Бог!
0
lair ,  
А какая вам разница, если они получают одинаково?
0
romario13 ,  
Если работать в короткую — никакой.
Если в долгую — для меня важна команда.
0
lair ,   * (был изменён)
А их ценность для команды, кстати, по описанию выше совершенно не очевидна.
0
lair ,  
Продуктивность — это объем выполняемой работы за единицу времени. При этом единицу осмысленно выбирать достаточно протяженную (не меньше дня), потому что иначе слишком неравномерное распределение.

Так вот, я не знаю ни одного хорошего программиста, который бы был одинаково продуктивен вне зависимости от задачи (причем речь идет не о сложности задачи, а о ее «подходящести» для программиста). Профессионалы просто не позволяют своей продуктивности падать ниже некоего осмысленного уровня.
0
romario13 ,  
Ну значит у нас разница в терминах. Для меня, работать хорошо — это отдавать себя работе полностью. Результат это производная.
+3
+4 –1
lair ,  
Это как раз бессмысленная метрика. Для руководителя (как и для команды, как и для проекта) совершенно пофиг, отдает человек себя работе полностью, или нет, важен результат. Самое страшное, кстати, это как раз когда отдает себя полностью, но при этом на результат без слез не взглянешь.
–3
+1 –4
romario13 ,  
Повеселили, Спасибо :)

Отдает ли себя человек полностью работе, на сколько он заинтересован в ней — наивожнейший вопрос!

Есть ли у него знания/опыт — тоже очень важно.

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

Повторюсь, одно из самых грустных зрелищ в моей жизни (не считая люцернского льва) — это наблюдение за неглупым, в общем-то, человеком, который каждый день уходил с работы на несколько часов позже меня, большую часть времени на работе проводил именно за работой, явно во всем этом был заинтересован — но при этом производил вещи, которые, вроде бы, работают, но… не совсем. И так каждый раз. Последнее его творение мы, в итоге, просто целиком выкинули.
0
romario13 ,   * (был изменён)
Крайности есть.
+3
+4 –1
lair ,  
Эта крайность хорошо показывает ошибочность подхода «работать хорошо — это отдавать себя работе полностью».
–3
romario13 ,  
нет. Это показывает упрощенность подхода.

Факторов очень много. Расписывать в рамках форума их все — невозможно. Поэтому формулировки упрощаются и могут выглядеть однобокими.
0
printf ,  
Все верно. Тем более что профессионализм разработчика зачастую выражается также в собственных проектах, участии в конкурсах, поездках на конференции.

Если оценивать по метрике romario13, то Гвидо ван Россум — довольно посредственный работник, т.к. он совершенно точно не отдает себя полностью работе над клиентом Dropbox.
+1
romario13 ,  
> выражается также в собственных проектах, участии в конкурсах, поездках на конференции.

Это всегда мега плюс.

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

Полагаю стиль работы Гвидо не вызывает проблем и соответствует ожиданиям.
0
printf ,  
С этим согласен, конечно. Я имел в виду первоначальную формулировку:
Для меня, работать хорошо — это отдавать себя работе полностью.
Соответствие ожиданиям это все-таки совсем другая история, такая формулировка лучше.
+3
youlose ,  
Средняя зарплата по рынку — это та зарплата на которую долго не могут закрыть вакансию кадровые агентства. То есть хорошие закрываются мгновенно, а там где мало платят, неадекватные требования, неадекватные руководители и.т.п. висят годами (в основном те, где мало платят) из них и считают эту среднюю рыночную, то есть это зарплата на которую нормальные работники не идут работать.
+11
gandjustas ,  
Такая схема от силы проработает месяц-два. Потом разработчики раздуют оценки в два раза и будут получать «надбавку за скорость» и по полдня читать хабр. Пока оценки дают сами разработчики никакие метрики от объема работы не взлетят.

Вы не обращали внимание что премии за продуктивность работают только там, где есть нормирование?

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

Штрафы за дефекты станут огромным демотиватором.

Такое ощущение что эта система — плод больного воображения, даже близко не применялась на практике.
+5
ilvar ,  
Есть что-то неприятное в таких механических подходах. С моей точки зрения, работа меня на компанию это такой договор, которым я избавляю компанию от необходимости писать код/разрабатывать архитектуру/етц, а компания в обмен избавляет меня от необходимости валить мамонта на ужин и отбивать у врагов пещеру на зиму. Если начальство мне начнет объяснять, что у них хитрая схема расчета зарплаты, и по ней я стою 1000 долларов, а я считаю, что стою 2000, я уйду туда, где дадут две. Если две нигде не дают — соглашусь на тысячу, тысяча в бесконечность раз лучше нуля.

Я еще могу понять, когда контора маленькая, и зарплата напрямую зависит от прибыли, это довольно логично. Но ваши метрики… как-то слишком притянуты за уши.
+1
tac ,  
Не проще ли руководителю поделится прибылью в виде премий в конце года по результатам года и пропроционально окладу?
0
qw1 ,  
1) Далёкая премия в конце года не может мотивировать здесь и сейчас.
2) Зачем напрягаться, если премия от усилий одного человека мало зависит. Всё равно компания получит какие-то деньги. Со старых проектов, с других проектов.
3) Сколько готов отдать в премии собственник/акционер, чтобы его жаба не задушила? 1%? 5%? Размазать это на 10-100-200-5000 сотрудников, вычесть все налоги и социальные сборы, и получим смешные деньги, которые вряд ли кого впечатлят.
0
tac ,  
1. Ну, как сказать зависит от твоего оклада
2. Компания то получит, но оклад твой зависит все-таки от проектов которые ты делаешь — и оценить это лучше работодателя вряд ли кто сможет, особенно, когда он понимает, что программист уйдет если его будут оценивать исходя из такого гемороя как тут описан
3. Жмотом не надо быть, если 13-я зарплата вдруг меньше твоего оклада — значит есть проблемы на фирме
+5
tac ,   * (был изменён)
В результате, помимо столь желанной прозрачности и справедливости оценки труда мы получаем:
повышение ответственности за оценку сроков разработчиками.
Никто не хочет работать сверхурочно, а ошибки при оценке сроков приведут именно к таким последствиям.
снижение к минимуму сроков разработки и повышение качества решения
Разработчик будет пытаться минимизировать разницу между положительной и отрицательной дельтами премиальной составляющей, чтобы увеличить свой доход.
повышение самостоятельности разработчиков
Кому приятно признать, что работу за него сделал другой человек, тем более, если это оформлено документально и обсуждается вне отдела.


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

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

В итоге текучка кадров, понижение возможностей разработчиков и не дружный коллектив.
+2
garex ,  
ПМ/тимлид, короче человек должен решать сложные проблемы, которые в прокрустово ложе не укладываются. Любая схема статична, в то время как человек динамичен. Выше уже товарищи сказали конкретику. Как только разработка станет такой же тупой, как рубка сосен в Магадане — добро пожаловать со схемами.
0
opium ,  
Система не жизнеспособная.
+1
bogolt ,  
Предлагаю еще улучшить вашу схему — добавив аукцион тасков. Начальство создает задачи, а разработчики выставляют свои оценки за какое время они могут их решить. Выигрывает лучшая ставка и разработчик принимается за дело. Если добавить сюда свою цену за каждую задачу ( выставляемую менеджером ) и умножить на почасовую ставку разработчика — мы получим оклад.

Одна проблема — все кажется превратилось в фрилас биржу, но это уже ерунда =)
+1
tac ,  
Да, встречал одну такую фирму… мало того, что пишут бред на 1С, так еще решили вот такой фигней заниматься… свалил через день :) понял, что тебя нае… т больше, чем заработаешь
0
printf ,  
А забавная идея. Такой тендер внутри фирмы.

Можно не только время оценивать, но и стоимость. Скажем, я готов закрыть таск за $500 и час работы, а Вася за $50 и день работы. Руководитель выбирает, что лучше, исходя из всяких своих глубоко внутренних соображений.

(Сам бы я не хотел в таком месте работать, но на правах эксперимента это заслуживает внимания, наверное.)