Dealing with Underperformers

Here's a truth that no one tells you when you step into leadership: you will have underperformers on your team. Not maybe. You will. It might be someone who was great and something changed. It might be someone who was never quite right for the role. It might be someone going through something you can't see.
How you handle these situations will define you as a leader more than almost anything else. Not how you handle your stars — that's the easy part. How you handle the person who's struggling, falling behind, dragging the team down, and maybe doesn't even realize it.
Most new leaders avoid this. They hope the problem goes away. They quietly redistribute work. They vent to their manager but never talk to the person. And then six months later, the problem is ten times worse and the team has lost trust in you because everyone could see what was happening except the one person who was supposed to do something about it.
Let's not be that leader.
1. Early Signals
Underperformance rarely shows up overnight. It creeps in. And the earlier you catch it, the easier it is to address. Here's what to look for:
Missed deadlines. Not the one-off slip — that happens to everyone. The pattern. Two sprints in a row where things were supposed to be done and weren't. Stories that keep rolling over. Estimates that are consistently off by 2-3x.
Declining code quality. PRs that used to be clean now need multiple revision cycles. Missing edge cases. Tests that are superficial or absent. Code that works but is hard to maintain, when this person used to write code you'd hold up as an example.
Disengagement in meetings. They used to ask questions, challenge assumptions, offer ideas. Now they sit on mute. Camera off. Monosyllabic answers in standup. "No blockers" every single day when you know that can't be true.
Less communication. Slack messages dry up. They stop posting in team channels. You used to see them helping others or thinking out loud about design problems. Now? Silence.
PRs getting worse. This one is specific and measurable. Look at their PR history. Are reviews taking longer? Are reviewers leaving more comments? Are they not responding to feedback, or responding defensively? Is the scope of their PRs shrinking — are they avoiding anything complex?
Other subtle signs: showing up late consistently, not volunteering for anything, doing the bare minimum on on-call rotations, dropping out of social interactions with the team.
Here's the thing — any one of these in isolation might mean nothing. A bad week. A boring project. But when you see three or four of these signals clustering together over two or three weeks, something is wrong. Pay attention. Write it down. Don't wait for the pattern to become undeniable. By that point, everyone else on the team has already noticed, and they're watching to see what you do about it.
2. Understand Before Judging
You've noticed the signals. Now comes the most important step, and the one most leaders skip: figuring out why.
Underperformance is a symptom, not a diagnosis. And just like in medicine, treating the symptom without understanding the cause is a waste of time at best and harmful at worst.
Here are the most common root causes, and they each require fundamentally different responses:
Skill gap
The person doesn't have the technical or professional skills to do what's being asked of them. Maybe they were promoted too fast. Maybe the technology changed and they didn't keep up. Maybe the expectations of the role evolved but nobody told them.
How to recognize it: They're trying hard but still falling short. They're putting in the hours but the output isn't there. They might ask a lot of questions or, more worryingly, not ask any because they're embarrassed.
What to do: Teach them. Pair them with someone strong. Give them a learning plan. Adjust expectations temporarily while they ramp up. This is the most fixable kind of underperformance.
Motivation issue
They can do the work. They just don't want to. The spark is gone. Maybe they're bored. Maybe they feel undervalued. Maybe they've been passed over for something and they're checked out.
How to recognize it: The quality of their work on things they care about is still high. But anything routine or unexciting gets minimal effort. They light up for certain tasks and go dark for others.
What to do: Have an honest conversation about what they want. Can you realign their work with their interests? Is there a growth opportunity that would re-engage them? Sometimes motivation dies because the person feels stuck, and showing them a path forward is enough.
Personal problem
Something outside of work is consuming their energy. Health issues, family problems, financial stress, mental health struggles, relationship breakdown. They're not underperforming by choice — they're surviving.
How to recognize it: The decline was sudden and out of character. They were performing well before and something changed. They might seem distracted, tired, or emotionally off.
What to do: Approach with care. You're not their therapist and you shouldn't try to be. But you can open the door. "I've noticed a change. I want you to know I'm here if there's anything going on." Don't push. Offer flexibility if you can. Connect them with company resources. Adjust workload temporarily.
Unclear expectations
This is the one that should make you uncomfortable, because it's your fault. If someone doesn't know what "good" looks like in their role, how can you blame them for not hitting it?
How to recognize it: They seem surprised when you raise concerns. They thought they were doing fine. They can articulate what they've been working on but it doesn't match what you expected.
What to do: Get explicit. Write it down. "Here's what I expect from someone in your role on this team." If you've never done this, you can't hold anyone accountable for not meeting expectations you kept in your head.
Wrong role
Sometimes the fit is just wrong. A backend engineer forced into frontend work. An individual contributor who got pushed into a tech lead role they don't want. A generalist on a team that needs a deep specialist.
How to recognize it: They perform well in some contexts and poorly in others. They were great in their previous role or team. The skills they have are real — they're just not the skills this role needs.
What to do: Explore whether there's a better fit. Can they move to another team, another project, another role? This isn't a failure — it's a correction. Some of the best outcomes I've seen in dealing with "underperformers" turned out to be people in the wrong seat.
The bottom line: Until you understand the root cause, any intervention you try is a guess. And guessing wrong — coaching someone who actually needs time off, or being patient with someone who actually needs a hard conversation — makes things worse.
3. Having the Conversation
You've noticed the signals. You've thought about the root cause. Now you need to talk to the person.
This is where most new leaders freeze. The conversation feels loaded. What if they get defensive? What if they cry? What if they get angry? What if you're wrong?
Here's what I want you to internalize: having this conversation is not mean. Not having it is mean. Every day you stay silent is a day this person doesn't get the chance to fix something that could eventually cost them their job. You owe them the truth.
Before the conversation
- Don't ambush them. Schedule a 1:1 or use an existing one. Don't pull them into an unscheduled meeting — that triggers panic.
- Have your examples ready. Specific, factual, recent. Not vibes. Not "I feel like you've been off." Concrete things you've observed.
- Check your own headspace. If you're frustrated or annoyed, wait. You need to walk in calm, grounded, and genuinely curious.
- Do this in private. Never, ever in front of others. Not in a standup, not in a retro, not in any group setting.
Opening the conversation
Be direct. Don't spend 15 minutes on small talk while they wonder when you're going to get to the point. They can feel something is coming and the wait is worse than the message.
"I want to talk about something I've been noticing. Over the last few weeks, I've seen some changes in your work that I want to understand. I'm not here to criticize — I'm here because I want to figure out what's going on and how I can help."
Or even simpler: "I've noticed X, Y, and Z. Can we talk about what's going on?"
During the conversation
Listen more than you talk. You've said your piece — now let them respond. Really listen. Don't just wait for your turn to speak. Their explanation might change everything you thought you knew.
Don't be accusatory. "You've been slacking" versus "I've noticed your output has dropped" — same observation, completely different tone. One puts them on defense. The other opens a dialogue.
Don't diagnose them. "I think you've lost motivation" is presumptuous. "What's changed for you recently?" invites them to tell you.
Be prepared for denial. Some people genuinely don't realize they're underperforming. That's information. It tells you that expectations haven't been clear enough.
Be prepared for emotion. They might get upset, frustrated, or even relieved that someone finally noticed. All of these are OK. Give them space. Don't rush to fill the silence. Sometimes the most important thing you can do is sit quietly and let them process.
Be prepared to be wrong. Maybe the problem isn't what you think. Maybe their deadlines were missed because another team blocked them and they didn't escalate. Maybe the code quality dropped because they were handling three production incidents that week. Stay open.
Closing the conversation
Don't leave it ambiguous. Summarize what you discussed. Agree on next steps. "Here's what I'm going to do. Here's what I'd like you to work on. Let's check in on this again next week." Follow up with a written summary — not as a formal HR document, but as a shared understanding of what was said.
4. Setting Clear Expectations
This might be the most common root cause of perceived underperformance: the person genuinely didn't know they were falling short.
You might think, "How could they not know?" Easily. You've been watching their work through the lens of your expectations, which live in your head. They've been doing what they thought was the right thing. Nobody told them otherwise.
This is on you.
Getting explicit
You need to make the implicit explicit. What does "good performance" actually look like for this person in this role on this team right now?
Write it down. Seriously. Not a novel — a clear, concise articulation of what you expect.
"Here's what I expect from you as a mid-level engineer on this team:
- Features are delivered within the estimated timeline, or delays are communicated proactively with at least a few days' notice.
- PRs are clean, well-tested, and rarely need more than one round of review.
- You participate actively in sprint ceremonies — asking questions, raising risks, offering ideas.
- When you're blocked, you escalate within 24 hours rather than spinning.
- You maintain the services you own and respond to production issues promptly."
Then show them where they are relative to those expectations. Not with judgment — with facts.
"Right now, here's where I see gaps. The last three features shipped 5-10 days late without advance notice. Your recent PRs have averaged three revision cycles. In the last few standups, you haven't raised any risks even though the timeline was clearly tight."
This is the gap. Expectation on one side, current reality on the other. Your job is to make both sides visible.
Why this works
Most people want to do well. When they can clearly see what "well" means and where they're falling short, they self-correct. You'd be amazed how often the simple act of making expectations explicit resolves the problem without any further intervention.
The people who don't self-correct after seeing the gap clearly — that's a different conversation. But you can't get there until you've been explicit first.
5. Creating a Coaching Plan
You've had the conversation. Expectations are clear. Now what?
If the person needs active support to close the gap, you need a coaching plan. Not a PIP — we're not there yet. A coaching plan is collaborative, supportive, and designed to help someone succeed. A PIP is what happens when a coaching plan doesn't work.
What a good coaching plan looks like
Concrete. Not "improve code quality." Instead: "Ensure every PR includes unit tests covering the primary path and at least two edge cases. Reduce average review cycles from three to one."
Time-bound. "In the next two weeks, I'd like to see X." Not "eventually" or "going forward." A specific window so both of you can evaluate progress.
Measurable. You both need to be able to look at the same evidence and agree on whether the goal was met. If you can't measure it, you can't manage it.
Realistic. Don't set them up to fail by expecting a complete turnaround in five days. But also don't give them six months of runway on something that should improve in two weeks. Find the balance.
Example coaching plan
"Over the next three weeks, here's what I'd like us to work toward:
- Delivery: Complete your current feature by the sprint deadline. If you hit a blocker, escalate it to me within the same day.
- Code quality: Your next three PRs should pass review within two cycles. I'm going to pair with you on the first one so we can align on standards.
- Engagement: In standups, share one specific update about your progress and one risk or question. Every day.
We'll check in every Tuesday and Friday in our 1:1 to see how it's going. I'll share my observations, you share yours. If something isn't working, we adjust the plan."
Check in frequently
A coaching plan without check-ins is a wish list. You need to be meeting with this person weekly at minimum, sometimes more. Short meetings are fine — 15 minutes to review progress, adjust, and keep the momentum going.
Document everything
Write down the plan. Write down the check-in notes. Write down what you observed. This is not about building a case to fire someone. It's about creating a shared record that both of you can refer to. If the person improves — great, you have a record of their growth. If they don't — you have a clear, documented trail that shows you gave them a fair chance.
Documentation also protects the person. If you ever move on and a new manager takes over, they'll have context. They won't start from zero.
6. When to Escalate to Your EM
You're a team leader, not an island. There are situations where you need to bring in your engineering manager. Knowing when to escalate is a skill in itself.
Escalate when coaching isn't working
You've been doing the right things. Clear expectations. Coaching plan. Regular check-ins. Two to four weeks have passed and nothing has changed. The same patterns are showing up. This is no longer a problem you can solve alone.
Your EM has tools you don't: they can involve HR, adjust team composition, initiate a formal performance improvement plan, or make decisions about the person's future on the team. These are not your decisions to make unilaterally.
Escalate when you suspect personal issues beyond your scope
If someone hints at — or you suspect — serious personal problems (mental health crises, substance abuse, domestic issues), you are not equipped to handle this alone. You shouldn't be. Your EM can help you navigate what support the company can offer, what accommodations are appropriate, and how to balance compassion with team needs.
To be clear: you don't share the person's private details without their permission. You can say, "I believe there are personal circumstances contributing to the performance issues. I'd like guidance on how to support this person while also managing the impact on the team."
Escalate when the team is being affected
If other team members are coming to you frustrated, if high performers are picking up slack and getting burned out, if the team dynamic is deteriorating — that's a signal that the timeline for resolution needs to accelerate. Your EM needs to know. They might see options you don't, or they might need to reprioritize other things to give you bandwidth to deal with this.
How to escalate well
Don't dump the problem on your EM. Come with context: "Here's what I've observed. Here are the conversations I've had. Here's what I've tried. Here's where we are now. Here's what I think the options are. I'd like your guidance."
This is managing up. You're not passing the buck — you're being responsible about the limits of your authority and the needs of your team.
7. Protecting the Rest of the Team
This is the part that new leaders underestimate the most. Underperformance is not a private matter between you and the underperformer. It affects the entire team. And if you don't manage that impact, you'll lose the people you can least afford to lose.
How underperformance affects the team
Workload redistribution. When one person drops the ball, someone else picks it up. And that someone is almost always your best performer, because they care about the outcome and they're capable enough to absorb extra work. This is a recipe for burnout. Your high performer didn't sign up to do their job and half of someone else's.
Morale erosion. When the team sees someone underperforming and nothing being done about it, a corrosive thought takes root: "Why am I working so hard when that person gets away with doing the minimum?" It's not that they're petty. It's that fairness matters to people. If effort and quality don't matter, what are they killing themselves for?
Trust in leadership. The team is watching you. If you address the problem — even if they don't know the specifics — they trust that you care about the team's standards. If you ignore it, they conclude that you're either oblivious or conflict-avoidant. Neither inspires confidence.
Retention risk. This is the big one. Study after study shows that high performers leave teams where low performers are tolerated. Not eventually — soon. They have options. They know their worth. And they will go somewhere where excellence is the standard, not the exception. You will lose your best people not because they were unhappy with their own situation, but because they were frustrated that you didn't deal with someone else's.
The balance
You need to be fair to the underperformer — giving them time, support, and a genuine chance to improve. You also need to be fair to the rest of the team — ensuring they're not carrying an unfair burden indefinitely.
This is a tension, and there's no formula that resolves it perfectly. But here's a guideline: the team should never feel like you're prioritizing one person's comfort over the team's wellbeing. If coaching is taking time, fine — but make sure you're actively managing the workload impact. Redistribute intelligently. Acknowledge (without naming the person) that you're aware of the imbalance. Protect your team's capacity.
And if it becomes clear that the underperformer isn't going to improve, act. Don't let the coaching phase drag on indefinitely because you're uncomfortable with what comes next. Your obligation is to the whole team, not just to one person.
8. The Emotional Side
Let's talk about what nobody in leadership training tells you: dealing with underperformers is emotionally exhausting.
You might feel guilty. "Am I being too hard on them? What if it's my fault they're struggling? What if I'm missing something?" This guilt is natural. It shows you care. But don't let it paralyze you. You can care about someone and still hold them accountable. In fact, that's what caring actually looks like.
You might feel anxious. The conversation you need to have keeps you up at night. You rehearse it in your head. You imagine worst-case scenarios. You find reasons to postpone it. "I'll wait until after the sprint. After the release. After the holiday." And suddenly it's been two months and nothing has happened.
You might feel angry. Especially if you've been clear and they're not improving. "I've told them three times. I've given them a plan. What more can I do?" Anger is a signal that your patience is running out. It's valid. But don't let it bleed into how you interact with the person. If you catch yourself being short or dismissive with them, that's a sign you need to take a step back and talk to your own manager or a peer about what you're feeling.
You might feel like a fraud. "Who am I to tell this person they're underperforming? They've been an engineer longer than I've been leading." Impostor syndrome shows up in full force during difficult conversations. It doesn't matter. Your role gives you the responsibility to address this. That's not about being better than them — it's about doing your job.
You might avoid the situation entirely. This is the most common response. It's the most human response. And it's the worst response. Avoidance feels like kindness in the moment but it's actually the cruelest thing you can do — to the underperformer, who doesn't get a chance to improve; to the team, who watches you do nothing; and to yourself, because the problem compounds and the eventual reckoning is far worse than an early conversation would have been.
Here's what helps: talk to someone. Your EM. A peer leader. A mentor. Not to gossip about the person — to process your own emotions about the situation. Leadership can be isolating, and the feelings around underperformance are real and heavy. Don't carry them alone.
9. Real-World Scenarios
Scenario 1: Catching it early and turning it around
Context: You have an engineer, Ravi, who has been solid for the past year. Over the last three weeks, you notice his PRs are getting sloppy — missing tests, unclear naming, logic that would have been cleaner a month ago. He's also stopped participating in design discussions. You check and he hasn't missed any deadlines yet, but the trajectory is clear.
What you do: In your next 1:1, you bring it up directly. "Ravi, I've been looking at your recent PRs and I've noticed a shift from where you were a month ago. The caching service PR had no edge-case tests and the variable naming was inconsistent, which isn't like you. And in the last two design meetings, you haven't said a word. What's going on?"
Ravi is initially defensive. "Those PRs were fine, they worked." You don't argue. You pull up the specific review comments from the last three PRs — eleven comments total, where a month ago his PRs averaged two. You're not attacking him. You're showing him data.
He goes quiet. Then admits he's been frustrated. He wanted to lead the new payments project but it went to another engineer. He's been checked out since then because he feels overlooked.
Now you understand the root cause: motivation, not skill. You have a real conversation about his career. You acknowledge that you should have discussed the payments project decision with him before it happened. You work together on a plan: he'll lead the next significant project, and in the meantime, you'll involve him in the architecture decisions for payments as a reviewer since his domain knowledge is strong.
Outcome: Within two weeks, Ravi's PR quality returns to normal. His engagement in meetings picks back up. A month later, he leads a service migration that earns praise from the platform team. He later tells you that the conversation was a turning point — not because of the plan, but because you noticed and you asked.
The lesson: Three weeks of signals. One conversation. One adjustment. Problem solved. If you'd waited three months, Ravi might have been quietly interviewing.
Scenario 2: Letting it fester until the team suffered
Context: You have an engineer, Jordan, who has been underperforming for about two months. Deadlines slip regularly. Their code frequently breaks in review. They seem disengaged. You've noticed all of this but you keep telling yourself, "They'll snap out of it." You like Jordan. They were great when they joined. You don't want to have an awkward conversation.
Meanwhile, the rest of the team is compensating. Your strongest engineer, Aisha, has been quietly fixing Jordan's bugs before they hit production. Another engineer, Tom, has been picking up stories that Jordan doesn't finish by sprint end. Neither of them has complained to you yet, but they're starting to seem tired.
By month three, Aisha comes to your 1:1 visibly frustrated. "I don't want to be that person, but I'm doing my work and half of Jordan's. I've been staying late three nights a week to make up for things that should have been caught before merge. Is anyone going to address this?"
You finally have the conversation with Jordan. But now it's been three months of documented underperformance. The gap between expectations and reality is enormous. Jordan feels blindsided — "Why didn't you tell me sooner?" — and they're right. The coaching plan you put in place feels too little, too late. Jordan improves marginally but never fully recovers the team's confidence.
Worse: Aisha accepts an offer from another company two weeks later. In her exit interview, she says, "I loved the team, but I couldn't keep carrying extra weight while leadership looked the other way."
Outcome: You lost your best engineer because you were too uncomfortable to have a conversation with your weakest one. The team's velocity drops by 30% and takes two quarters to recover.
The lesson: Every week you avoid the problem, the cost goes up. Not just for the underperformer — for everyone around them. Avoidance is not neutral. It's actively destructive.
Scenario 3: Discovering a personal issue behind the performance drop
Context: You have an engineer, Mei, who has been one of your most reliable team members for two years. Over the past month, things have shifted. She's missing standup without explanation. Her code reviews are delayed. A feature she owns is behind schedule and she hasn't flagged it. Other engineers have started to notice.
What you do: You bring it up in a 1:1. "Mei, I've noticed some changes over the past few weeks. You've missed a few standups, the notification service feature is behind where we expected, and your review turnaround has slowed down. This isn't like you and I want to understand what's happening. Is everything OK?"
She's quiet for a long moment. Then she tells you that her parent has been diagnosed with a serious illness. She's been flying out on weekends to help with care. She's not sleeping. She's been trying to power through at work but she knows she's slipping.
What you do next: You don't put her on a coaching plan. This is not a performance problem — it's a life crisis hitting someone who is normally excellent.
You do several things. You tell her clearly that her job is not at risk. You work together to reprioritize her workload — you move the time-sensitive parts of her feature to another engineer temporarily, keeping her on the components she can manage at her own pace. You remind her about the company's EAP and any leave policies that might apply. You adjust your check-ins to weekly, not to monitor performance, but to make sure she's not drowning.
You also manage the team impact. Without sharing any details, you let the team know that you're redistributing some work for the next few weeks. You make sure the engineers who pick up extra work are acknowledged and that it doesn't become a permanent burden.
Outcome: Mei takes a week of leave, then comes back at reduced capacity for another three weeks. After about six weeks, she's back to her normal output. The quality of her work never actually dropped — it was the volume and responsiveness that suffered. She tells you later that the fact that you asked, and that you responded with support instead of pressure, is the reason she stayed at the company during the hardest period of her life.
The lesson: Not every performance dip is an underperformance problem. Sometimes the best thing a leader can do is ask, listen, and adapt. But you'll never find out what's really going on if you don't open the conversation.
10. Common Mistakes
These are the traps that catch new leaders most often. Learn them so you don't have to learn them the hard way.
Ignoring the problem
The number one mistake, and we've beaten this drum throughout this guide because it's that important. Hoping it goes away doesn't work. It never works. The problem grows, the team suffers, and the eventual conversation is ten times harder than the early one would have been.
Being too harsh
The opposite extreme. You've been avoiding the conversation and now you're frustrated, so when you finally have it, it comes out as an attack. "Your work has been unacceptable." "The team is carrying you." This destroys trust and puts the person in fight-or-flight mode. They won't hear a word you say after that. Be direct, be honest, but be human.
Not documenting
You had the conversation. You set expectations. Two weeks later, they say, "You never told me that." And you have no record to point to. Document your conversations. Not as a weapon — as a shared source of truth. Send a follow-up email or message after every significant conversation. "Here's what we discussed, here's what we agreed to."
Comparing to others
"Why can't you ship like Alex does?" "The rest of the team manages to hit their deadlines." Comparisons are toxic. They tell the person nothing about how to improve and everything about how you see them relative to their peers. Focus on the individual. What do they need to do? What does success look like for them?
Public criticism
Any feedback about underperformance must be private. No exceptions. Not in standup. Not in a retro. Not in a Slack channel. Not even in a "joking" way. Public criticism humiliates people and guarantees they'll never trust you again. And the rest of the team notices too — they'll wonder if they're next.
Waiting too long
This is related to ignoring it, but it's worth calling out separately. Even when leaders do eventually address underperformance, they often wait until the situation is so bad that the only options left are a PIP or termination. By that point, you've lost the window where coaching could have made a difference. The ideal time to address underperformance is the moment you recognize the pattern — not after it becomes a crisis.
Moving the goalposts
You set expectations and a coaching plan. The person starts making progress. But instead of recognizing the improvement, you keep raising the bar. "OK, but now I also need you to..." This is demoralizing and unfair. Celebrate progress. Acknowledge improvement. If you need to raise expectations, do it explicitly as a new conversation, not by silently shifting what "good enough" means.
Making it personal
"You're lazy." "You don't care." "You're not cut out for this." These are character judgments, not performance feedback. Stick to behaviors and outcomes. "The last three features shipped late" is about work. "You're unreliable" is about identity. One is actionable. The other is destructive.
Business Value: Why This Matters to the Organization
If the human case for addressing underperformance isn't enough — and it should be — here's the business case.
The cost of unaddressed underperformance
An underperforming engineer doesn't just produce less. They create drag on everyone around them. Other engineers spend time reviewing their subpar code, fixing their bugs, picking up their dropped tasks, and working around their missed commitments.
Research from various industry studies suggests that a single underperformer can reduce the productivity of the engineers around them by 10-15%. On a team of six, that's like losing almost a full engineer's worth of output — on top of the reduced output from the underperformer themselves.
Over a quarter, the cumulative cost of one unaddressed underperformer on a six-person team can easily exceed $100,000 in lost productivity, delayed features, and increased defect rates. Over a year, it's substantially more.
And that's just the direct cost. The indirect costs are worse.
Team morale impact
When the team sees underperformance being tolerated, a few things happen in sequence:
First, frustration. "Why am I working this hard when that person isn't pulling their weight?"
Then, disillusionment. "Management either doesn't see the problem or doesn't care. Either way, standards don't matter here."
Then, disengagement. "If that level of work is acceptable, I'm going to stop going above and beyond. Why bother?"
This is the morale death spiral. It starts with one person underperforming and ends with the entire team performing at a lower level. Not because they can't do better, but because the incentive structure — as demonstrated by your inaction — tells them that excellence doesn't matter.
Retention of high performers
This is the most expensive consequence of all. High performers leave teams where low performers are tolerated. They leave not because of compensation or the work itself, but because they refuse to work in an environment where standards aren't upheld.
Replacing a senior engineer costs between 400,000 when you factor in recruiting, onboarding, lost productivity during the vacancy, and the institutional knowledge that walks out the door. And it's not just one person — attrition is contagious. When one strong engineer leaves and cites the team dynamic, others start thinking about it too.
I've seen teams lose three senior engineers in four months, all traceable back to a single underperformer who was never addressed. The underperformer, by the way, is often the last one to leave — if they leave at all. You end up with an inverse team: your weakest people stay and your strongest people go. Rebuilding from that takes a year or more.
The ROI of acting early
Flip all of this around. When you catch underperformance early and address it effectively:
- Best case: The person improves and you retain a capable engineer who is now more self-aware and more engaged.
- Good case: The person realizes the role isn't right for them and moves to a better fit — inside or outside the company — before it becomes a painful termination.
- Worst case: The person doesn't improve and you need to escalate, but you've built a clear, documented trail that makes the process fair and defensible, and you've limited the damage to the team.
In every scenario, acting early produces a better outcome than acting late. The math is clear. The emotional difficulty of the early conversation is a fraction of the organizational cost of inaction.
Wrapping Up
Dealing with underperformers is one of the hardest parts of leadership. There's no way around that. It's emotionally draining, it's uncomfortable, and it forces you to have conversations that you'd rather avoid.
But here's what separates good leaders from bad ones: good leaders have those conversations anyway.
The core principles:
- Watch for early signals. Don't wait for the pattern to become a crisis.
- Understand the root cause before deciding on a response. Skill gap, motivation, personal issue, unclear expectations, and wrong role all require different interventions.
- Have the conversation. Be direct, be compassionate, be curious. Do it in private.
- Set clear, explicit expectations. Write them down. Show the gap.
- Create a coaching plan that is concrete, time-bound, and measurable. Check in frequently. Document.
- Know when to escalate. You don't have to handle everything alone.
- Protect the rest of the team. Their morale and retention depend on you taking action.
- Acknowledge your own emotions. Talk to a peer or mentor. Don't carry it alone.
- Act early. Every week of delay increases the cost — to the person, the team, and the business.
You won't get this perfect every time. No one does. You'll wait too long sometimes. You'll misjudge a root cause. You'll have a conversation that doesn't land. That's fine. The goal isn't perfection — it's engagement. As long as you're paying attention, having the conversations, and genuinely trying to help people succeed, you're doing the job.
The leaders who destroy teams are the ones who look the other way. Don't be that leader.
Common Pitfalls
- Ignoring the problem and hoping it resolves itself. This is the most common and most destructive mistake. The problem never goes away on its own. Every week of avoidance increases the cost to the underperformer, the team, and the business.
- Being too harsh when you finally address it. Waiting too long and then unloading frustration turns the conversation into an attack that destroys trust and puts the person in fight-or-flight mode. Be direct, be honest, but stay calm and human.
- Not documenting conversations and expectations. Without a written record, you have no shared source of truth. Two weeks later, they say "you never told me that," and you have nothing to point to. Send a follow-up after every significant conversation.
- Comparing the underperformer to their teammates. Telling someone "the rest of the team manages to hit their deadlines" is toxic, breeds resentment, and provides no actionable information about how to improve.
- Moving the goalposts after they start improving. Setting expectations and a coaching plan, then silently raising the bar when they make progress, is demoralizing and unfair. Celebrate progress and make any new expectations a separate, explicit conversation.
- Letting the coaching phase drag on indefinitely to avoid the next step. If coaching is not producing improvement after a reasonable period, continuing indefinitely protects one person at the expense of the entire team's morale and productivity.
Key Takeaways
- Underperformance is a symptom, not a diagnosis. The root cause could be a skill gap, motivation issue, personal problem, unclear expectations, or wrong role, and each requires a fundamentally different response.
- Catch signals early: missed deadlines, declining code quality, disengagement in meetings, reduced communication, and worsening PR quality are all leading indicators.
- Have the conversation within weeks of noticing the pattern, not months. Be direct, use specific observations, and genuinely listen to their perspective before deciding on a response.
- Make expectations explicit and written. Most perceived underperformance is actually a gap between unstated expectations in the leader's head and the person's understanding of what "good" means.
- Create coaching plans that are concrete, time-bound, measurable, and realistic. Check in frequently, document progress, and adjust as needed.
- Know when to escalate to your EM: when coaching is not working after two to four weeks, when personal issues are beyond your scope, or when the rest of the team is being materially affected.
- Protecting the rest of the team is not optional. Unaddressed underperformance drives away high performers, erodes morale, and creates a culture where standards do not matter. Act early to limit the damage.