A good developer is hard to find. Between a combination of mad skill and pure luck, you’ve succeeded in one of the most difficult parts of managing a team of developers: finding the right people. You’ve put together a group who is technically proficient, productive, self-motivated, honest, and curious.
Now you’re faced with the challenge of holding onto that team in what is a ridiculously competitive market: combine a plethora of opportunities with a shortage of good developers and you’ve got a recipe for the industry with the highest turnover rate.
No manager wants to see their team shift constantly through this revolving door. Not only is it simply a bummer to see a great developer go, it also cost money, time, and morale.
Every person on your team has an innate desire to find meaning and purpose in their work. They want to know that their contributions make a difference in the bigger picture. Allow for this sense of ownership by welcoming their input. You know they have opinions: do they feel free to share them? You can establish opportunities formally, through meetings and conferences, or you can casually check in and ask about a problem they’ve recently solved or have been currently stuck on. A less explicit push for collaboration that still keeps your team in the loop is sharing weekly updates highlighting who has been working on what and how it’s going.
*Be sure to model respect for variety and dissent.
“I really enjoy being micromanaged,” said no one ever. Just as important to software engineers as contributing to a group is having plenty of time and space to themselves. This profession tends to draw people who are reflective problem solvers, a skill that requires plenty of time to get lost in thought and, hopefully, lost in flow. You will get the highest quality of work from people who have the freedom to make attempts, errors, and miscalculations without constant time constraints, pressure, or fear of being unfairly judged.
*Give your team as much freedom as possible to make choices about their projects, schedule, and deadlines.
What does it mean for professionals in tech that technology has allowed for the modern 24-hour work cycle? That they need to double down on a commitment to balance time spent on work with time spent on other aspects of life. It’s one thing to talk the talk of “work/life balance” when you’re hiring; the team you’ve hired is now observing whether you walk the walk. No matter what kind of lifestyle you have outside of work, treat yourself--and everyone on your team--equally when it comes to time off. Making time to attend to whatever and whoever needs it outside of work increases overall productivity, keeps your team physically and psychologically healthier, and decreases turnover.
*Set and articulate expectations around availability, especially for teams with flexible work schedules.
The likelihood is high that those on a development team will thrive when provided with regularity, clear expectations, practical estimates, and realistic deadlines. After all, those are the qualities that make them excellent developers! While your team might value flexibility and autonomy in some areas of the work, they will also respond well under a leader who is consistent, dependable, and reasonable. Of course, projects evolve over time and everyone needs to adjust, but having protocol and standards for how those adjustments are made ensures everyone has confidence in the process.
*Think of flexible structure as having room to move inside clear boundaries.
Let’s assume the best: that you have a diverse team. Make it a priority that everyone on it feels safe, comfortable, and assured when sharing ideas and challenges. If they don’t, it’s only a matter of time before they split. The best engineers (and engineering managers, for that matter) don’t fear a thoughtful challenge. It’s up to you to redirect anyone who regularly dominates the conversation, is disrespectful, inappropriate, or makes assumptions. Your team is delivering to a diverse world and needs to reflect this. More and different perspectives mean more and different solutions and an engaged team.
*Take a look at your team: if you’re surrounded by people who look, think, and take their coffee like you, you’ve got work to do.
While you may be in the running for “World’s Best Boss” no one is “World’s Perfect Boss.” As a leader, you will make mistakes. Know this. Accept this. It’s fine. What’s not fine is being unreceptive to feedback, suggestions, or criticism. Want to know why people are leaving? Find a way to ask them. Better salary, full benefits, or kombucha on tap are hardly the only reasons developers move on. In a market as competitive as this, the longevity of a team reflects the responsiveness of its leader.
*How do you know if your developers find you to be receptive? They should be coming directly to you with their issues. If you’re getting information second or third hand, ask yourself--or someone on your team--Why?
Do you have feedback, suggestions, or criticism? We’re receptive! Leave your comments below.