How to motivate a programmer
We got an interesting discussion a few days ago at work : how can we motivate a programmer to work harder?
A salesman get a commission for each sale, and a good salesman can double or triple its base salary. That, gives motivation. But how can we do that with a programmer?
- A bonus per feature added? It’s against team work and against quality.
- A bonus per bug resolved? It would obviously depends of your position, and could lead to bad behaviors (i.e. introducing trivial bugs).
- Bonus on quality of code? Too long and subjective.
- A bonus per line of code? You can laugh at that, but I heard this was used sometimes at the early time of IT by ignorant people.
Do you have some ideas on this subject?
« Ubuntu Dell Inspiron 6400 : a quick review
Comments
Comment from beerfan
Time: January 28, 2008, 12:04 am
You can’t compare the kind of work that a salesman does with the work that a programmer does. The former generates profits and the latter consumes profits. Since profits are what any company cares about it’s an easy metric to use to reward those that increase it. However, as you outlined, it can be ambiguous to determine how a programmer contributes to the bottom line and giving rewards based on other things can be easy to “game”.
Why don’t you look at how Google motivates and rewards their people. There must be something to those masseuses, fine chefs, and all the other perks.
Comment from jon warner
Time: January 28, 2008, 3:41 am
We had a discussion about this at our last company retreat. The general consensus among the programmers was that cash rewards are nice, end of year bonuses are cool, but it’s not really /satisfying/ as an employee. Now, it may depend on company culture, but most of the people at my office just want to feel appreciated as an individual and not a cog in the machine…
To that end, our Christmas bonuses were one gift card to Amazon (which was an okay gift) and one t-shirt from thinkgeek, onehorseshy, threadless, etc. And the thing is, each shirt was picked out based on the person receiving it. Example: the content person got the onehorseshy shirt that reads, “Bad grammar makes me [sic]”.
Those shirts were a much better gift than the gift card was, or straight cash bonus would have been.
(Of course, that sort of thing might not fly in a company like IBM where there isn’t as much vested interest per person as a smaller company has.)
Comment from Ryan Prior
Time: January 28, 2008, 6:26 am
The problem is that computer programmers don’t want to be salesmen. They want to be architects - and you can’t give the architect a bonus per line drawn in the blueprints, or for each catastrophe he prevents with good design. Computer programmers need to write good code, and that’s what they should be paid for - good code that works - not little gimmicky bonuses.
Comment from Philip
Time: January 27, 2008, 2:45 am
It’s a tricky one. In an ideal world the employer would offer a good enough salary to attract self motivated employees. However, it’s not an ideal world and bonuses really can work as an incentive. I guess this would depend on the type of business model, but, maybe a bonus could be issued when a certain number of units/applications have been shipped?