You may say: «There is nothing to discuss here. Money is the best motivator. No money means no cool and experienced developers». Partially you will be right. BUT the more you earn the less you value money.
Senior technical developers having plenty of generous offers on their table look for something else besides a banking account with 6 zeros. Even if they have been already working for your company for several years, you should keep on working and thinking about motivation for software developers.
The 2020 research shows money is only in the 6th place among tactics used by companies. And you can see a slight downward trend (compare 2019 and 2020).
Non-money factors are visibly more important for top performers.
Even though according to this research senior developers put money on the third place of the top motivators, it is still not the main priority:
And according to this poll, 83% of respondents cited «new challenges and continuous learning» as the reason for choosing a career in software engineering. If you are still not convinced that it is incredibly important to offer much more than money, remember how expensive and difficult the hiring process is and that demand for qualified workers is increasingly higher than the supply. According to the predictions, in 2030 there will be more than a 4 billion deficit of highly-qualified IT-professionals.
One more reason comes from the Stripe and Harris study. The majority of C-Suite execs agree that the survival of their companies is more dependent on the availability of high-quality software engineers than the availability of money.
Although this article is mostly focused on the ways to retain your best talent, some of the advice may be used for hiring and hunting as well.
What are the things that motivate software developers to stay in your company?
1. Technical knowledge upgrades
Help them in learning new technical staff:
- take interest in what they would like to master. Offer courses they want and it will bring their motivation to a higher level while improving their work;
- offer unique opportunities they can’t afford (for example because they lack necessary connections). Working on a project with more experienced and inspiring technical experts also counts;
- appreciate their time for acquiring new knowledge.
2. Engage senior developers in decision-making
If the employees are your best talents (and even if not) they probably know something important. So treat your senior developers as experts who tell you what is better in their scope of work, not just drones, moving tickets across the board.
If the senior developers say you need more tests, you need ‘em. If the senior developers say, “We need to refactor or we’ll never get the quality we need,” believe them.
Let’s say you know how their work should be done, you had relevant experience. Listen anyway — they might know something you didn’t face.
Additionally, there are certain guidelines and policies that must be observed. But, where possible, let them choose processes, tools, and design decisions they consider the best.
3. Challenges and interesting problems
Do not let your employees feel bored. If they are talking about «such a compelling project in that company X» — it is probably a bad sign.
There is no unified list of things that are challenging and interesting to senior software developers. Just discuss it with them from time to time. Sure, not all their desires may be fulfilled, but at least knowing what they would like to do may lead to reasonable compromises.
- allow them to choose the next problem or project to work on if they show continuous good performance.
- give them time to work on what they find attractive and essential. As Google does. They encourage employees, in addition to their regular projects, to spend 20% of their time working on what they think will most benefit Google. According to Business Insider, some products that emerged from that 20% include Google News, Gmail, and Adsense.
4. Set objectives, not tasks
It is about taking responsibility and their autonomy. Don’t tell a senior software engineer what to do, instead explain what the results should be and give them an opportunity to work out how to get there.
5. Show their work is valuable
- tell how their solution will impact users and their lives;
- praise them. Programmers want their work to be noticed. Several simple words might inspire them, make them feel satisfied and, simply, happyier.
- establish a culture in which people regularly thank each other and express gratitude to their coworkers.
6. Social impact
Millennials are more than previous generations concerned about global problems and strive to contribute as they can. If a company provides an opportunity to participate in solving serious world problems by their coding skills, you will see amazing results.
Here are the problems they are interested in most, according to the research:
Show a bigger picture and build trust between you and your best engineers.
- Invite your senior software engineers, for instance, to sales meetings so that they will understand clients’ needs better;
- Share plans, goals, news and your achievements as a company, or of a particular team, and even individuals;
- Don’t avoid sharing about problems. They deserve to know when there are hard times. What’s more they might offer some help;
- Encourage your best technical talents to be honest and be honest yourself.
To be continued…
Read more things that boost senior dev motivation in the second part of the series.