(Note that this is written with Engineering Managers in mind, but the underlying ideas will work across other disciplines as well)
Pretty often in your career as an Engineering manager, you will run into situations where you have to address employees who are underperforming in their role.
While this is a fairly common scenario, there are a large number of pitfalls and anti-patterns that most new managers run into. If not dealt with correctly, these could result in getting burnt out or leaving altogether. My aim is to go over a few of these traps in this article and discuss some ways to avoid them.
Before we start down the path of addressing underperformance, there’s one important thing to understand.
You can’t call someone an underperformer till you have a definition of a “performer”
Evaluating impact is notoriously subject to biases like expedience bias, distance bias, and similarity bias, as explored in this article by Harvard Business Review. Taking the time to establish a framework of what you expect at each level of seniority is a necessary first step to tackling issues with performance objectively.
Expectations could vary quite significantly between organisations. For an example, some companies may define a senior developer to be someone who takes on more complex work than intermediate developers. Another organisation may define them more as multipliers, who spend more of their time helping other developers level up, spending less time on their own technical streams. There’s no right or wrong here, only what works for your organisation.
If these expectations are not captured and made available across the organisation, you may end up with a few underperformers who are in that state simply because they don’t have a clear idea of what’s expected of them. In the absence of set expectations, they will carry the expectations from their previous work experiences, which may be incompatible with what you expect from them.
Without explicit expectations, you could also end up in a situation where more junior developers are given a goal post that keeps moving further as they try to bridge the gap. “They just don’t seem senior enough to get to the next level” is a bias-filled trap that you should do your best to avoid. As outlined in The Set-Up-to-Fail Syndrome: How Good Managers Cause Great People to Fail, managers often tend to label those that they manage based on first impressions, and then continue to double down on those impressions through selective observation.
Instead of relying on your intuition and gut feel to assess performance, establish a framework of expectations and use that to guide your conversations. Identify concrete objectives that they need to hit if they are aiming to do well within their role, or trying to get to the next level.
If you need inspiration to come up with a good framework, https://www.progression.fyi/ has an aggregated collection of publicly available expectation matrices from various organisations that you may find helpful.
Use metrics the right way
Many managers use metrics like the number of pull requests or commits as a way of stack ranking their employees in order to identify underperformers.
However, these metrics are only useful if they are used correctly. Unless you have homogeneous teams doing exactly the same type of work (which is a terrible way to build an engineering organisation!), these types of absolute comparisons don’t work. Different teams usually tackle different types of work. Different individuals in teams have different ways of showing impact. Absolute comparisons do a poor job of showcasing that.
Instead, use metrics to proactively check how your reports are doing over time. If you see a deviation from someone’s normal working rhythm, you can dig deeper and look into the root cause. Maybe their technical contributions dipped because they focused more on coordinating to get a project over to the finish line. Perhaps onboarding a new employee took some of their time away from coding. With absolute numerical comparisons, these examples would have shown up as signals of under performance.
Instead, use metrics to:
- spot deviations over time for an individual, and use that trigger to dig in and find out whether they need your help or if any course corrections are needed
- compare members of a similar level of seniority to each other within a team to identify underperforming employees that need support or to provide more clarity on what’s expected from their role
Performance expectations for new members
When new members join your team, don’t expect them to suddenly develop a deep understanding of your impact levels. It’s worth going over the expectations not just once, but a number of times over the next few 1:1s. It’s always an adjustment switching from one company to another. Make room for them to get over that jet lag.
Be cautious about forming early opinions about someone’s performance just based on the way they are onboarding. Depending on learning styles, you may have high performers who are slow to find their footing. 30/60/90 plans are great for collaboratively setting onboarding goals and for assessing where to provide help along the way to get them started.
Once they get past their onboarding, have another conversation with them about what success looks like for someone in their role. Collaboratively identify skills and competencies they need to level up in to be impactful in their role, especially if they aren’t fully familiar with the tech stack, tools or the processes that you are using.
Change in performance of existing team members
If someone who used to be a high performer is suddenly showing signs of poor performance, there is a high chance that external factors (likely of a personal nature) are the cause.
It is important to hold off on reacting immediately with corrective actions. Observe the situation over a period of time before stepping in to help.
During the next 1:1, use a tool like SBI (Situation/Behaviour/Impact) to provide feedback. Reference a few situations where you have observed a change in their working rhythm. Start the conversation off from a point of curiosity and caring. Genuinely listen and try to understand what they are going through, and hold off on jumping in with suggestions.
Whatever the specific situation is, make sure that you aren’t just treating the symptoms, but spending time understanding the underlying problem.
Don’t just tell them or ignore them. Help them.
Melissa and Jonathan Nightingale say it best in their book How F*cked Up Is Your Management?: An uncomfortable conversation about modern leadership (a book with actionable insights I highly recommend for both new and seasoned managers)
“A manager’s job is to maximize the investment the organization makes in her team.”
Depending on your personality type, you may fall into the trap of either
- ignoring performance issues for the sake of preserving a good working relationship, or
- trying to push for better results by telling them that they need to perform better
If your goal is to maximise the investment the organisation makes in your team, both of these approaches fail miserably.
Ignoring performance issues may help you avoid unpleasantness in the short term, but you will build teams that are not aware of external expectations and how they fare against them, right up till they are forced to be disbanded or let go.
If you are more result oriented, and don’t have any issues with having difficult conversations, your tendency might be to jump right in with a solution. Remember that your job is not to tell someone to perform better, it is to help them perform better. Ultimately your success depends on them improving, which requires identifying and addressing the root cause with empathy and guidance.
Plan for Improvement
Once you have acknowledged and explored the problem, work together to identify the best way forward.
- If the cause is related to external factors, consider providing them with some time off to come back rested and recharged.
- If it is related to them not having picked up enough context or skills to operate at their expected level, provide them with useful resources, and make use of regular scheduled pairing sessions to bridge their current knowledge gaps.
- If they are feeling unmotivated or no longer find the work they are doing to be aligned with their career goals, try to provide them with better opportunities that are aligned with where they want to go. I have mentioned a few ways you can approach this conversation in a previous post.
- If they are consistently off track, you may need to consider a performance improvement plan (PIP). I will be covering PIPs in more detail in a separate post.
It’s important to take the right action based on the root cause. Do not fall into the trap of throwing more money at someone to motivate them to do better. Though I’m sure no one will be unhappy to receive a raise, it’s unlikely that you will see a change without guidance and support.
Follow up and recognize growth
If an employee was not performing well, chances are that the rest of the team noticed. As a result, the team likely lost some trust in them. If they manage to make a comeback with your guidance, actively help them restore their reputation. Give them highly visible opportunities to shine, and acknowledge their accomplishments publicly.
Having said that, a quick word of caution is in order. Some employees might end up over-exerting themselves to match expectations that come out of performance related discussions. While some of their improvements may look great during the first few weeks, the changes may not be sustainable and could lead to burnout in the long term. It is important to follow up consistently to see how things are going and to see whether more course corrections are needed.
Performance related conversations may sound difficult and unpleasant. But approached the right way with the right tools, they can be extremely helpful for your reports. I hope that you find the ideas mentioned in this post useful the next time you need to help someone shine better and be more impactful in their role.