Tips for Giving and Receiving Effective Feedback

As software engineers, we are constantly working on improving our skills and delivering high-quality code. However, this can be challenging without feedback, which helps us understand our strengths and weaknesses, identify areas for improvement, and stay motivated to learn and grow. Feedback is also essential for building trust, strengthening relationships, and fostering a positive team culture. In this article, we will explore the importance of feedback in software engineering and provide tips for giving and receiving feedback effectively.

The Importance of Feedback

Feedback is essential in software engineering because it helps us:

  • Identify areas for improvement: Feedback helps us understand our blind spots, weaknesses, and areas where we can improve our skills, knowledge, and performance. Without feedback, we might not realise our mistakes, miss opportunities for growth, and repeat the same errors.
  • Measure progress: Feedback helps us track our progress, set goals, and achieve milestones. By receiving regular feedback, we can see how far we’ve come, what we’ve accomplished, and what we need to work on next.
  • Build trust: Feedback helps us build trust with our colleagues, managers, and clients by showing that we value their opinions, are open to constructive criticism, and are committed to improving our work.
  • Foster growth: Feedback helps us foster a growth mindset, which is essential in software engineering, where technology is constantly evolving, and new challenges arise. By embracing feedback, we can learn from our mistakes, try new approaches, and develop innovative solutions.

Tips for Giving and Receiving Feedback Effectively

Giving and receiving feedback can be challenging, especially when it involves critical or sensitive issues. However, with the right mindset and approach, feedback can be a positive and constructive experience. Here are some tips for giving and receiving feedback effectively:

Giving Feedback

Use the SBIR framework: Situation-Behaviour-Impact-Request (SBIR) is a powerful feedback framework that helps you structure your feedback in a clear, objective, and actionable way. Here’s how it works:

  • Situation: Describe the specific situation where the behaviour occurred. Be factual and avoid assumptions or judgments.
  • Behaviour: Describe the behaviour you observed, using specific examples and avoiding generalisations or labels.
  • Impact: Describe the impact of the behaviour on you, the team, or the project. Be specific and use concrete examples.
  • Request: Make a specific request for how the person can improve their behaviour in the future. Make it clear, realistic, and relevant to the situation.

Using the SBIR framework can help you give feedback that is objective, specific, and actionable, without being judgmental or personal.

  1. Be specific and factual: When giving feedback, be specific and factual, using concrete examples and avoiding generalisations or labels. For example, instead of saying “Your code is sloppy,” say “I noticed that in this part of the code, there are several redundant lines that could be simplified.”
  2. Focus on behaviour, not personality: When giving feedback, focus on the behaviour, not the person. Avoid making personal attacks or judgments and instead focus on the impact of the behaviour on the project or team.
  3. Be timely and frequent: Give feedback as soon as possible after the behaviour occurs, so it is fresh in everyone’s mind. Also, give feedback frequently, not just during performance reviews or when problems arise.

For example, let’s say a software engineer is working on a project with a colleague who is consistently late for meetings. Using the SBIR method, the feedback could be delivered in the following way:

Situation: In the last three project meetings, you were 10-15 minutes late. Behaviour: Your tardiness means we have to repeat information for you and we start the meeting later than planned. Impact: This is disruptive to the team and puts us behind schedule. Request: Can you make a commitment to being on time for our meetings going forward?

By using the SBIR method, the feedback is focused on specific behaviour in a particular situation, and the impact it has on the team. The request for change is clear and actionable, making it easier for the engineer to make the necessary improvements.

Receiving Feedback

Listen actively: When receiving feedback, listen actively, without interrupting. Pay attention to the speaker’s words, tone, and body language. Avoid getting defensive, and try to stay open-minded. Ask clarifying questions to make sure you understand the feedback correctly.

Reflect: After you’ve received feedback, take some time to reflect on what you’ve learned. Consider the feedback objectively, without judgment or bias. Think about how you can use the feedback to improve your skills or behaviour.

Respond appropriately: Responding appropriately to feedback is important, whether it’s positive or negative. If the feedback is positive, thank the person and let them know that their feedback is appreciated. If the feedback is negative, avoid getting defensive or making excuses. Instead, acknowledge the feedback and express your commitment to making changes.


Giving and receiving feedback is an essential part of personal and professional growth, especially for software engineers. It helps to identify areas for improvement and can provide insight into blind spots that may be hindering progress.

By following the tips outlined in this article, you can give and receive feedback effectively. Remember to focus on specific behaviour and situations, use objective language, and be open-minded and receptive to feedback.

Using the SBIR method is a useful tool for breaking down feedback into specific and actionable parts. By using this method, you can provide feedback that is more structured, objective, and helpful.

So, the next time you’re giving or receiving feedback, remember to use these tips and techniques to make the most of the experience.