Giving constructive criticism is crucial for team growth, but it’s often uncomfortable. This guide provides a structured approach and script to deliver Difficult Feedback effectively, focusing on behavior and impact, and ending with a collaborative action plan.
Difficult Feedback Go/Rust Backend Engineers

As a Backend Engineer, particularly one proficient in Go and Rust, you’re accustomed to debugging complex systems and optimizing performance. However, managing people and delivering difficult feedback presents a different kind of challenge. This guide addresses that challenge, providing a framework for constructive conversations, especially when dealing with a direct report.
The Problem: Why Difficult Feedback is Hard
Many engineers shy away from difficult feedback because it feels confrontational, risks damaging relationships, and can be emotionally draining. However, avoiding these conversations only exacerbates the problem, hindering the direct report’s growth and potentially impacting team performance. The key isn’t to avoid the conversation, but to structure it effectively.
1. Understanding the Foundation: Principles of Constructive Feedback
-
Focus on Behavior, Not Personality: Instead of saying “You’re disorganized,” say “I’ve noticed several deadlines have been missed recently, and the code commits haven’t included sufficient documentation.”
-
Impact-Oriented: Explain why the behavior is problematic. “This lack of documentation makes it difficult for other team members to understand and maintain the code, slowing down development.”
-
Specificity is Key: Vague feedback is useless. Provide concrete examples. “In the last sprint, the API endpoint X was deployed without proper unit tests, leading to Y issue.”
-
Two-Way Communication: Feedback should be a dialogue, not a monologue. Actively listen to the direct report’s perspective.
-
Collaborative Solutions: Work with the direct report to create an action plan for improvement.
2. Technical Vocabulary (Relevant to Performance Discussions)
-
Technical Debt: Accumulated shortcuts and compromises in code that need to be addressed later. (Relate to code quality concerns)
-
Code Review: A systematic examination of source code to identify potential defects and ensure adherence to coding standards. (Relate to code quality and standards)
-
Refactoring: Improving the internal structure of existing code without changing its external behavior. (Relate to code maintainability)
-
Latency: The delay before a transfer of data begins. (Relate to performance issues)
-
Bottleneck: A point in a system where work accumulates and slows down the overall process. (Relate to workflow or task management)
-
Deadlock: A situation where two or more processes are blocked indefinitely, waiting for each other. (Relate to collaboration or dependency issues)
-
Race Condition: A situation where the output of a program depends on the unpredictable order of execution of multiple threads. (Relate to unpredictable behavior)
-
API Contract: The agreed-upon interface between a service and its consumers. (Relate to adherence to standards)
-
Instrumentation: The process of adding code to track and monitor the performance of a system. (Relate to tracking progress)
-
Profiling: Analyzing the performance of a program to identify areas for optimization. (Relate to identifying areas for improvement)
3. High-Pressure Negotiation Script (Example Scenario: Missed Deadlines & Lack of Documentation)
You (Manager): “Hi [Direct Report’s Name], thanks for meeting with me. I wanted to discuss some observations I’ve made regarding recent project deliveries. I appreciate your contributions to the team, but there are areas where we need to improve. Specifically, I’ve noticed several deadlines have been missed in the last two sprints, and the code commits haven’t consistently included sufficient documentation. Can you share your perspective on this?”
Direct Report: (Likely response – may be defensive, apologetic, or dismissive. Listen actively and acknowledge their feelings.)
You (Manager - Assertive & Empathetic): “I understand that [acknowledge their response]. However, the impact of these missed deadlines has been [explain the impact – e.g., delayed feature releases, increased workload for other team members]. Similarly, the lack of documentation is creating challenges for other engineers trying to understand and maintain the codebase. For example, [provide a specific example]. I’m not questioning your abilities, but the current approach isn’t sustainable. I want to help you succeed. What challenges are you facing that are contributing to these issues?”
Direct Report: (Further explanation – listen carefully)
You (Manager - Collaborative Problem-Solving): “Okay, that’s helpful to understand. Let’s brainstorm some solutions together. Perhaps we can explore [suggest potential solutions – e.g., breaking down tasks into smaller chunks, improving time estimation skills, pairing with a senior engineer for code reviews, implementing a documentation checklist]. What do you think would be most effective? I’m open to other suggestions as well.”
Direct Report: (Offers suggestions or pushes back)
You (Manager - Agreement & Action Plan): “Alright, let’s agree on [summarize agreed-upon actions – e.g., you’ll break down tasks, I’ll pair you with Sarah for the next sprint, we’ll implement a documentation checklist]. Let’s schedule a follow-up meeting in [timeframe – e.g., two weeks] to review your progress. I’ll be available to support you in the meantime. Does this plan feel achievable and fair to you?”
4. Cultural & Executive Nuance
-
Directness vs. Diplomacy: While Go/Rust engineers value clarity and directness, delivering feedback requires a balance. Be direct about the issue, but deliver it with empathy and respect. Avoid accusatory language.
-
Executive Visibility: Be mindful of how this situation might be perceived by senior management. Document the feedback process and the agreed-upon action plan. This demonstrates accountability and a commitment to improvement.
-
Focus on Growth: Frame the feedback as an opportunity for growth and development, aligning with the company’s performance management philosophy. Highlight the direct report’s potential and your commitment to helping them reach it.
-
Consistency: Ensure your feedback aligns with company values and performance expectations. Inconsistent feedback can be confusing and demotivating.
-
Follow-Up is Critical: The follow-up meeting isn’t just a formality; it’s a chance to reinforce the action plan, provide additional support, and track progress. Lack of follow-up undermines the entire process.
5. Key Takeaways
Delivering difficult feedback is a skill that improves with practice. By focusing on behavior, impact, and collaboration, you can create a constructive dialogue that fosters growth and strengthens team performance. Remember to document the process and follow up consistently to ensure accountability and support your direct report’s success. Your role as a Backend Engineer extends beyond code; it includes leadership and mentorship.