During my career as an engineering team leader, I have hired and managed nearly 50 highly-skilled, technical employees. By implementing a few key management strategies, I have been fortunate to have experienced a 95 percent retention rate.
Today, technology plays a critical role in many functions within an organization, making software developers some of the most in-demand workers in the country. Unfortunately, in many cases, there is not enough supply to meet that demand.
It is no secret that a good engineer’s LinkedIn mailbox is full of messages from recruiters, and many organizations are offering more perks, larger raises, and fun company cultures to lure your engineers in. As other companies continue to up the ante, it can be incredibly difficult to retain your best engineers.
In addition to these external factors, it is very common for engineers to get bored if they are not engaged in meaningful work that continually challenges them. If you’re not continuing to develop their skills while helping them progress in their careers, you’re failing to invest in your team.
Over the past decade, I’ve learned a lot about how to successfully retain the best engineers. Here are three factors that will help you keep your most talented developers happy.
Develop an Engineering Culture
Company culture is critical to retaining any employee, however in many organizations, culture is overwhelmingly driven by the sales and marketing teams. Building a company culture based solely on these two teams can lead to the development of a toxic environment for your engineers.
If your engineering team feels like they are playing second fiddle to other departments, it could lead to other teams drowning out and disregarding their voices and ideas. An atmosphere like this quickly discourages talented developers from contributing their valuable input. A sales and marketing-centric culture could also lead to developers feeling less valuable and easily replaceable.
Therefore, it is critical to build a company culture that values all departments. Engineering culture tends to be dramatically different in comparison to other departments, so you must craft a culture that fits the specific needs of your engineering team.
Here at Springbuk, we have improved our engineering culture in a few ways:
- Organizing engineering team offsite "hack-a-thons" – By working off-site, your team builds camaraderie. Stronger relationships between engineers translates into higher trust in the workplace. Additionally, working off-site gives your team time to focus on eliminating technical debt. By eliminating this debt at hack-a-thons, there are fewer future roadblocks and more time to build new features back at the office.
- Creating a laid back culture – Engineers don’t like to feel like they’re part of a “feature factory”, they want to build something meaningful that they can leave their mark on. As such, it is essential to provide them with an environment as creative as the output of their work. This means providing flexibility in where, how, and when your team is able to work.
- Including "retro-bragging" into sprint retrospective meetings – Every sprint review meeting should include recognition components to articulate the contributions of each team member and build an atmosphere that ensures they feel valued. Here at Springbuk, we leverage Growbot on Slack to publicly recognize team members who are going above and beyond.
Focus on Leadership, Not Management
There is a distinct difference between managing and leading. A manager simply ensures that employees are doing their work and tasks are getting done. A leader, on the other hand, does more than just manage cogs in a machine. A strong leader invests in their employees, empowers their team members, and continually invests in the development of each team member’s talents.
Here at Springbuk, we are big believers in frequent one-on-ones, and we focus on the needs of our employees while helping them develop as individuals and professionals.
Our engineering team leadership knows which practices to avoid, including:
- Micromanaging – The best engineers need to be given space to focus on the task at hand. Don’t constantly check in and ask where things are; standups and agile ceremonies exist for a reason.
- Dictating How Engineers Should Build Features – Engineers like solving problems, not being handed solutions. The more you dictate how something is done, the more you negatively condition them to take instructions instead of thinking creatively and innovatively.
- Making Decisions in a Box – The easiest way to get a strong engineering team to buy in to your plan is to let them have a hand in crafting the plan to begin with.
The Best Developers Go Where They Grow
Anyone can find the best resumes, but finding individuals who have potential for development takes a different approach. Dan Mullen is the head football coach at my alma mater Mississippi State University, and he knows this better than anyone. He is one of the best coaches in the country when it comes to developing raw quarterback talent (Alex Smith, Tim Tebow, Dak Prescott) into Heisman trophy winners and NFL-caliber pros. I try to apply this same thought process to my leadership style. I look for potential first; if the developer is an open minded team player, the sky’s the limit for what we can achieve together.
Steve Caldwell is vice president of technology at Springbuk.