Sign in

What motivates software engineers?

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 (, and it confirms that perceived internal equity (i.e. whether someone doing the same work in the same company is perceived to receive the same reward) is indeed very important.

Even if you’re naturally a very hard working person, you will start “loafing” if all everyone cares about is doing the minimum and there’s no positive or negative reinforcement in-place to nudge people to act otherwise. Or worse, if you see others who do less but you believe they are better rewarded, you might even throw the reward back just like the first monkey did.


So how do we make sure software engineers feel like they’re rewarded fairly? Since software engineers are fundamentally analytical, one approach could be to define qualitative key results up front for each individual and each team. Defining qualitative metrics for software development is extremely tricky, as one has to think through what behavior they would be driving and whether there are appropriate metrics to counter-balance them. We can perhaps use the project management triangle to guide us here — that scope, time, cost are levers that can be changed, and they all affect the overall quality. If all the metrics are defined to drive people to optimize for having the right scope, there must be counterbalancing metrics for measuring quality.

Stay alert

In summary, creating an environment where people are rewarded fairly is crucial in motivating people as studies show — perhaps even more so than communicating a vision or paying people a sky-high salary. Of course, such a motivating environment takes months or years to build, but it may only take one symbolic grape being awarded to the wrong person to destroy. Managers have to always stay alert.

Originally published at August 2020.

I'm an engineering leader in a SAS company with more than 15 years of software industry experience.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store