This post was updated in December 2017 with new information.
It’s easy to assume that offering a huge cash bonus will incentivize developers to go the extra mile whenever you urgently need to get something done. Sure, developers aren’t against earning a few extra dollars when they can, but it’s not the only thing that motivates them to take on mission-critical projects that are otherwise outside of their scope of responsibilities. These types of cash-based incentive programs also tend to reward developers for things that don’t move the needle quite the way your company needs.
Rewarding your developers for things like identifying inadequate technical documentation or serving on bug duty might be quick wins. However, Erik Dietrich, founder of DaedTech LLC, says that software people will quickly learn how your system works and how they can manipulate it for their personal gain. To address this, Dietrich suggests structuring your incentive programs around your company’s mission and actual business goals. He adds, “If you reward them for goals met, they will apply their acute problem-solving skills to devising the best process for solving the problem — quite possibly better than the one you advise them to follow.”
Giving developers company time to work on their personal projects might sound counterintuitive, especially when you need to ship a new product or feature as soon as possible. As Hamid Shojaee at Axosoft points out, this was once a particularly tough pill to swallow for some executives at Google, even after they announced that their developers would be allowed to spend 20% of their time working on things they liked. While they feared that nothing would get done, they ultimately found that their developers “saved up” their free time for after they shipped vital products and features—and they worked harder to get those things out the door. Considering that 75% of developers work on open source projects as a hobby, the thought of earning time at work to focus on them can be a bigger motivator than cash for some developers.
It’s no secret that even the most experienced developers are always looking for ways to learn new skills. Although there’s no shortage of training courses and seminars for developers to attend, many of them tend to be expensive. Michael de Raadt, head of EdTech at Canberra Grammar, says that rewarding developers with “mastery” opportunities is an excellent way to incentivize developers. He adds that allowing developers to nominate courses they’d like to attend and offering in-house mentoring sessions leads to higher levels of productivity and can help companies retain developers. Of course, feel free to be creative about the ways you provide professional development to your engineering team. But before you reach for some petty cash to “inspire” your developers, don’t lose sight of what really motivates them to get a project over the finish line.