
Ask HN: How to design a fair bonus system for software engineers? - drag00n
Should there be one at all? What are some good examples?
(Fair in the sense that engineers feel that way)
======
2rsf
Take a step back and answer why do you need a bonus system ?

Dan Ariely and other Psychology and Behavioral Economists claim that the value
of bonuses is not big or even negative [0].

My experience is that bonuses tied to performance leads to a bad work
environment, and if at all benefits only part of the people- the backstabbers
or the geniuses [0] [https://www.wired.co.uk/article/dan-ariely-bonuses-boost-
act...](https://www.wired.co.uk/article/dan-ariely-bonuses-boost-activity-but-
not-quality)

~~~
protonimitate
My workplace recently started tying yearly bonuses to "performance goals"
which are set throughout the year. I think the intention was to get employees
more "invested" in their performance and value contributions. However, all
it's done is make goal setting another set of hoops to jump through for HR.
You can pretty set any goal you want, and as long as you have something on
paper, management sees it as "good enough" and you still get your bonus.

I really loathe hr-mandated performance/improvement goals. Tying it to bonuses
just created another level of stress to the whole process, and doesn't really
add any value for anyone.

~~~
roland35
I have experience with the same setup - quarterly goals split between project
goals and some training/process improvement type goals.

Most of the time it seems people just write down what they should be doing
anyways, which defeats the purpose! In school "bonus" always meant going above
the regular work (not that I am advocating tying additional money based on
working _more_ than your normal job - that seems like it would negatively
effect morale over time!)

------
davismwfl
I've work in environments with and without bonuses. I don't disagree with what
2rsf wrote in his/her comment about bonus can sometimes create a backstabbing
environment, however I find this is when it is done poorly and when that is
the case they suck really bad.

Bonuses can be done in almost an unlimited number of ways. You have to decide
what are you rewarding, or why are you trying to give a bonus.

Some companies start paying bonuses to avoid raising salaries, this -can- be
ok if the person is very senior and making a high salary already and so paying
a bonus is a way to reward good work when the company is doing well without
driving the persons salary so high they become unemployable anywhere else if
they would choose to leave. This can be bad when companies pay bonuses to keep
salaries artificially low for employees as a whole, it will backfire majorly.

Other companies pay bonuses to all employees based on seniority (time with the
company & level of position) and do so as a profit share of sorts. This is
very common at profitable businesses. I consulted at a business that was
netting $10Million a year with 8 employees, even the admin assistant for that
office was getting $20k+ bonuses in a quarter cause the owners treated
everyone super well and as a side affect no one ever wanted to leave.

I also worked at a company where management had a bonus bool twice a year
based on performance, 20% of all profits for the company were given to anyone
at the manager level of above. This caused a lot of resentment from the
engineers as they felt slighted since without them the company did have a
product. Frankly while I was getting paid bonuses there I agreed with the
engineers and the production people. They eventually went to a split bool, 20%
to management, 10% to all employees, still felt a bit wrong in some ways but
it made most people very happy.

I also worked at a software company where everyone made bonuses every quarter
if your project/product was profitable. So there were teams that saw tiny
bonuses of like $3-4k, while teams with more money coming in and more profit
could see $40k bonuses. While logical, you can probably predict pretty fast
what that can do to teams & a company.

So as for how to handle engineer bonuses. My 2 cents. If you pay bonuses make
sure the process is clear to everyone and that people understand it is based
on whatever factors you have chosen. With that, assuming the factors are fair
and clear bonuses are almost never bad in my experience. The only bad ones are
where bonuses are paid in order to avoid salary increases when people still
have headroom on their salary based on industry norms (although there are a
couple of exceptions here when in a startup and money is tighter).

------
hedgew
The surest and most effective way to align developer interests with company
interests is to give equity. Bonuses in software engineering get very
complicated and messy very quick, and probably shouldn't be used outside of
some specific scenarios. Equity can also help foster a sense of ownership,
which is probably the best high level driver for good and profitable code.

~~~
drag00n
Okay, but then I have the same question: how do you give equity in a fair way?
Is it some formula of who came earlier or it depends on current company
valuation?

------
thedevindevops
Are you asking for individual engineers or teams of engineers (all members of
the team get the same bonus)?

~~~
drag00n
I would say individual, but then again it's a question of what is more fair --
individual bonuses, or team bonuses.

