Handling Underperformance With Compassion: The Hardest Conversation
Addressing underperformance without destroying trust or losing the person. A guide for engineering leaders who care about their people but know they cannot avoid hard truths.

I once let someone underperform for nine months because I was afraid of hurting their feelings. Nine months. During that time, the rest of the team grew resentful. The work that wasn't getting done landed on other people's shoulders. And the person themselves? They knew something was wrong but didn't know what, because I hadn't been honest enough to tell them.
When I finally had the conversation, they were devastated — not just by the feedback, but by how long I'd withheld it. "Why didn't you tell me sooner?" they asked. "I could have fixed this months ago."
That question haunts me. Because they were right. My "compassion" — my avoidance dressed up as kindness — had done more damage than an honest conversation ever could have. I'd robbed them of months they could have spent improving. I'd let the team suffer in silence. And I'd let my own discomfort with conflict masquerade as care.
That's not compassion. That's cowardice. And I've spent years since learning the difference.
Why We Avoid These Conversations
Let's be honest about what's happening when we delay performance conversations. It's rarely about protecting the other person. It's about protecting ourselves from:
- The discomfort of being the bearer of bad news. Nobody wants to make another person feel bad.
- The fear of being wrong. What if they push back? What if I'm being unfair?
- The messiness of emotions. What if they cry? Get angry? Shut down?
- The possibility of damaging the relationship. What if they never trust me again?
These fears are real. I won't minimize them. But here's what I've learned: the cost of avoidance is always higher than the cost of a hard conversation delivered with genuine care.
What Compassionate Accountability Actually Looks Like
Compassion isn't the absence of hard truths. It's the presence of genuine care while delivering them. It's the difference between:
Without compassion: "Your code quality has been unacceptable. You need to improve or we'll need to discuss your future here."
With compassion: "I care about your success here, and I need to be honest with you about something I'm seeing. Your last three pull requests have had significant quality issues that required extensive rework. I want to understand what's going on, and I want to help you get back on track."
Same message. Same honesty. Completely different impact. One makes a person defensive. The other makes a person feel seen and supported.
The Framework I Use Now
After years of getting this wrong, I've developed a structure that helps me have these conversations without either avoiding them or delivering them like a corporate robot.
Before the Conversation
1. Check your data. Is this actually underperformance, or is it a mismatch between your expectations and what was communicated? Before you have the conversation, make sure you've been clear about what success looks like. If you haven't — that's on you first.
2. Check your assumptions. Is there something going on you don't know about? A personal crisis? A health issue? Burnout? A toxic dynamic with a peer? Go in curious, not certain.
3. Prepare specific examples. Vague feedback is useless. "Your work has been slipping" means nothing. "In the last sprint, three of your PRs were returned with architectural concerns, and two deadlines were missed without advance communication" — that's feedback someone can act on.
4. Imagine the best-case outcome. What do you want to happen? Not "they stop underperforming" — that's too vague. What specific changes would success look like? Have a clear picture before you walk in.
During the Conversation
| Phase | What to Say | Why It Matters |
|---|---|---|
| Open with care | "I want to talk about something because I care about your growth here" | Sets the tone as support, not punishment |
| State observations | "Here's what I've noticed..." (specific examples) | Grounds the conversation in facts |
| Invite their perspective | "What's going on from your side?" | Shows genuine curiosity about their experience |
| Listen fully | Silence. Questions. No defending. | They might reveal context you don't have |
| Co-create a path forward | "What would help? Here's what I can offer..." | Makes it collaborative, not dictatorial |
| Set clear expectations | "Here's what success looks like in the next 30 days" | Removes ambiguity that breeds anxiety |
| Reaffirm belief | "I believe you can do this. That's why I'm having this conversation." | Ends with genuine hope |
After the Conversation
Follow up within 48 hours. Check in. Ask how they're feeling. Ask if they need anything. This isn't micromanagement — it's showing that the conversation came from care, not a checkbox.
Remove obstacles. If they told you something is blocking them — a confusing codebase, a difficult peer relationship, unclear requirements — your job is to address those. Accountability without support is just setting someone up to fail.
Notice and name improvement. When they do get better — and most people do when given clear, caring feedback — say it out loud. "Hey, I noticed your last PR was excellent. That architectural decision was really thoughtful." Positive reinforcement matters.
The Three Outcomes
In my experience, performance conversations lead to one of three outcomes:
1. They improve. This is the most common outcome when the conversation is delivered with clarity and compassion. Most people want to do good work. Most people, when told clearly what "good" looks like, will rise to meet it. Give them the chance.
2. You discover a systemic issue. Sometimes "underperformance" is actually a symptom of something else: unclear expectations, a role mismatch, a broken process, burnout, or a personal crisis. The conversation reveals what's really going on, and you address the root cause together.
3. It becomes clear the fit isn't right. This is rare but real. Sometimes a person's strengths simply don't align with what the role requires. Compassionate leadership in this case means helping them find the right fit — even if it's not on your team. A respectful exit is better than prolonged mutual suffering.
Common Mistakes I've Made (So You Don't Have To)
The shit sandwich. Praise → criticism → praise. Everyone sees through this. It makes your praise feel manipulative and your criticism feel buried. Be direct. Be kind. Don't dress it up.
The vague conversation. "I just feel like things could be better." Better how? Be specific or don't have the conversation at all.
The surprise PIP. If someone is shocked to be on a performance improvement plan, you failed long before the PIP. There should be at least 2-3 conversations before anything formal. No surprises.
The public correction. Never. Never ever. Performance conversations happen in private, one-on-one, with full attention and no audience. This is non-negotiable.
The one-and-done. A single conversation doesn't fix anything. Performance coaching is ongoing. Weekly check-ins. Continued support. Sustained attention. It's a commitment, not an event.
When the Person You're Coaching Is Also Your Friend
This is the hardest variation. When you genuinely like someone, when you've shared meals and laughed together, delivering performance feedback feels like a betrayal of the friendship.
It isn't. It's the opposite. A friend tells you the truth when others won't. A friend respects you enough to believe you can handle honesty. A friend doesn't let you fail in slow motion while smiling at you across the table.
I've had to have this conversation with people I deeply care about. What helped was saying exactly that: "I'm telling you this because I care about you. If I didn't care, I'd just let it slide and eventually manage you out. But I think you're capable of more than what I'm seeing, and I owe it to you to say that directly."
The Courage of Kindness
Here's what I want you to take away: having a compassionate performance conversation requires more courage than having a cold, corporate one. It requires you to show up as a full human, to hold both the standard and the person, to be direct without being brutal, to be honest without being cruel.
It's harder. It's messier. It takes more of you emotionally.
But when it works — when someone improves because you believed in them enough to be honest — there is no better feeling in leadership. You'll see the moment when something clicks, when relief replaces anxiety because they finally know where they stand, when they realize that clear expectations aren't a threat but a gift.
That person I avoided the conversation with for nine months? After I finally spoke up, they turned things around in six weeks. Six weeks. All that time I'd wasted being "nice" when they were drowning without a life raft.
You know what they said to me later? "Thank you for not giving up on me."
That's what compassionate accountability is. Not giving up. Not looking away. Not letting someone fail quietly because it's easier for you. It's saying: I see you. I believe in you. And I'm going to be honest with you because that's what you deserve.
Go have the conversation you've been avoiding. Have it this week. Your team — and the person — are waiting.
Recommended reading

The Legacy of Leadership: What Remains When You Leave
The thing people remember is not your architecture. It is not your processes. It is how you made them feel. Reflections on what actually endures from engineering leadership.

What 3 A.M. Incidents Taught Me That AWS Certifications Never Did
Twenty production incidents reviewed: why understanding beats fixing, what certifications actually train, and the habits that keep a team calm at 3 a.m.

An Engineering Leader's Sustainable Weekly Rhythm
A realistic weekly rhythm that balances strategy, people, and operational work — without burning out or losing yourself in back-to-back meetings.

Comments
No comments yet. Be the first to share your thoughts.