Skip to content

Destructive bonuses

  • strict warning: Non-static method view::load() should not be called statically in /home/artemmarchenko/ on line 823.
  • strict warning: Declaration of views_plugin_display::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/artemmarchenko/ on line 1684.
  • strict warning: Declaration of views_plugin_display_page::options_submit() should be compatible with views_plugin_display::options_submit(&$form, &$form_state) in /home/artemmarchenko/ on line 457.
  • strict warning: Declaration of views_plugin_display_block::options_submit() should be compatible with views_plugin_display::options_submit(&$form, &$form_state) in /home/artemmarchenko/ on line 184.
  • strict warning: Declaration of views_handler_field_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/artemmarchenko/ on line 243.
  • strict warning: Declaration of views_handler_sort_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/artemmarchenko/ on line 82.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/artemmarchenko/ on line 584.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/artemmarchenko/ on line 584.
  • strict warning: Declaration of views_handler_filter_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/artemmarchenko/ on line 608.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/artemmarchenko/ on line 61.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /home/artemmarchenko/ on line 61.

February 4, 2007 by Artem Marchenko

Many if not most of software development companies employ some kind of the bonus plan for their developers. Developers or teams get a set of targets to reach and depending on the target fulfillment the bonus is paid. The idea of compensating the extraordinary performance and success is a good one. Unfortunately there two major problems with the bonus plans:

Expected bonus is not a reward

As Joel Spolsky puts it "They [bonus plans]'ve become like tips in restaurants: everyone expects one, so they can no longer be used well to award performance". Most of the good managers I've heard of try to plan the bonus targets so that their subordinates would get about the same amount of money whatever happens.At the time when there is a reasonable lack of programmers everywhere, it is just too dangerous to have an employee that expected the bonus, but didn't get it. The received bonus feels like something expected, while the one that was not received feels like a punishment and most of bosses wouldn't like their employees to feel punished.


Whatever is the bonus target it effectively forces the person to optimize towards the concrete target. That's not bad idea on its own. Unfortunately, there are so many aspects of software development, that it is too difficult to define a set of meaningful metrics to optimize for. Programmers are clever people and whenever there is a request to optimize towards a certain goal, it is usually possible to game the metrics and actually make things worse (since the problem is not removed, but rather hidden). For example, if the bonus target was to reduce the number of critical bugs per month, one of the ways for reaching the target would be to reject the bug reports as long as possible, to move them to another slightly-related departments, to claim that these are "features", etc. As a result, the system would look better (since less bugs are in the bug system), but would actually become worse (since less bugs are actually acknowledged and fixed).

Salary raises

There is so much potential harm in the bonus plans, that frankly, I fail to understand why so many companies keep using the bonus plans. The only reason I could see is if the bonus is seen by the top management as the method for implicitly cutting salaries, whenever the company results are not too good. To me the potential employee disappointment feels like too big price for such a method. If the company is doing really bad, cutting the bonuses out won't probably be enough, and if the company is doing just a bit bad, the disappointed programmers is the last thing needed for getting out of trouble.

Do you find your bonus plan motivating useful? Would you trade your bonus for the almost equivalent salary raise?

About the Author: As the Editor-in-Chief for, Artem is charged with overseeing the direction for content, advertising, and the overall management of the site. Nowadays in his day life, Artem is a product manager in a global telecommunication company where he leads the development of a product developed in extremely distributed environment. Artem has been applying Agile and researching Agile since 2005. Contact Artem


What do you think about your own bonus?

May 16, 2007 by Artem, 9 years 19 weeks ago
Comment id: 168

I was not sure that you are interested in agile methods, Tommi. Otherwise I would have sent you a link long time ago :)

If you have a bonus plan, do you yourself consider it useful, useless or demotivating? Would you personally trade it for a bit smaller salary raise?

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.

Best of