In this article, we are going to see what you can do to retain your software engineers while motivating them and creating a great culture. I’ve done all these things at my previous company, Cloud Academy, where I was CEO and founder, and I will share what I’ve learned and how we improved our retention.
In this article, we are going to see what you can do to retain your software engineers while motivating them and creating a great culture. I’ve done all these things at my previous company, Cloud Academy, where I was CEO and founder, and I will share what I’ve learned and how we improved our software engineers retention.
Technology stack: use it to motivate & retain top talents
I referred to this before in our guide to retain software engineers.
I still think that having a modern and clear technology stack is a must-have to motivate and retain great software talent.
Developers don’t want to build their skills on technologies that are out of date and not perceived to be cool anymore: it’s a big effort in their career to learn something that they will likely not use anymore and that will somehow slow them down and will make them less attractive in the market.
Your recruiting team will receive questions about the technology stack and the choices your company took, so make sure everyone knows how to talk about it at a general level. Your tech leadership will be able to explain the details.
Let me give you an example of this: most software developers are not really in love with PHP anymore and having it in your tech stack will somehow make the position less attractive for modern developers.
The same might be true for Java if your company is building modern software tools (Software as a Service, for example). If you have a choice, try to migrate to newer technology stacks and adopt them. You will earn that time back with less turnover and better ability to motivate and attract developers.
If you are operating in consulting, you will not always be able to select the technologies your people work on. In this case, what I’ve seen working is having internal lunch-and-learn events and a strong focus on letting your people learn modern technologies as part of their job. More about this later in this article.
Motivating your software engineers means having them ship new features often
This is what every software engineer really wants: ship new features as often as possible.
Why? Because that’s the best way to have impact and feel good about your work as a software developer.
There is nothing worse than having your engineers work on long projects that never go live. Whenever we got stuck in long migrations, challenging features that were constantly changing in scope, or renegotiating with sales, our software engineers started losing motivation, and we started losing them.
In most companies this type of velocity in shipping products is achieved through a well detailed strategy between product and engineering.
It will not happen automatically so your leadership needs to be intentional about it. If you are the CEO, ask your leaders to work on this and measure how often they ship your products on a weekly or even daily basis.
If you are working in consulting – as usual – this is more difficult to manage but you can prevent and reduce turnover in your software engineering team simply selecting customers that will not keep projects hanging for months and, most importantly, working with projects that have velocity and a real use case.
Software engineers should spend time with Product Managers
You should make sure that product people and engineers are spending as much time together as possible. The same could be true for product designers.
The idea is simple: product managers will make everything more clear and real for your people. Engineers don’t like to be in environments where requirements are constantly changing and decisions are slow.
Letting them talk and work with product managers is usually the first step to let them be part of the decision making process and a great way to let them understand the needs and vision behind the product.
The lesson I’ve personally learned here is to let your product managers and software developers self-organize: do not impose too many processes and reviews, simply let your PM and tech lead work together in the same squad or group.
They need to build a relationship based on trust and everything else will be a natural consequence.
Bring your software developers into customer meetings to enhance motivation
This is a game changer and still I’ve seen a lot of leaders not doing it because they fear their engineers might not like it or would say inappropriate things.
The easiest thing you can do to build a strong retention system is making sure your engineers are constantly involved in the business: they need to know your customers, their problems and be aware of the strategy the company is pursuing.
The first time I brought our software engineers into customer meetings, I kind of regretted it. But then we coached them, explained what they could help us with, and how to manage difficult questions. Things got better, and our people loved the ability to learn requirements and the “why” of things directly from our customers.
Why does this help with software engineers retention?
Because it gives your engineers recognition and the ability to have impact. If you are working at a large Fortune 500 you never get to have impact or meet customers directly, but if you can do that as a software engineer you will stay in that job for as long as you can.
If you are working in the consulting space, the same approach will bring great results. It’s also a great opportunity to coach your software engineers on how to deal with difficult requirements. Most of them will love the idea of having their leaders coaching them on how to manage customers and find solutions together.
Provide enough training and constantly refer to the career path
Your software engineers want to constantly be up to date with the latest technologies. They will ask for specific training, conference attendances and other forms of training.
My overall rule has always been to invest some of your budget in these things and make them available to everyone in the organization. If you buy specific training for your software developers, you should align that (and include it) with their career paths.
It will show them a clear reason for them to consume that training and the fact that you really use the career path to guide them inside your company.