Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Where I work, management knows zero whenever it comes to programming & design. I want everyone to understand before reading the question that this is not a technical company, they are retail sales people that like the idea of custom software.

I was told that they want to create a incentive structure with bonus opportunities based of what I am working on. The flip side is I need to share goals with them in detail of what I want to have completed within xx amount of time to create this reward system.

I would like to set this up the correct way instead of making easily achievable goals / deadlines. As attractive as that sounds, I would like to use this as an opportunity for the company to move in the right direction whenever it comes to this department. They have had a hard time with talent fleeing in the past due to bad management, no incentives, and a poor environment. I am happy to see them trying new things for improvement down the road.

We all use github for version control and offsite repositories, one developer works in rails and cakephp, I work in c# and vb. My thoughts were to base the incentives on project completions - which they wanted more detailed specifics. But they do not understand actual code, terms, etc. Example: They would think that more code is always better because it's more, instead of realizing if you lessen the code in a function it may be more efficient and easier to read.

What would you do, or have you done in a similar situation?

share|improve this question

closed as off-topic by MichaelT, Robert Harvey, gnat, Kilian Foth, Dynamic Jan 29 at 23:43

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – MichaelT, Robert Harvey, gnat, Kilian Foth, Dynamic
If this question can be reworded to fit the rules in the help center, please edit the question.

11  
2  
I wonder what my boss will say whenever he is finished watching this. 'Jeff, why don't you set up a bonus incentive structure for yourself.'.. 'Boss, why don't you just pay me enough so I don't have to worry about money.' –  Jeff Jan 28 at 15:49
    
Just give him the link. –  Marjan Venema Jan 28 at 16:02
1  
Relevant: dilbert.com/strips/comic/2007-11-27 –  Neil Jan 28 at 16:58
3  
Kate's answer is on the money and should squash this question. If their real question is "How do we stop IT talent leaving"?, they need to take IT more seriously. How does your salary compare with similar employees in other companies? Do they have real SDLC or just hack together random requirements, and change priorities on a whim? Do they have Project Managers, testers, sys admins, BA's? They might not need all of them of course. How, for want of a better word, professional, is the IT department? –  Ozz Jan 28 at 16:59

2 Answers 2

up vote 7 down vote accepted

Even the mildest incentives get gamed. Is there a list of somewhere of who has how many outstanding work items? Does the count of those items get reviewed once a day or once a week in team meetings? Eventually you will get that guy who bounces his work items back to other people 10 minutes before the meeting with a comment like "it seems you're asking me to add a new report here that looks like the mockup you attached, is that right?" Then in the meeting, he has less outstanding items than anybody else. This tendency will apply when the only incentive is showing off. It might get even stronger when there's money at stake.

Most checkins? He'll check in every ten minutes. Fewest bugs? He'll pester whoever answers bugs to just tell him about them directly "so I can fix them super quick without the hassle of having to track them and everything." Most lines of code? You know where that will go. Not missing your estimates or deadlines? He estimates 10 times what anyone else does.

Any criteria big enough to be useful and ungame-able (projects released, company profit, number of lawsuits filed against you) is "unfair" because it depends on the things the individuals can't control. Anything they can control, someone might control to their own benefit (getting incentives) rather than the company's.

Where you have a specific financial gain available to the firm (or a loss to be avoided) you might be able to try "if this is released and accepted before the fiscal year end, I will give you all a $5000 bonus" (or send you all to Hawaii, or whatever.) That still has risks of being the "31 minute pizza." You know, 30 minutes or it's free? One time I called about that and they said his car had broken and it would be free and it would be there asap. Half an hour after that when I called they said well, he is first going to the people where we can hit the time and not have to give free pizza to them. Your free pizza will show up eventually, they said. I ordered a different one from somewhere else. I think it was 2 hours before the free one came. As long as it's cool, missing the deadline by a day or a month is the same, then fine.

Imagine trying to give yourself an incentive to quit smoking or lose weight. Some people "trick themselves" to do right. So the company needs a goal (meet a deadline, save a customer, solve a problem) that is out of the normal operation of the team, and a reward for meeting the goal. A bonus payment for just doing your regular job, or doing it somehow "better than usual" is not the same at all. I would either not have those at all, or let your boss just decide to give you a bonus based on no formula or anything else public.

share|improve this answer
1  
I tend to agree, I think that is why I had no idea what to say whenever they brought this up. I believe it is a worthless idea based on everything else. They don't understand code, we do commits but they don't see them (don't know where to look) we don't have deadlines unless set by our self, we barely have meetings anymore. I think being able to work from home a day or two a week instead of being interrupted by sales pitches from the desk next to me would promote better production than an bonus incentives. –  Jeff Jan 28 at 16:42
2  
Related reading - Why Joel Spolsky pays good wages upfront: Sins of Commissions & Incentive pay considered harmful –  Darrick Herwehe Jan 28 at 19:47
    
@Kate Gregory - Sorry I didn't respond to your comment on careers, I would not have minded if you re-wrote it but I figured it was better off to close it. I knew that it would get closed / put on hold here (as it is) and thought work place would be better suited. –  Jeff Jan 30 at 14:10

Here's how I think about it:

If you want to employ good software developers, the absolute minimum you need to pay them is the going rate for their skills and experience. Otherwise, they will get a phone call from a recruitment agent and 6 weeks later they will be working for another company.

Personally, I choose to pay above that level, partly to make sure the developers know they are loved and valued, but also it saves money. Recruitment costs money. Lots of it. 10-20% of salary to recruitment agent, the lost productivity actually doing the recruiting and then the money spent paying new staff whilst they get up to speed.

Paying bonuses on top of that is something I have done, but its been done after the event, based on the profit generated and the high level of customer satisfaction from a project, rather than a pre-agreed formulae for people to game to maximise their bonus, rather than doing their job well. Bonuses have always been paid pro-rata to salary to all, rather than attempting to unpick who contributed how much....

share|improve this answer
1  
+1 Hear, hear! Especially on the last paragraph. Do all developers get a share in that bonus or just the ones that worked on the project? I would say the latter is a tad unfair. People working on other projects than the profit generators deliver just as much value to the company as the ones working on the profitable ones, if only by enabling other people to work on those. Where I work, bonuses are on a yearly basis, their height is f x salary where f is a factor based on the company's performance and the individual's (general) assessments over the year. –  Marjan Venema Jan 30 at 9:50
    
When I have done it, its been company wide. As its a small company, single projects do have a substantial impact both on revenue and profitability for the company as a whole. –  Ptolemy Jan 30 at 10:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.