One topic I think about a lot is what’s the best way to motivate software engineers to do their very best every day — both because my role requires me to, but also because I’m very interested in psychology.
On one hand, everyone is different — some people are motivated by money, some are motivated because the team is working towards a shared vision, and some just want a stepping stone to their next gig. On the other hand, human nature is surprisingly universal. What managers can do to motivate their team depends obviously on the team members, but I think there are a few common universal themes.
From my own experience, the work environment you’re in strongly determines what you find important and as a result, what motivates you. I have been in teams where everyone just tries to do the minimum, and the emphasis is on having a “very good” work-life balance. I have also been in teams on the opposite side of the spectrum — everyone is on a mission and is willing to make sacrifices to achieve a shared vision. People in both teams are happy but happy in a different way. It might be surprising to some, but long hours does not have to translate to unhappiness, as long as there’s reason to make those sacrifices.
And of course, we need to make sure there isn’t anything that’s actively demotivating the team members. This brings us to the topic of fairness.
People want to be in a fair environment — software engineers are people too. Heck, even monkeys want to be in a fair environment, as this famous experiment shows:
The first monkey was more than happy to perform a simple task for a cucumber slice until it saw the second monkey receiving a grape for the same task — clearly an unfair situation.
Actually there’s something more important than fairness — and that is the employees’ perception of fairness. WorldatWork published a study on reward fairness and equity ( https://worldatwork.org/docs/resources/RFE0318_FINAL.pdf), and it confirms that perceived internal equity (i.e. whether someone…