Ben Petersen

Bonuses are hard to understand. On the contrary to what companies want you to think, they aren’t about velocity as part of the team, what you’ve contributed, or your hard work over the last few monthes. It’s strictly a numbers game.
code | 2017-02-16
Tags: Software Compensation Personal Goals
2017-02-16

Bonuses are hard to understand. On the contrary to what companies want you to think, they aren’t about velocity as part of the team, what you’ve contributed, or your hard work over the last few monthes. It’s strictly a numbers game.

Compensating hard work with bonuses

Bonuses are hard to understand. On the contrary to what companies want you to think, they aren’t about velocity as part of the team, what you’ve contributed, or your hard work over the last few monthes. It’s strictly a numbers game.

I’ve found that companies usually have an alloted amount for bonuses, individual teams are alloted an amount, and managers split up that amount amoungst team members. Sometimes the bonus amounts are the same for each developer and designer, while other times, it’s round robin, each developer seeing a bonus when they contribute something awesome. There are other areas of bonuses that are nice, like a few extra days off if you’ve been working weekends or nights to complete a project.

“Wait, so what exactly are yearly compensation talks for again if it’s split up evenly?”

  • To make you feel as part of a team?
  • To encourage pushing hard?
  • Showcased a side-project?

Below are a few different ways bonuses were handled in my past positions:

  • Part-time / Internships - N/A
  • Contract project completed and handoff occured within expected date. Cash bonus was written into the contract.
  • Salaried - Full time, bonus handed out at christmas party in cash, same amount was given to each person whether it be Developer, QA, PM, Sales, etc.
  • Salaried - Full time, bonus was similar to other developers on team, amount was determined by team lead. “merit based bonuses”.

I may not have enough data points to base this assumption off, but I’ve seen what similar cash bonuses throughout an organization does. It’s not good. “John” or “Bob” in a separate area of the organization have no incentive to sell a product, do their job exceptionally well, etc. Something that is worth considering are merit based bonuses, where the amount given is subjective to how you work with the team. It helps keep the environment fun, casual, and more foregiving than a performance driven bonus structure.

Below are a few examples of merit based bonus areas that I’ve done well at.

  • Attention to detail
  • Follow up with teams/individuals on questions that came up during meetings
  • Co-workers enjoy working with you (good mood, positive spin on things)
  • Understanding the team and code-base (not running to manager every hour with a beginner question)
  • I initially thought that my volocity and things I do outside of work would impact my bonus. While this might be true for sales, where metrics matter a ton, software is hard to judge performance on.

    Why is software hard to judge performance on?

    I’ve had a couple instances where the hardest working individual (lead dba, api dev, practically running the companies infrastructure) saw small bonuses, but I found it hard to compete. He was always on highly visible projects. The other project I’ve seen a bonus was on contract work with deadlines, which determined how much I got paid. If you work for yourself, you can included bonus structures into the project, similar to payouts at the beginning and handoff of the product. Sales (car salesmen, selling subscriptions, selling vaccuums), can easily be tracked. Because it’s the same product everytime, and highly driven employees sell “X”, while lesser people sell “X - 10” or whatever. Amount sold is a curve you can track and incentivize.

    Software, on the other hand, is hard to track

    Points earned through sprint work isn’t the same across products. An example of this is my team member is working on a newly created C# project, which they know really well, completes 20 points per sprint. While I am working on a really old codebase (classic asp) and I don’t know well and I complete 8 points because it’s harder to test and complete stories in it. Now, how can we compare outselves? Are stories I complete worth 2.5x more than his story points?

    Yeah, it’s hard. I think that’s why companies haven’t bothered with it. Instead, the work I produce has less than 5% of the bonus consideration.

    • I always thought “If I work hard, I’ll be rewarded”
    • Not true for bonuses “If I work hard, I’ll be rewarded the same as everyone else”

    I will always consider a bonus of “please take a few days off”, you deserve it. Is much more rewarding, even if you plan a small vacation with those 3-4 days off, it can be wonderful way to encourage hard work.