
Material incentives for programmers. Rake, gingerbread and whips

I’ve been thinking for a long time about sharing our experience in motivating programmers and writing this philosophical and practical article about indicators in the monetary motivation of programmers, but somehow they didn’t get their hands on it. Honestly, I’m even afraid to write it, according to my observations, the topic of motivation of an IT specialist by the IT community is often met with hostility.
Therefore, in the first part I propose to make a slight digression.
“Is it even necessary to motivate with money? IT professionals do not work well because of the money they need to be motivated differently! "
I read in the comments, heard at conferences, asked myself a question, watched my colleagues, and concluded: yes, maybe there are IT specialists for whom money is really not a motivating factor, but their minority.
Our company has introduced monetary incentives for all employees, including programmers. Relatively speaking, whoever works better and better gets more. And here’s the paradox — I rarely saw anyone playing Counter-Strike at the workplace or wasting work time differently. But I have repeatedly seen this in other companies where monetary motivation has not been applied.
When we decided on December 31 to arrange a small New Year's tournament in StarCraft, then after the last game I sat down to close tasks, since this affected the December ZP.
When I myself was a programmer, I often lingered at work to improve my performance and get more rewards.
I left my two personal projects because I had the opportunity to earn more in the main place. Perhaps I myself lost something by abandoning them, but my company then won. Those. she made sure that I would spend more time on her projects.
In general, I came to a fairly confident conclusion that it is necessary to stimulate employees with money. What do you think about this?
What indicators have we come up with to stimulate programmers?
I’ll just tell you what indicators we now have for the programmer’s monetary motivation.
Manager's assessment.
Insanely useful and logical indicator, we have it differentiated, i.e. You can set “Excellent” (150%), “Good” (100%), “Satisfactory” 50%, “Bad” (0%) and “Dangerous” (-50%).
In my memory, “Danger” no one put, so I think this assessment is superfluous.
This indicator also beats for periods (4 times a month), this allows a more differentiated assessment of the employee.
Through the same indicator, feedback is given to the employee about his work for the period and, more recently, a decision was made on mandatory feedback from the head to the subordinate at the end of the month, even if the head rated “Good”.
In general, this is an insanely useful subjective indicator with which a manager can influence an employee’s RFP.
Implementation of MDI and regulations
I never understood him, but we have it. It differs from the leader’s assessment in that it cannot be rated “Excellent” for him. It is assumed that the employee needs to be lowered if he came drunk to work, for example, well, or violated any other regulations. I don’t remember that a programmer would ever have this indicator different from the “Good” value.
Personal work plan (85%)
This indicator can bring both a lot of positive results and a lot of negative ones.
The main idea is to speed up development. It is assumed that the programmer should do tasks at 85% of his work time. The remaining 15% is given to go to the toilet and drink coffee.
The programmer is scheduled tasks in hours by month, if he has done more, then the value of this indicator increases proportionally, if less, then it decreases.
Everything would be fine if it weren’t for one problem - “How to accurately estimate the cost of one task in hours?”
From my point of view, this question has no answer, therefore the indicator conceived as objective, in fact, turns into subjective.
This indicator is useful - it makes employees work more, and clearly shows each employee how he can influence his salary.
But he can do a lot of harm: overestimation of the estimated hours of tasks, deterioration of the quality of the code, formal approach to the implementation of tasks.
Such an indicator must be balanced, ideally, with SLA quality indicators. With us, he is formally balanced by the leader’s assessment.
Customer assessment on tasks
In my opinion, a very useful indicator aimed at improving quality and customer focus.
In my last article, I described the life cycle of tasks for anyone interested, you can read. The bottom line is that each task has a customer, and only the customer can close the task. At the time of closing, the customer must rate the performance and write a comment. Then, all these customer ratings for tasks are averaged and fall into the programmer’s productivity.
The programmer sees a detailed picture of the assessment.

I noticed only one minus - the indiscriminate customer, who gives grades randomly because he does not want to understand what was accomplished as part of the task.
From our experience, it can be said that they rarely give poor marks on this indicator. There are still employees who overestimate it artificially (but this is already a problem of control).
Task Verification Assessment
This is also a useful indicator. It differs from the previous one in that it can be influenced by a tester or project manager. I usually raise my rating when a programmer abandoned a formal approach to a problem and solved it creatively. For example, the interface worked well.
Average task latency
This indicator motivates employees to hand over tasks on time, at the time that the business needs. We have monthly planning, but sometimes the task needs to be done before the end of the month. In this case, the task has a due date.
The task records the date when it was checked. By this date, the delay in completing the task is considered.
The minuses of the indicator are similar to the minuses of a personal work plan: code quality deterioration, a formal approach to the implementation of tasks. But the indicator is generally useful, it allows you to specify a deadline.
In my opinion, our system for calculating the effectiveness is not balanced and has a bias towards the speed of development. Therefore, we are considering introducing SLA-indicators (quality indicators), which will balance the speed indicators.
We use Redmine as a single information environment and in it everyone can see their own calculation, the programmer’s matrix looks like this.

What indicators were abandoned and why
Total company arrived in all directions
When I was a programmer, I was very surprised why I have an indicator of the total profit of the company in the motivation system, but not the people who brought this profit! This was rather strange and was explained by the fact that any programmer can influence the profit by putting some server in production.
But in practice, this figure was a bit of a roulette in a casino. One month you earned more, another less. But how to influence the indicator in a positive direction there is no understanding.
As a result, the indicator was abandoned.
Grading and stepping.
We have introduced grading in our company. Grading may be the subject of a separate article, but since it is related to the material motivation of the programmer, I will briefly talk about this.
All positions in the company are tied to grades. Grade is a salary fork, the minimum and maximum that can be obtained in this position. Employees are attached to the steppes. Based on the step, maximum and minimum of the grade, the base salary is calculated.
The employee is shown not only his base salary, but also the entire line of salaries for the grade of his position. Looking at his salary, each employee sees that he can earn more in the long run.

The head of the employee can indicate global goals that his subordinate must fulfill in order to move to the next step.
Complain and praise
A very effective thing that allows any employee to complain or praise any employee within the company. To accept this complaint or not, the employee’s manager decides when he evaluates the manager. In addition to helping to put a mark, the tool helps to deal with rudeness.

What to consider when introducing material motivation
Leaders more often like to praise than to punish. This is the nature of most people. Praising is simple and easy and leads to positive. But it’s unpleasant to punish, it can lead to conflict, but sometimes it is necessary, because in the long run the consequences can be worse.
The feedback conveyed to employees as an explanation of the assessment is a strong employee management and incentive mechanism, but not everyone understands this.
The settlement system should be automated and have a good transparent interface so that the end employee understands why he received this particular amount of money this month. Otherwise, motivation may turn into demotivation.
Technical experts are trying to circumvent the motivation system and artificially increase the values of indicators.
Permanent conflicts periodically arise due to evaluations between the customer and the contractor, between the manager and subordinate.
A personal work plan motivates you to do a lot, but leads to fixation on tasks. As a result, time for meetings and other events has to be set as a task.
Some programmers are very motivated by money, and I work a lot. At the end of the month, the efficiency coefficient for some may reach 135%. Therefore, we cut off more than 120% to 120%. So that you can fit into the budget and that people have time to relax.
When implementing KPI calculation, at first it’s better to overpay employees, otherwise you can demotivate, and they will think that they are introducing a motivation system for the sake of saving.
A bad rating is perceived more reasonably and is easier to set if a bad incident occurs repeatedly. And the first occurrence of this incident is recorded in the explanation for the rating “Good”.
This is all I would like to say in the framework of this article. I hope she will be useful to you.