This post is part of my Tech Lead Series, a collection of practical advice for engineers stepping into leadership roles.

Giving hard feedback is uncomfortable. That’s why most people avoid it. But avoiding it doesn’t make the problem go away. It just delays the conversation until it’s worse for everyone.

Why Hard Feedback Matters

People can’t fix what they don’t know is broken. When you see a performance issue, an attitude problem, or a skill gap and don’t address it, you’re denying that person the chance to improve.

You’re also being unfair to your team. If an engineer consistently ships late, everyone’s velocity drops. Dismissive behaviour in code reviews stops people from contributing. When you don’t address these problems, you’re choosing the comfort of avoiding one conversation over the wellbeing of the whole team.

Hard feedback is a form of respect. You’re treating someone as capable of hearing the truth and acting on it. The alternative, staying quiet, assumes they can’t handle it. As Camille Fournier notes in The Manager’s Path, “when they believe that their manager sees the good things they do, they’ll be more open to hearing about the areas where they might improve.”

Principles

Some ideas that guide how to approach these conversations.

Sooner is better. Small issues addressed early are minor corrections. The same issues left for months become serious problems. If you notice something in week two, address it in week three, not month six.

Specific is better than vague. “Your work has been slipping” is hard to act on. “The last three PRs had bugs that made it to production, and you’ve missed two sprint commitments” is specific and something they can act on.

Behaviour, not character. You’re addressing what someone did, not who they are. “You interrupted colleagues in the last three meetings” is about behaviour. “You’re rude” is about character. One can be changed; the other feels like an attack.

Private, not public. Hard feedback happens in 1:1s, not in team meetings. Public criticism shames; private conversations allow for honest discussion.

Direct, not cruel. You can be clear without being harsh. “I need to see improvement in the next month” is direct. “You’re the worst performer on the team” is cruel and useless.

The Conversation

A structure that I have found to work is:

State the purpose. Don’t hide what the conversation is about. “I want to talk about some concerns I’ve had with recent work.” Let them know this is serious.

Share what you’ve seen. Describe it with specific examples. Facts, not judgments. “In the last sprint, two of your stories weren’t completed, and the one that shipped had a bug that caused an hour of downtime.”

Explain why it matters. “When stories don’t get completed, the team has to pick up the slack. When bugs ship, we lose customer trust and spend time on firefighting.”

Ask for their view. You might not have the full picture. “What’s your take on this? Is there context I’m missing?” Sometimes there are good reasons. Sometimes you learn about blockers you can remove.

Set clear expectations. Be specific about what needs to change. “Going forward, I need you to complete your committed stories and test more before marking things done.”

Agree on next steps. What happens now? A plan to fix the issues? More check-ins? Specific support you’ll provide? Make it real.

Write it down. Write up what was discussed and share it. This creates accountability and protects both of you if things escalate.

Handling Reactions

Hard feedback often triggers emotional reactions. Some common ones and how to handle them.

Defensiveness. They explain why each example isn’t really their fault. Acknowledge their view without backing off. “I hear that there were constraints, and those are worth discussing. But the pattern concerns me regardless of the reasons.”

Deflection. They point to other people’s problems instead. Redirect. “We’re talking about your situation right now. Other issues are separate conversations.”

Silence. They shut down and won’t engage. Give them space. “I know this is a lot to process. You don’t have to respond now, but I’d like to check in again tomorrow.”

Anger. They get upset or hostile. Stay calm. “I can see this is frustrating. I’m not trying to attack you; I’m trying to help us find a way forward.”

Tears. Emotional reactions happen. Don’t panic or rush to end the conversation. Pause, offer a tissue, give them a moment. The feedback still needs to be heard.

Your job is to deliver the message clearly and kindly, not to manage their emotional response. Let them react, acknowledge their feelings, but don’t let the reaction derail the conversation.

Following Up

The conversation isn’t the end; it’s the start.

Check in often. Don’t wait months to see if things improved. Weekly or fortnightly, ask how things are going, note progress, address continued concerns.

Name improvement. When things get better, say so. “I’ve noticed the last two sprints have gone much better. Nice work.” Positive feedback matters.

Escalate if needed. If things don’t improve despite clear feedback and support, you need to escalate. This means involving HR, starting formal processes, or having honest conversations about whether this role is the right fit.

Keep records. Document your conversations, the expectations you set, and whether they were met. This protects both of you and makes sure nothing gets forgotten.

Common Mistakes

Sandwiching. Hiding criticism between compliments waters down the message. The person hears the praise and misses the point. Be direct about what needs to change.

Waiting too long. The longer you wait, the worse it gets. Address issues early.

Being vague. Fuzzy feedback is useless. “Do better” doesn’t tell anyone what to do differently. Be specific.

Making it personal. Attacking someone’s character guarantees defensiveness. Stick to behaviour and impact.

Not following up. Feedback without follow-up is pointless. The conversation is step one, not the whole process.

Avoiding it entirely. The most common mistake. Hoping that problems will go away on their own.

When It Doesn’t Work

Sometimes, despite clear feedback and genuine support, things don’t improve. This is hard but important to accept.

Not everyone can do every job. Some people are in the wrong role, or have problems that feedback can’t reach, or hear the feedback and choose to ignore it.

When you’ve been clear and supportive and improvement still doesn’t happen, it’s time for a different conversation. That might mean a performance improvement plan, a role change, or an exit.

You gave them information and opportunity. What they do with it is their choice.

The Hardest Part

The hardest part isn’t the conversation itself. It’s the days before, when you’re dreading it. The anxiety, the script-writing in your head, the temptation to postpone.

The anticipation is always worse than the reality. Once you’re in the conversation, you’re problem-solving, not suffering. And afterward, regardless of how it went, you’ve done your job. You’ve given someone the information they need to get better.


Published on .