When a team is in a little rut and isn’t sure how to get out, how do you turn it around? Good people leave, testers and developers alike. I know it’s a big conversation but how do we give everyone a reason to stay and love their jobs again?
#1 reason why people leave their jobs is because of their managers. A good IC will stay with a good manager, a good IC will leave instantly with a bad manager, and easily find another job (because they're a good IC, duh). So if all your good people leave, and all the not as good are left, then your team is gonna be in a "rut", and nothing you can do will stop that until you fix what was the real problem, replacing the manager that forced good people to leave. I've been on teams where all the good people leave, and the people who either hate change or don't have as many oppurtunities stay, but just do the bare minimum.
It's really difficult to recover once all the good ones have left. How do you attract good devs after that? If they interview onsite, they will see the warning signs if they have any experience. I've wondered this a lot because at my last company, management pretty much drove off anyone competent. Not just developers, but across departments.
Assuming you're in the position of power, you have to clean house in your company / department and weed out all the bad management / policies that drove people out in the first place. Then, you in theory will have a large amount of budget to work with (since people have left, and people have been fired/let go) and you can use that budget to incentivize good people to work there. Competitive salaries, equity, benefits etc. A lot of good engineers like small teams / companies because they believe they can make a bigger impact on the culture and direction of the company.
Cultivate their professional growth, give them opportunities to learn and grow and expand their skillset. Allow them to work across realms, for example let a backend develop fix something on the mobile codebase. Novelty works as a quick fix and as a pick me up.
I manage a team of 8 engineers and recently we've started doing friday potlucks where each person after lunch picks a ticket from the backlog. Tiny things that need to get done and we just never do kind of stuff. The idea is they get a breather from a large, mentally taxing ticket and head off into the weekend with a win under their belt and their load off their mind. It's not like going home on friday with your huge ticket weighing you down.
The first step to increasing retention is figuring out why people are leaving. Start doing regular 1 on 1s and exit interviews, listen to what people are saying, and fix the problems.
Give everyone on the team a chance to provide input and make suggestions. Everyone has input. It may be good, bad or just a moot point but giving people the chance to give input is a great start.
Is it all work and no play? Team building events outside work are always good for the team. Shows appreciation and gets everyone out of the work work work mentality...
Is the pay and benefits worth it for what people are doing?