Deliver wise feedback in technical environments


As an experienced developer, you're often required to review other team members' code. Your developer peers have varying degrees of experience, some having advanced programming skills and others having more experience with game design. You'll use wise feedback to ensure that team members are working cohesively to bring forward their individual strengths and that they're working on their specific areas that need improvement.

What is wise feedback?

How can you provide constructive feedback that will be useful to each team member by being both instructive and motivating? One way might be to provide what's known as wise feedback.

Wise feedback is targeted feedback that:

  • Conveys confidence in the feedback recipient.
  • Communicates high expectations and the genuine belief that the person can achieve those expectations.
  • Provides concrete guidance to help the person meet team or project expectations.

Cartoon-style drawing of a feedback recipient with a box of statements saying, 'I believe in you,' 'I think you got this,' and 'That will help guide you.

In our context, wise doesn't necessarily mean smarter or better. It means that the feedback is tailored to the individual recipient and addresses considerations that are unique to that person. It helps establish trust between the recipient and the reviewer.

Let's say that your team consists of people of various ethnicities who come from a range of backgrounds and experiences. Giving critical feedback can be challenging because there might be, for example, a mistrust of the reviewer's motive. The recipient might wonder, Is this feedback because of my work or because of something else? Wise feedback could be especially important for underrepresented people because it signals that the reviewer believes the person can reach a higher standard.

Characteristics of wise feedback

Wise feedback is also known as buffered feedback. This is feedback where the buffer language signals that the team quality standards are high while at the same time providing assurance and confidence in the person's ability to meet or exceed them. It includes strategies to help them achieve those high standards by folding in such language as:

  • “Your work so far falls short of the quality you should aim for. We should work together to help you deliver stronger results.”
  • “I am confident that you can implement these changes to help improve the robustness of our implementation.”

Wise feedback has three main characteristics. To provide wise feedback, you should:

  • Signal your intention.
  • Be specific.
  • Provide steps for improvement.

By contrast, unbuffered feedback is criticism that fails to include practical tools, positive guidance, or next steps.

Signal your intention

Poor communication can damage trust and relationships. One of the key steps when providing feedback is to signal your intention. Ask yourself, What's the purpose of my feedback? What do I want to achieve? You should also be keenly aware of factors such as race, ethnicity, and gender while framing your feedback. For example, have you considered all of the recipient's possible perspectives? Buffered feedback takes all these considerations into account, as the following examples illustrate:

  • “I'm giving you these comments because I have very high expectations and I know that you can reach them.”
  • “The expectations in this course are high and I know you can do great work. The feedback here is designed to help you get there.”

Framing feedback in the buffered manner helps to build trust, signals that the recipient belongs, and combines mention of high standards with the assurance that the recipient can reach them. Of course, simple assurances and trust in the abilities of others are not the only factors needed for success.

Be specific

For feedback to be helpful and useful, it must be specific. When you provide as many relevant details as possible, you help people understand their areas of improvement and which skillsets they need to develop further. Specific feedback also helps recipients focus on the actual code that's being reviewed. When feedback is worded vaguely, such as, "This was a bad way to structure this code," it's very likely to be taken personally and even rejected.

For example, let's say that a team member has submitted some code for a game feature. You're aware that this developer has very strong programming skills in C++ but is still new to programming in Java. Consider the following options for framing your feedback:

  • This code doesn't run and there a lot of syntax and compile errors. Can you please fix the program?
  • I like the way you've designed the program structure. This feature will be a great addition to the game. However, I noticed a few syntax and compile errors. I think you might have used some data structures and libraries from C++ that don't work in Java. The good news is that Java provides built-in libraries that might be able to achieve similar results. I can point you to the relevant libraries. Do you want to try rewriting the code using those instead?

Evaluate both options. Which feedback do you think would be more useful to the developer? Which one might directly result in improved code and achieve better results?

Provide next steps

In addition to specific feedback, it's equally important to provide clear pathways or specific directions about what to do next. By giving your recipients constructive guidance, you're helping them take concrete steps toward success.

For example, in the preceding scenario, you pointed the developer to additional Java programming language documentation to achieve certain programming objectives. You could also share some other code samples that they could use to develop their game features.

Examples of wise feedback

Wise feedback doesn't mean you provide empty praise or gloss over any criticism that's needed. Don't use statements such as:

  • "Well don't worry about it. This isn't really that important."
  • "Hey, great job on adding your name at the top. That was great."

Instead, wise feedback should be direct but supportive, as the following examples illustrate:

  • "This is important, and it will require more practice. Here are a few more samples. I know you can do this if you keep at it."
  • "Tell me more about what you did and what you think went wrong. I appreciate how much effort you put in, and it must be so frustrating to have that effort not pan out for you. Are you willing to try a different strategy?"

Here are a few examples of not-wise and wise feedback:

Not-wise feedback Wise feedback
"This completely missed the mark." "This missed the mark. I'd like to take a minute to review the key elements with you, understand your approach, and answer any questions. I think you can definitely improve this."
"This needs to be redone." "This needs to be redone. Are you willing to try another way? If yes, I'm willing to share with you a few new strategies. I feel confident that you have what it takes to make this right. Let me know what you think."
"This is all wrong." "This part is all wrong, but this part is right, and this part is right. I know you can do better than this, and I'd like you to try it again. Do you need clarification on expectations for the parts that are wrong?"
"You got all of the syntax wrong in this for loop." "It seems like you understand the concept of a for loop, but I notice that you're struggling with the syntax. Here's an example of a working for loop, and here are some strategies that might help for remembering it. I'm confident that you can do this."