As engineering managers, often what we see is from a window. We’re likely (and unknowingly) missing a lot.
We’re juggling a million-and-one objectives: maintaining a healthy culture within the organization, discussing career growth, mitigating any inter-team conflict, OKRs, incidents, All-hands, cost forecasting, long-term planning, short-term planning, performance reviews, hiring, creating internship opportunities, managing up, managing to the side, countless 1:1s, and the list goes on. While accomplishing the work described in this lengthy, and exhausting list, you’re still able to ship software to production – mainly thanks to your engineers.
Now, at any moment those engineers may become free agents, in search of more interesting projects, more money, more flexibility, more anything.
How does that happen, you ask? You sense that your engineers are accomplishing a lot, and seem to be happy. Maybe they’re slightly overworked or stuck on a painful migration, but for the most part they appear to be OK.
Here’s how things usually work. The talented engineer continues to work hard. You meet regularly to check-in, see how things are going, etc. They seem to be fine. Maybe they express that they’re a bit overwhelmed or unchallenged. Maybe they feel their performance warrants a raise but know it’s unlikely to happen until the end of the year, or even next year. In some cases, they don’t really express such sentiment clearly to you. Then one day, they decide to respond to a message on LinkedIn. They usually ignore said recruitment messages, but on that particular day, they choose to respond. One can assume since they’re talented they, naturally, get an offer to join another tech company.
Now you scramble to try to keep them. You also think to yourself, I thought they were fine...they were leading the team, releasing features to millions of users, having an impact that you thought would be enough to keep them. Well. You were wrong.
The lesson to be learned here: you have to work hard to keep your talented humans. We discuss, at length, what to do for engineers that are ‘underperforming’, ‘not meeting expectations’ or ‘bringing bad energy into the team’. We rarely discuss the energy and time we should also put towards ensuring our talented individuals are continuing to feel fulfilled.
Of course, sometimes it is just about pay. They may opt for another job to increase their income. For the purposes of this article, let's put salary aside and focus on their environment, what they’re doing and what you're doing, as their manager, to ensure they ignore these all-too-tempting recruitment emails in favor of continuing their career within your team.
Innovation: create the runway
Of course, there’s a mountain of work to accomplish in a quarter and your talented engineers are most likely tasked with delivering the work. This work could range from infrastructure and product features to tech debt. However, there’s one ‘type’ of work that is missing from that informal list – the work that drives innovation and creativity. To maintain talent in this competitive market, we need to allocate time for engineers to be creative, especially those keen on innovating. When reflecting on your team, do you give them breaks to be creative? Do you trust your engineers enough to allocate time towards innovation on your engineering platforms?
It’s not as simple as stating in a 1:1, “figure out a problem we have, then draft a document proposing how to fix it.” That's not enough. In order to innovate, you need to create a runway to allow them to think bigger, think of alternative solutions. Enable engineers to make decisions; allow them to set OKRs or organizational goals for their ideas; let them delegate or collaborate with other engineers to reach whatever creative idea they had in mind. Don’t just say, “sure you can do whatever you want” – help them accomplish it. Make it a first-class workstream within your product-engineering roadmap. Inspire them to think bigger, dream big enough to open doors for creativity.
Transparency: share organizational and product insights
To innovate, you need ideas. Good ideas aren't magic or like a prophecy that just comes to mind on a whim. They take time, context, and an understanding of what your boss's boss is encouraging you to think about. Bring this context to your 1:1s.
Your 1:1s should be bi-directional. Both parties should ideally have a list of topics to discuss. As a manager, bring organizational updates or product insights; interesting things coming down the pike. Allow them to feel a part of the entire process and not just the last step to build the solution. This is what good, talented engineers are looking for – they want to be included.
There are always interesting problems to be solved. Even if your product or platform is at 99.9999% uptime, highly available, zero to no errors (unlikely), there are still problems to be solved. In order to seek solutions, engineers need to know more than just the high-level OKRs or current quarters roadmap. They need to be equipped with organizational and product knowledge, in order to innovate and extend their reach if so desired.
Of course, this takes effort on your part as a leader. You can't show up to a 1:1 and say, “Hello! How are you? Now tell me what's on your list”. You need to prepare topics to share ahead of time. There’s something wonderful about engineering leaders who make everyone understand the importance of a particular initiative or project, with the intent of sharing this information to get engineers' insights on and without it feeling tyrannical. There’s a sense of comradery, we’re both in this together, solving interesting problems. It’s what differentiates the good-enough leaders from the great-and-inspiring leaders that engineers want to work for.
Recognition: just do it
Engineering systems are complex, humans are even more complex. Everyone wants to feel heard and valued. There’s no rule in the management handbook that suggests you should only show appreciation for your engineers once a year, i.e. in their end-of-year reviews. If there was such a handbook, it would actually state that recognition should happen more frequently.
Consider, for example, a study done by University of California, Berkeley titled Tactile Communication, Cooperation, and Performance: An Ethological Study of the NBA. In this study, it researches the impact of basketball players showing support and appreciation for their teammates via high fives. Specifically, the study suggested, “High fives and fist bumps, seemingly small dramatic demonstrations during group interactions, have a lot to say about the cooperative workings of a team, and whether that team wins or loses.” Let's translate this to engineering teams. Simple acts of appreciation such as a ‘Thank you' message on Slack or a ‘nice job!’ during a meeting or 1:1, could dramatically improve your engineer's state of mind or morale.
There’s nothing worse than feeling like your accomplishments aren’t being recognized. Just show your appreciation, simple as that. When genuine, it's easy.
Environment: who are they surrounded by?
Think about the relationship between engineers and their environment. If they work alongside experts from similar or other domains, they’re likely to learn from them and absorb some of their expertise.
For your talented individuals that are consistently making your team and product look good, think about their surroundings. Do they work with people that can challenge them? Are they in a stimulating environment, surrounded by motivated and similarly talented individuals that will bring out the best in them?
People will always feel less stuck, or stagnant if they’re in good company.
Growth: create novel and challenging experiences
Most talented individuals are not content with doing the same thing or leveraging the same architecture over a long period of time. On the other side of the coin, we all know far too well that there isn’t always time to allocate towards challenging projects. Sometimes we just have to keep the product or platform moving with incremental updates here and there. However, consider the toll this takes on your best engineers. If they get bored, they will seek novel, challenging experiences elsewhere.
There are many reasons for an engineer to seek opportunities elsewhere. Failing to create growth opportunities for your talented individuals is not one of them. Whether it's engineering-oriented like a new project or architecture or improving “softer” skills like writing or the ability to prioritize when given a plethora of tasks; you, as an engineering manager, have the “power” to create these avenues of growth for your engineers.
Good leaders remember how it was to be an engineer. They remember the constant desire to grow, evolve and solve problems. As you set your long-term goals for the quarter or year, ensure they can have these novel experiences within your organization so that they’re less tempted to look elsewhere.
Leadership, and engineering management specifically, is full of weird and wonderful experiences. You get to engage with individuals that are motivated one day and indifferent the next. It's a roller coaster. It’s better to be proactive and ensure that your talented humans continue to be challenged, engaged, and valued on your team. Once your talented humans start considering opportunities elsewhere, it's far harder to refactor their mindset to stay.
You need to work hard to keep your good humans – otherwise, they’re gone quicker than a toupee in a hurricane...or Oreos in my kitchen.