Get Started

The Rabbit Hole Podcast

Welcome to The Rabbit Hole, the definitive developers podcast. If you are a software developer or technology leader looking to stay on top of the latest news in the software development world, or just want to learn actionable tactics to improve your day-to-day job performance, this podcast is for you.

rabbit-hole-with-tail.jpg

29. Feedback

On today’s episode we’ll be talking about feedback, both giving and receiving feedback. Why is feedback so important? Well we’re here to answer that question. We’re discussing why we as developers specifically, need to be giving and receiving feedback, using feedback to your advantage, knowing how best to both give and receive feedback and realizing that there are different kinds of feedback. We also get into the format of feedback, we hear some tips for giving constructive criticism and why facts needs to be stated and examples need to be given. Want to hear more? Give it a listen!

Key Points From This Episode:

  • The value of constructive feedback.
  • Different kinds of feedback.
  • Being timely in giving feedback.
  • Ways of receiving feedback.
  • Accepting feedback although you don't agree with the feedback.
  • Good feedback versus bad feedback.
  • Stating facts and giving good examples.
  • Feedback format: facts, results and recommendations.
  • Constructive and reinforcing feedback.
  • The feedback sandwich, not the shit sandwich.
  • Is the ski slope more personal than a sandwich?
  • Tips for giving constructive feedback.
  • The NVC and the Satir Interaction Model.
  • Who you got feedback from plays a role in how the feedback is received.
  • And much more!

Transcript for Episode 29. Feedback

[0:00:01.9] MN: Hello and welcome to The Rabbit Hole, the definitive developer’s podcast in sunny, bike-able downtown Manhattan. I’m your host, Michael Nunez. I have my cohost today, here.

[0:00:11.7] DA: Dave Anderson.

[0:00:13.0] MN: Our producer.

[0:00:13.9] WJ: William Jeffries.

[0:00:14.9] MN: and our regular guest.

[0:00:16.2] EG: Emanuel Genard.

[0:00:17.3] MN: And today, we’ll be talking about feedback, both giving and receiving feedback. Dave, I’m sure you’ve been in that situation many a times jumping, bouncing and bouncing from project to project. Tell me a little bit about that whole idea and that whole bit?

[0:00:32.0] DA: I think feedback is super important as developers, especially as agile developers. You know, agile process itself is based upon having quick feedback loops to guide us, to produce good software and similarly, to become a better software developer you need lots of frequent feedback as well.

[0:00:54.4] MN: Yeah, because I think feedback is something that people can use and developers can use to progressively grow especially if they’re caught doing a bad habit, whatever that is, if it’s you know, not following a particular design pattern or not writing test. Just very bad.

[0:01:12.8] DA: Just using tabs and sort of spaces.

[0:01:15.3] MN: Yeah.

[0:01:15.9] DA: That sort of things. That is quite the important thing.

[0:01:20.8] WJ: I think one of the best things that I’ve seen happen is when feedback doesn’t feel like feedback. During code reviews a lot, if you are in a company where there is an expectation that everyone’s polar request gets code reviewed, people make comments, comments get responded to and you’ll deal with it and then merge.

I have noticed that, it doesn’t feel like I’m getting feedback, I’m just – someone’s just helping me out. By saying, “You might have missed this” or “You maybe think about doing it this way” and I receive that feedback and when I’ve given it out, it never feels like I’m giving feedback, he’s like, “Hey, can we have a meeting so I can give you some feedback about” – you know, it’s just, “Hey, cool review.” Right?

[0:02:04.4] MN: I think one of the big things about feedback that often gets overlooked is that it has to be constructive when you are planning to give feedback to someone. I think a code review is like a perfect space for that. You push something up and you put an ample request so that people can review it and you’re you know, kind of vulnerable because people are looking at the work that you’ve done if it’s taken two hours or two days. That’s the little bit of you that you made on the internet for this feature.

When someone comes in and you know, gives you feedback that makes that code better, it’s like this person’s not only looking out for making the feature better but also making me as a developer better so that I can grow and not make those mistakes in the code basically.

I think something that’s challenging about poll based code review feedback is that it’s kind of impersonal so your code is out there and you’re hoping that someone’s going to give you feedback and look at it and have nice things to say about it or give you something constructive to work on to make it better.

It’s not often very timely and you don’t have to wait for it and you know, maybe people might message it differently because it’s not face to face.

[0:03:21.9] MN: Right.

[0:03:21.5] DA: Recently, we’ve been doing more trunk based development on our client and…

[0:03:27.9] MN: What is that exactly?

[0:03:29.6] DA: Just no poll request at all, just committing right on master. Yeah, which is, yellow bird. In the future, it’s going to be a future podcast episode I’m sure.

[0:03:40.1] MN: Yeah. The yellow merge development.

[0:03:44.1] DA: Yeah, without the poll request, you know, we just have to rely upon very in the moment feedback. We’re pairing with someone and it looks good to you, looks good to me, then we’re good, let’s do it and if I have a problem with that, I’m going to let you know right now.

[0:03:59.7] WJ: I was skeptical about trunk based development and then I did some reading on it and I think there are some really interesting patterns that that can result in. For example, the idea of branches as abstractions, I think is really powerful so if you don’t have the ability to create a feature branch then it encourages more modular design because you want to put all of your code somewhere that it’s not going to collide with someone else’s code so you can do that in a form of an abstraction.

Be it a new method or a new class or a new data structure. It encourages open/closed systems.

[0:04:36.4] EG: Open/closed means open for extension but closed to modification, right?

[0:04:40.6] WJ: Yeah.

[0:04:40.9] EG: Okay, just wanted to clarify.

[0:04:42.2] WJ: Yeah, it’s the O in solid.

[0:04:44.5] MN: Maybe a little off topic but really quick, is that very similar to get help flow, trunk?

[0:04:51.2] WJ: No, you’re thinking of get flow. Get flow is the opposite of stream where you have feature branches and then you branch out from those feature branches and it just branches off.

[0:04:59.5] EG: Yeah.

[0:05:00.3] MN: Right, to correct myself, it’s not drunk driven because that’s a completely different thing that I’m pretty sure people will give a lot of feedback on. Speaking about developing trunk, I do think that feedback is more important or the most important when it’s given like right then and there as fast as possible.

[0:05:21.8] DA: As soon as I see you taking that shot where you’re like, no, wait, stop.

[0:05:26.6] MN: Please stop for a second, you're going to –

[0:05:28.3] DA: trunk based development is not proven method for success.

[0:05:31.5] MN: No, it’s not. I think it was mentioned that the earlier you can give that feedback to someone, the more effective it is to them. The worst thing you can do to someone is, “Hey Dave, let’s catch eyes of feedback for you later today? Be available, for me. I got some feedback, don’t worry about it.” That’s just going to kill you.

[0:05:55.7] DA: Yeah, it’s going to ruin my day, yeah, thank you.

[0:05:59.7] MN: Okay, if you just say, “Hey, can we talk really quick, I have something I want to tell you” and you go, just give him constructive feedback, I think that is much more important than waiting till the end of the day to give a list of things that a person could have done wrong.

[0:06:16.9] DA: Yeah, I think that’s one of the awesome things about pairing too is because whatever you're doing, like, you’re going to get the immediate feedback.

[0:06:25.8] WJ: Also though, I mean, is there a good or bad way to receive feedback as in like, I mean, it sounds like to me that one of the first things I would think of is, well, it kind of depends on what the person said, right?

[0:06:37.9] MN: Right.

[0:06:38.5] WJ: If the person’s like, “Yo, this is awesome or this is the worst thing I’ve ever seen.”

[0:06:41.9] MN: Yeah, of course.

[0:06:43.3] WJ: Not all that helpful either way. I mean, the former feels better, you know, a nice little hit of dopamine or something but what is a good way to receive feedback?

[0:06:53.1] MN: I think for me personally, I’m always, I always stop and think that the person who is you know, trying to give feedback to me is doing it out of the kindness of their heart. I respect them enough to think that they’re going to tell me something that I need to do to fix myself, that I need to you know, look out for, whether it’s like this – I’m not destructing a java script variable to – to some completely different but from that aspect, I stop and think, “Okay, well, this person doesn’t want to give me this feedback with ill intent so I’m going to try and listen attentively and try to understand what they mean if I don’t understand or try to fix it for next time.”

I think respect and the respect has to go both ways. If I don’t respect someone and then I try to give them feedback on something, it may come out like rude or something and the other person might not understand where it’s coming from, and B, it may not even be constructive as much before. “Oh my God, this code is the worst.” How helpful is that? It really isn’t.

I think it’s like, “Hey, can we have a conversation, can we talk about why it was implemented this way” because at the end of the day, the one thing I do believe as well is that it’s a poll request, someone is doing the best that they can at that particular point in time. It’s not like they’re writing crappy code on purpose.

[0:08:16.4] WJ: Yeah.

[0:08:18.4] MN: You can give them the feedback to make them even better.

[0:08:20.6] WJ: Yeah.

[0:08:21.4] EG: I think that it’s important to remember how difficult it is to give feedback and I think that will put you in the right mindset. One thing that I try and do is thank the person immediately after they give feedback before I respond in any other way and then I think, I mean, you had a two fold question there, what can you do well and what could you do that’s not so good.

I think getting defensive is sort of the obvious response that is counter productive.

[0:08:51.9] WJ: As you were saying, getting defensive. I was imagining back the times I felt defensive when receiving feedback and my immediate reaction is usually a sense of, “Let me go fix this right now.Let me tell you why the way I was doing it was right actually or let me fix it in your mind.”

[0:09:10.5] MN: Right.

[0:09:12.5] WJ: It becomes, it’s almost I’d never really heard it.

[0:09:15.2] MN: Right.

[0:09:16.0] WJ: Right? I want to erase every human from my mind and from my emotion even. It becomes like this stain all of a sudden, the ego that I’m trying to wash off really quick.

[0:09:29.1] DA: Yeah, I guess there’s kind of like a cognitive dissonance and getting bad feedback because you might think, “Hey, I’m doing okay” and then if you get negative feedback that contradicts that then you feel like you need to push back and like kind of save yourself from the pain of reconciling that feedback with who you think you are and I think that’s kind of a challenge.

Although sometimes, maybe, you’re also like a tough critic of yourself and you’re already are worse critic than the person that’s giving you feedback and sometimes that’s not great either, you want to have people like give you insight that you haven’t already thought of yourself.

[0:10:12.2] WJ: Yeah, I think it’s important not to deny the feedback, whatever it is that even if you disagree with it, don’t just negate what the person said. The key there I think is to remember that accepting feedback is not the same thing as agreeing with the feedback.

You could think the other person is wrong, you could disagree with the point of feedback that they gave you but hearing it and accepting that feedback and being appreciative of them, taking the time to give it to you is not the same as admitting guilt.

[0:10:43.0] MN: Yeah.

[0:10:43.4] EG: That is a big thing right there. I feel like yeah. The big difference between agreeing and admitting or agreeing with the feedback and accepting it or hearing it out, you know?

[0:10:55.8] DA: Trying to find a kernel of truth for yourself that you can liken, improve upon.

[0:11:01.6] EG: Yeah.

[0:11:02.5] DA: Like trying to have some empathy with the person giving you feedback.

[0:11:06.2] WJ: because sometimes, the feedback that you are receiving is genuinely untrue, usually unfounded person to understand the situation properly or they’re giving it for some other reason but sometimes, the feedback that they’re giving is true, you're just wrong.

[0:11:23.0] MN: Yeah.

[0:11:24.6] WJ: You just don’t see the part. It’s difficult to know the difference in the moment and so I think it’s helpful to accept the feedback, write it down, make a note, come back and revisit it but don’t just outright deny whatever it is that they’re saying. Because that just discourages them from giving you feedback in the future and feedback is incredibly valuable.

[0:11:43.4] EG: Yeah.

[0:11:44.7] DA: I’m curious, what does good feedback look like compared to bad feedback, what’s something that you’d be happy to receive as feedback? Be it good or bad, positive or negative feedback.

[0:11:56.8] WJ: The key thing to feedback is it has to be actionable. If you can’t do anything with the feedback, then, it’s just uncomfortable to receive and there’s no benefit. “Dave, I don’t like your nose, it’s just too big and too close to your eyeballs.”

[0:12:14.3] MN: That’s horrible, you know?

[0:12:16.6] DA: Modern technology has ways to deal with this.

[0:12:20.1] WJ: I mean, right. I guess it’s a bad corner.

[0:12:22.0] DA: I’m going to sit on this for a bit.

[0:12:25.5] MN: Yeah, I mean, a hundred years ago, that would be feedback that you can’t do anything about, it’s just like, “Well, I have a nose and two holes and I can smell things, so what? What is the deal?” I do think that while you mentioned about having actionable feedback is like feedback that I would like to have. I mean, I remember growing up as a young aspiring developer.

Whereas someone was saying, “You might want to read this book and Effective Java 2,” it’s like the first book, java book that I would read because someone suggested that to me and it was like, “Okay, cool, I imagine that you’re telling me to read this book because it makes me a better developer at the end of the day so I’m going to go and read this book” and then you gain the knowledge necessary to become better.

That is, I feel like actionable because you can you know, do something about getting better as a developer and here’s a book that will get you level up to do that.

[0:13:29.3] DA: It’s like a cross reference from like different episodes that we’ve had before, over woven into one answer.

[0:13:36.5] MN: There is feedback that you can get like and do something about it immediately but there are feedback that you can, that you would have to sit back and analyze how to get better at that. I think one of the more difficult feedback that I received was like I was just unfocused at work. I took that like at the end of the day, I went home and then try to figure out, “Am I really unfocused? I think I’m doing okay, I’m trying to get these features out” but then I realized that I was just not really happy with the current project that I was on.

I think it stems from the feature that we’ve been working on, the project. What can we do and then I was just rolled into another project and then I realized that it was that because I was a lot better in the next stages of my career.

Some feedback you can get and do something about it immediately and then there’s just some feedback that you have to kind of seek into your soul and kind of figure that good stuff out.

[0:14:30.9] DA: Yeah, sometimes I feel like some other kinds of bad feedback, kind of in the same vein of not being actionable is just kind of like lukewarm or nonexistent feedback. If t here’s not bridging for feedback and you don’t take it then that kind of sucks. You want…

I personally want as much feedback as possible and then if the feedback comes and it’s just like, “Oh you’re doing pretty good” and it’s like, “Well, me personally, I know that there are things I want to do better so it’s a lost opportunity.”

[0:15:07.6] MN: Pretty good, no, tell me something bad, I want to learn.

[0:15:10.3] WJ: I want to know how horrible I am.

[0:15:11.7] MN: Yeah, exactly, that pretty good, I’m not pretty good.

[0:15:15.9] EG: Yeah, I agree, I think you know, asking for examples of bad feedback, the inverse would be Dave, you are amazing, you're just awesome, It’s all great, everything that you do is wonderful and I just, I’m so happy that you're here.

[0:15:33.5] DA: I’ll take it, that’s fine.

[0:15:36.8] EG: To me, I mean, It’s definitely easier to hear, right? But is it any more useful than I don’t like your nose?

[0:15:45.2] DA: No, because I cannot stop being awesome.

[0:15:48.7] MN: Yeah. I was going to say that, if someone just said that, it’s like, “Okay, well, how do I – I guess I have to continue doing what I’m doing so that I can continue being awesome?”

[0:15:58.8] EG: What was it that you were doing to want to say –

[0:16:00.6] DA: Oops, you got to go home and sleep on that I guess, that’s the long feedback, you come back to work the next day and like, “All right, I’m going to keep – you know, keep writing comments, everyone on the code because I guess that works.” I don’t know? Don’t do that please, god no.

I always kind of like, feedback for view cycles even though most people hate them because I kind of with you were saying Mike, about, having an opportunity for like introspection and giving yourself feedback. I always really enjoyed that and having the opportunity to get feedback from other people is also pretty exciting to – and it’s aided by the corporation so you must tell me.

[0:16:37.7] WJ: I think highly effective feedback includes examples, specific examples of things that you did. It was really effective when you took charge of the meeting and came up with an agenda ahead of time, you did that twice and both times the meeting went more smoothly because you did that.

[0:16:55.5] MN: Right.

[0:16:56.4] WJ: That’s good specific feedback, it’s harder to negate. When it’s negative, the past three stand ups you have been late and it interrupted the flow and in one of those times, someone had already left the room and was not able to hear your standup.

[0:17:11.9] MN: Right.

[0:17:12.8] WJ: This negatively impacted the team’s ability to communicate so please be on time to stand up in going forward.

[0:17:20.7] MN: All right. Those are really good pieces of feedback, both positive and negative, that’s awesome.

[0:17:27.7] EG: I want to say, one of the things that I liked is that it wasn’t sort of like attacking the person, saying the person is great or the person is terrible but seeing that something specific that they did, right? It’s more like, “You came in late to stand up or you wrote an agenda for the meeting” and so those things are very specific things, right? That a person can repeat.

You know, if you say you are great, how do I repeat great, just you know, just woke up like this, I guess, right?

[0:18:01.4] WJ: I was just born this way maybe.

[0:18:02.7] MN: Yeah, every day, this is awesome. I do like those two pieces of feedback because I think in both cases, there were like, you supplied facts to this situation. “Stand up, you weren’t there, this person wasn’t there, they missed your meeting, what can we do to fix it?”

It’s like, Hey, we were at this meeting, you wrote the agenda, I mean, you took control at the meeting, facts, you did that twice and you came up with an agenda for – or like these action items for the meeting afterwards.” It wasn’t just like, “Hey, you missed stand up and because you missed standup, you're messing everything up in the team and everyone feels bad after that. It’s horrible so stop doing that,” that’s a run in.

That is like, you know, you’re just making the other person feel bad and I think like, just by stepping away and not using any feelings or anything, it’s just like, Hey, you missed standup the past couple of times, yesterday this person didn’t hear your standup and yeah, she doesn’t have any idea what you were working on. If you can come early so we can all get standup together at the same time, that would be great.”

[0:19:11.8] DA: Yeah.

[0:19:12.1] MN: The facts are important.

[0:19:13.7] DA: I think we touched on this a little bit before but having it be timely where if you missed standup then you tell them as soon as you see them where they come in or like they understand that when they’re late. Just directly, it’s still fresh in the mind and I think also, kind of – I think that’s something that could encourage having telling them feedback is, setting expectations in advance about what we’re trying to do, we’re trying to be on time for a standup obviously and this is the way that we’re going to work together as a team.

That way, when things aren’t going exactly as you expect with that then you can just point to line number two and on the thing and be like, “It’s not you, it’s this action or this practice.”

[0:20:02.5] MN: Right.

[0:20:02.9] DA: You know, “we agreed on this and so,” it’s a lot easier to kind of have that to point too without having to think about the situation and the person.

[0:20:13.1] MN: Right.

[0:20:14.5] DA: Social roles are one examples of this where sometimes some organizations will have this, they’ve already set outside and sometimes it’s awkward conversation that give that kind of feedback, we’re just talking about the developer smells bad, whoever that is, if it’s me or someone else.

[0:20:28.2] MN: Right, yeah.

[0:20:30.2] DA: If the social rules say, “Hey, don’t do that.”

[0:20:32.7] MN: Right.

[0:20:36.2] DA: Don’t do that.

[0:20:36.8] MN: Yeah, don’t do it. If someone’s caught out of line in the social, in a social situation. I mean, I think even that aspect, I mean, difficult feedback that has been given is the idea of pairing with someone and they can use a stick of gum let’s just say.

It’s better right? You’re going to pair with this person for eight hours and the person needs a stick of gum, “Yo, would you like a piece of gum?” Yes and no, I’m like, “because I’m taking one and I think we can use one, it’s cool.” That way, you’re not like indirectly like hurting his feelings but you’re looking out for him in the social situation if the person speak to someone and may take that feedback completely different.

[0:21:25.6] DA: Look out for your fellow pairing mate if he needs to take a gum or deodorant is necessary then always have one on your backpack just in case. I don’t know, that was useful at all but. Do you have deodorant in your backpack right now?

[0:21:40.4] MN: I got two.

[0:21:40.9] DA: Okay.

[0:21:41.7] MN: I got two ready. I got two and I usually, if necessary, if I know, because I already, like me personally, that’s like the one feedback I would be afraid to get. “Yo Mike, you stink. “I just don’t want to get that. I know that if it ever comes to that, I know I can pretty much take care of that.

If someone needs deodorant, I got that on deck.

[0:22:07.7] WJ: Yeah, when you’re putting together a pairing station, you should have gum and hand sanitizer somewhere easily visible and somewhere a little more discreet, you should have some deodorant. I think it should be the spray deodorant because I think it’s gross to share.

[0:22:19.7] MN: Yeah, I mean that. I have the stick deodorant for myself and like if I really have to, “Hey, you can just rub down a centimeter off with a napkin and then use it” but I don’t know how people feel about that. Get some spray.

[0:22:34.8] WJ: You're going to have to also bring a knife to cut the deodorant so he can pass it up.

[0:22:38.8] MN: Take a chop, the box going to chop off a piece of it out and, I’ll get the spray though, I didn’t even think about that, that’s a good idea, thank you.

[0:22:46.8] DA: it’s good for your back.

[0:22:48.8] WJ: I have a format that I like to use for feedback, it’s facts, results and recommendations. You start off with like here are some specific facts about the situation and then here are the results that happened as a result of whatever behaviors were present and then if it’s constructive then a recommendation.

In the example that we had before, you know, the facts were that you were late to standup three times and that got to be something that’s not disputed. If it’s disputed it’s not really a fact, that’s where you get into like roaming opinion.

[0:23:22.6] MN: Right.

[0:23:25.1] WJ: Like, “You were disrespectful to the group when you were late to standup three times,” that’s opinion, that’s not a thing that necessarily everybody’s going to agree with. Then the result is that there was less communication on the team about what you were working on and that’s the thing you could, that they could push back on if they want to debate and then the rec. The recommendation, if it’s constructive would be in this example, “You should be on time to stand up.”

I differentiate between constructive and reinforcing feedback, I really don’t like the term positive feedback because it implies that constructive feedback is negative.

[0:24:04.0] MN: Interesting, yeah.

[0:24:05.5] WJ: People, it puts constructive feedback in a bad light and it also makes the positive feedback less useful because it puts people in the mindset that they should be just praising others.

[0:24:16.9] MN: Right.

[0:24:16.8] WJ: That’s where you get into the, “You’re so awesome, I love having you on the team” which is not…

[0:24:21.3] DA: “Keep doing that,” right.

[0:24:21.7] WJ: Which is not useful. But reinforcing feedback implies that there is a specific behavior that you're trying to reinforce. That’s useful feedback, someone says, when you send welcome emails to the new employees, when they start, that’s really beneficial for them, I’ve talked to several people who started recently and who appreciated that a lot. You should continue like it’s clear that that’s the thing you should continue to do.

[0:24:50.1] MN: Right, awesome. Yeah, I think those three steps are pretty important and it’s an easy template that people can follow and giving feedback that you know, it’s really difficult to say, to use that format and just like, “That was the worst piece of code ever,” you have to have a fact, a result, and then a recommendation.

When you break it down in that manner, you probably get like really good constructive feedback out of it. The facts, result, recommendation, is that correct William?

[0:25:23.7] WJ: Yeah, exactly.

[0:25:24.7] MN: Awesome.

[0:25:25.2] WJ: Are you guys familiar with the Losada line?

[0:25:27.8] EG: No.

[0:25:27.7] MN: The losada line?

[0:25:29.4] WJ: Yeah. There’s some really interesting research that was done on feedback in the workplace and specifically around how much is too much and how much is not enough for constructive feedback. It turns out that you need around 2.8 points of reinforcing feedback for every point of constructive feedback for the person to be able to process it all.

Anything less than that, if you're giving like one to one. The person is not injecting your feedback properly in all likelihood. I think it varies from, I think it varies somewhat depending on skill level. I’ve noticed that beginners have a really hard time with constructive feedback and you need to give them lots of reinforcing.

[0:26:16.5] DA: Right.

[0:26:17.3] WJ: In order for them to be able to process properly and conversely, really skilled people are really sick of reinforcing feedback. Hungry for the constructive stuff and you can give it to them almost raw, just the constructive.

[0:26:31.2] MN: Right.

[0:26:33.0] WJ: But, on average, according to this researcher, his name is Losada which is where the name in the line comes from. He found that it was actually around six to one was the optimal level and at 12 to one, you – the person is at that point unable to process the constructive feedback because this is just lost.

[0:26:53.4] MN: Interesting.

[0:26:54.0] WJ: At anything less than 2.8 to one, people started not being able to process the constructive feedback because it was two, it was seemingly too harsh.

[0:27:04.3] MN: Interesting. The more reconstructive feedback, the less likely that, I mean, the more likely that the person would accept the constructive one?

[0:27:14.5] WJ: The more reinforcing feedback you gave them, the easier it was to process the constructive feedback.

[0:27:19.7] MN: I see, it’s not like what they -  not to confuse it with like a – what is it, the feedback sandwich where you give a compliment and then you give them something.

[0:27:31.3] WJ: The shit sandwich.

[0:27:31.9] MN: Yeah, the shit sandwich, yeah. I mean, that kind of falls into this 2.8 to one but you don’t want to deliver it in that way. The shit sandwich we’re referring to is the idea that you could give someone a compliment, followed by something they need to work on and then follow that with another compliment because chances are, they’re just not going to overlook the very shit in the middle of the sandwich that you have and yeah, so no shit sandwich.

[0:28:02.6] DA: That’s only two one though, you mean like condiments like.

[0:28:05.4] MN: Yeah, exactly.

[0:28:08.5] DA: Time to condiment and it will be less of a poopy sandwich.

[0:28:15.4] MN: Good luck editing that one out. I can see that as being made true because like, you know, as a brand new developer, you kind of, you know you’re fumbling and you know you want to get better so if someone can acknowledge that you are doing something like you know, doing something good and then you need to work on some other things, “Okay, well I’m doing good in that so I don’t have to worry about that too much.”

[0:28:38.9] DA: I just was reading up on this thing.

[0:28:42.8] WJ: It actually makes a lot of sense to me as that three to one ratio of reinforcing to constructive because I think when a person, especially if the feedback is framed and given in the fact, result, recommendation thing format I should say. It gives someone very specific things too, that they’re doing well so they know then, “Okay, I’m doing this thing well” and keep doing this thing well.

The thing they’re not doing so well, they can say “Okay, I can improve this other thing I’m doing so well” but also, it gives them, what’s the word I’m looking for? I’m looking for momentum, right? Towards like the goal they’re trying to achieve. Given the assumption that the person is trying to be better at their job, you know, get better at whatever they’re working on.

It gives the person fuel to keep going, I think.

[0:29:39.5] EG: yeah, I agree with that. I think that particularly in the beginning of my career, the feedback sandwich was really valuable because I was getting feedback and having to give feedback and I was working with a lot of other people who are not particularly experienced with this and so this was over a system that had baked into it a certain amount of buffer. So we’re closer to the side of the line.

[0:30:09.1] EG: As I got more experienced, I got more used to the concept of feedback sandwich and I started recognizing it and then I started realizing that a lot of the time, the bread was just there as a distraction because they wanted to get me to there. There was the need of the sandwich they wanted to give me.

[0:30:30.8] MN: Yeah.

[0:30:31.9] EG: I remember reading, I forgot what book it was but someone was recommending that you avoid the shit sandwich because people can smell it. That’s a wonderful visual or header. It’s not really a visual, right? Smell. You get to a certain point where you’ve had too many of those sandwiches, you know it. You know to avoid it.

[0:30:56.3] MN: Right.

[0:30:56.7] EG: Another alternative that I’ve heard recommend is ski slopes. So you start off with something highly reinforcing and good and then you give them something that’s a little bit easier to digest but that is constructive and then you give them something else that is also good but maybe not quite as good as what you started off with and then you hit them with the meaty part of the discussion and then you leave lots of room for discussion around that one thing.

[0:31:26.5] MN: Okay, so like you slowly build up to a piece of feedback that leave it open for discussion as you start going up and up on, “Hey you did X which resulted in a Y. I recommend you do Z” and then these things are backed up by facts but then slowly there are pieces of feedback that will be open for discussion that both individuals can have to iron out as situations.

[0:31:53.1] EG: Yeah like for example, “Nunez at the company meeting you did you were very effective at keeping things on schedule. You are able to move the flow for the whole meeting all day and as a result, we finished on time for the first time in the company history.”

[0:32:11.9] MN: Right.

[0:32:12.2] EG: “That was an accomplishment that you should be proud of. It could have been better if the speakers in the middle of the day who are given better indicators of how much time they had left to speak because they weren’t able to get through all of their material even though they did end on time which was good. Another thing that you did which was really effective was you made sure that catering had the options for everybody with dietary restrictions which hadn’t been done in the past.

The main point that I think needs to be worked on is that one of the speakers made some inappropriate comments and she should have caught this in screening that they were not a good culture fit because there were a number of indicators.”

[0:33:01.0] MN: Right, so then the first one was like good feedback, “Keep it up.” The second one was, “Hey good job on finding on the dietary restrictions” that was good stuff and then C, it could have been the conversation where we talk about the obscene idiom of the one of the speakers that we brought in to speak at the company meeting.

[0:33:22.9] EG: Yeah, it’s like A, B, C and D.

[0:33:24.8] MN: Yeah.

[0:33:25.1] EG: A, on time. B –

[0:33:28.0] DA: B was a little rough and then C.

[0:33:32.4] EG: Oh B was that they didn’t have the timing. They didn’t know, they didn’t get to finish.

[0:33:36.7] MN: They didn’t get to finish their material. I mean they still finished their material but they didn’t have the time. They rushed through a lot.

[0:33:43.0] EG: Right and then great job with the catering and the meat of it was, you let through this horrible speaker and everybody was up in arms swooping.

[0:33:52.2] MN: Flabbergasted.

[0:33:53.0] EG: Haven’t been, there’s been no end to the hate mail that we have received.

[0:33:56.6] MN: Yeah, exactly.

[0:33:57.8] DA: I like the metaphor of a ski slope too because it seems like more personal than a sandwich. Like a sandwich is just bread and meat and more bread and like every person has the same sandwich but their difficulty levels for ski slopes and like you are saying before about some people create more extreme feedback experience. So they can go to the feedback that will black diamond but maybe like before the people are starting out, you put them on the green slope. You know the friendly green circle and there’s lots of reinforcing feedback in there as well.

[0:34:32.9] MN: Isn’t that called the bunny slope?

[0:34:36.1] DA: Oh that’s right, there’s the bunny slope before you can get off to take that on.

[0:34:39.6] MN: Yeah, the bunny slope. The rabbit slope. That’s what we call it. That’s the rabbit slope.

[0:34:47.0] WJ: For me I think with giving constructive feedback there, three key things that I’d like to focus on one is keeping it impersonal like we talked about this already. Keeping it to the facts. Another one is keeping it tentative. So you want to present it as the thing that you could be wrong about because you might be.

[0:35:08.8] MN: Right, no that’s true.

[0:35:10.2] WJ: Like you actually might be wrong about this feedback that you are giving the person. You should acknowledge that and then also makes it easier for the other person to agree. I think if you go to someone and you said, “Look, what you did was inappropriate” that is a harder thing to take than if you go to someone and you say, “Hey you know what you did, I think may not have been appropriate. “

[0:35:30.6] DA: Or some people may have interpreted as not being appropriate.

[0:35:34.7] WJ: Yeah, although I feel like you should take ownership.

[0:35:37.3] EG: Yeah, is it really me that thinks it’s not appropriate?

[0:35:39.8] MN: Yeah but if other people did, I mean I think –

[0:35:42.4] WJ: I mean I think what you did was great but some people –

[0:35:44.5] MN: Yeah, some people.

[0:35:48.3] WJ: And then the most important of the three is I think keep it brief. When you are giving somebody hard feedback like you don’t want to draw it out. Just cut to the chase and I think there’s an easy mistake to make because you want to couch it, you want to soften it. You want to be gentle and so what you do is you say, “Well you know, it really was hard. The thing that happened the other week, I think you know what I am talking about. It wasn’t a huge deal but it did come up several times” and you’re just dragging it on.

[0:36:21.2] MN: Yeah and then what do you mean?

[0:36:23.0] WJ: “The thing that you said to Nancy was, I think disrespectful to women.“

[0:36:29.8] MN: Right and if it’s opted, I mean you mentioned it before to a conversation that you could be wrong. I mean I imagined that particular conversation will be really sensitive but you did use your own example to leave it open so that there is a discussion behind it. “Oh no, that’s not what I mean. What I meant was XYZ” I have no idea how to spin that by the way. You said something wrong to Nancy, please don’t. Stop saying things to Nancy.

[0:36:58.9] EG: Stop seeing her altogether actually.

[0:37:00.1] MN: Yeah, stop that. Yeah but there is an opportunity for the person to kind of explain themselves in a way that may have been overlooked by the person who was given the feedback. I think that little pocket that could be important when people need to explain themselves for whatever reason that they see for that. Not to confuse it with being defensive and should be like, “No, no that’s not true” like whoa, hold on. I just gave you some things that were true like you just explained all that. It’s different to be completely defensive versus having a good explanation for something.

[0:37:43.3] WJ: Yeah and it’s particularly tricky when the feedback is about something that the person did that personally upset you. It’s one thing to say, “Yeah you know I think what you did was completely inappropriate because the way that it impacted another person” it’s I think more difficult to go to someone and say, “What you did offended me. What you did bothered me” and so there’s a strategy for that that I really liked.

It is based off on a framework called the non-violent communication and the way that it works is you start off by again, stating the facts like normal and then stating your feelings which is squishy and hard. It requires that you actually know when your feelings were actually squishy and hard and it requires you have the vocabulary to properly express that which is also hard. There is an inventory of feelings and inventory that you can get online. If you Google NVC feelings inventory and NVC needs inventory you can get a list.

[0:38:49.4] MN: Oh nice.

[0:38:51.1] WJ: You talk about what need you had that went unmet and how you felt and it’s important too, one thing they stress is that you not say, “It made me feel embarrassed” or “It made me feel angry”. You say, “I felt embarrassed or I felt angry” and what’s different there is you are taking ownership of your own feelings because nobody can make you feel any kind of way.

[0:39:17.2] MN: Oh interesting. Yeah, I have heard that exact phrase because it’s true but I have also heard people use the idea of, “Hey you did X and it made me feel Y” and I think your example works very well because you took ownership of the feeling that you had because of whatever some external event has happened.

[0:39:42.0] WJ: Yeah because people genuinely have different response to the exact same set of facts. If I laugh at you and you get upset about it, I mean that’s a perfectly valid feeling but I didn’t make you get upset about you. You made you get upset about it and I can prove it because when Dave laughed at you, you were totally cool about it.

[0:40:10.5] MN: So I want none of you to laugh at me, how is that? I said don’t laugh.

[0:40:15.3] DA: I am not dumping that on the table.

[0:40:16.9] MN: Yeah, there goes the table. No, I agree and the proof is that you laughed at me and then I got angry. I was not angry until you laughed so it was something that has happened externally in which I then felt angry about.

[0:40:37.0] WJ: And we all had that right? Where someone laughs at you and you feel fine about it because you’re buds. So you state whatever it is needed that you have like, “I need respect” and then you state the feeling, “I felt angry” and then you say the facts, “When you called me stupid” and then you make the request, “So I request that you not call me names”. That is the NVC model. Dave did you have another model that you wanted to share?

[0:41:09.7] DA: Well Mr. Nunez actually brought this up earlier. I think it was this Satir interaction model.

[0:41:15.3] MN: Yeah, it’s just the model. If you Google the Satir interaction model. I believe it was created by Virginia Satir.

[0:41:23.8] EG: Can you spell that?

[0:41:26.4] MN: Oh Satir, I don’t even know if I am pronouncing it right, Satir Interaction. The Satir Interaction Model.

[0:41:34.7] DA: We’ll just record it like saying it many different ways and then we’ll sandwich it all at once.

[0:41:37.8] MN: Yeah, Satir Interaction Model and when someone is even speaking to someone else or giving feedback to someone else, the person goes through four different steps to this model. The first is you intake the feeling and the example given before, “You have been late to stand up three times” even just that bit. Let’s do that for a second, “You’ve been late to stand up for the past three times” the person intakes that, those words right?

Like word by word, you have been late three times to stand up. Then the next step is meaning like what does that mean? It shows to the team that you particularly don’t care about stand up or it means that I need to get there on time or whatnot. The next step is the significance of the feedback that you just received and you know, if this is significant feedback that you feel that is important to you or your career, it would mean a lot to you to be able to respond in a way that is conventional in the workplace.

And then the last step is response where you can respond to say, “Oh” whether it’s, “I apologize” or “You have a really honest reason as to why you’re missing stand up” the response is the last step but even before you even open your mouth, you go through these first three things which is the intake of someone giving you feedback, what does it mean and then the significance followed by the response.

[0:43:12.6] EG: That was a lot of steps. It’s a little hard to follow but it was interaction or intake?

[0:43:20.6] MN: Yeah, intake, meaning, significance and then response because you can like the example you use, William’s example of let’s use the example of Dave laughing with me and I am okay with it. When Dave is laughing at me what does that mean? Oh he’s laughing at something. Let’s just say this particular pattern that you used in the poor request and I can hear him from across the hall because it’s so horrible on how I did it.

Well in this example, if the laugh was something that I didn’t react negatively to, it’s probably a comment that I left in the code to explain the thing that I had to do. I take that, I hear the laugh, I was like, “Oh you must be laughing at that comment that I left”.

[0:44:01.9] DA: Like that compound if statement or you just commented WTF.

[0:44:06.7] MN: Yeah, it’s like a nestive. I see nestives fly on times and then WTF and someone’s laughing at it and the significance to that is, “Oh it’s not really significant to me because I just left the comment and that was it. I am letting it go” and then the response is I don’t do anything but if William is laughing at me because I lack the skill to write software or whatnot, I take that he’s always laughing at me because I am horrible at what I do but I’m actually really great.

Why is he laughing? Which is significant to me because I want to be the best software developer on this planet so my response is going to be angry like, “Hey why are you laughing? I’m really trying over here and there’s no reason for you to do that” and I think those four things before you respond will play a role in any response that you have whether it’s feedback or something that you listen to or whatnot because at the end of the day, these four steps will result in the emotional feeling that you have. That was probably a lot so I apologize about that too so.

[0:45:03.8] WJ: Google it kids.

[0:45:05.6] MN: Yeah so the Satir Interaction Model is pretty cool and it’s not just for feedback but even the discussions as well because you could as you hear the sirens outside, you can ensure that these four steps would happen in a discussion and feedback and all sorts of stuff like that.

[0:45:22.8] DA: So basically we as humans tend to attract other humans that are most like us and not spend time around people who are not like us. So the feedback that we get from them is how can it be as insightful maybe as feedback from someone who is different than us. So that’s an interesting thought to consider that if you get feedback from someone who is less like you then maybe it’s less harder to understand or take it in.

Like if someone from the business gives you feedback about the way that you are working then they’re coming from a very different perspective than you are than your fellow developers but there’s probably a good truth in there that you need to consider.

[0:46:09.9] MN: Yes, so who you got feedback from can also play a role in the feedback that you received and how you can become better in the things you do.

[0:46:20.1] DA: Right like how you can interpret it and relate to that feedback and where it is coming from.

[0:46:24.0] WJ: Yeah, it’s like an echo chamber.

[0:46:25.7] DA: Yeah exactly. Like we developers are doing nothing wrong, we have an excellent culture, we do – we work whenever we want, have beer on top at the end of the day but then the business has different priorities and different concerns and you need to understand them as well as our awesome, fun developer culture.

[0:46:49.5] WJ: Yeah, it’s like we become our own yes men.

[0:46:52.3] DA: Yeah.

[0:46:53.7] WJ: Should we have all of our happy hours be heavily centered around alcohol? Yes of course because I also am a 20 or 30 something white male who drinks too much.

[0:47:07.9] DA: Yeah. I mean, I like drinks too guys. I can definitely get down.

[0:47:16.3] MN: Cool. I think this entire segment was really good feedback for teaching and learning on this kind of stuff.

[0:47:23.9] WJ: Mike, I have some feedback for you but I’m going to give it to you next Tuesday at three.

[0:47:29.0] MN: Snap, because of that I’m not going to sleep tonight, I’m not going to sleep till next week Tuesday at 3:00. Just total not the time we record. Yeah, I’d like to thank my cohost, Dave, thanks for coming out.

[0:47:41.6] DA: Thanks man.

[0:47:42.3] MN: Our producer, William. Thank you. And to Emanuel, our regular guest. Thank you all for coming by, this is the Rabbit Hole, thank you for listening and if you have time, feel free to hit us up on twitter.com/radiofreerabbit, we will do our best to try and reach out to you as fast as possible given we’re all out and working.

And/or probably sleeping, you know, give us some good feedback.

[0:48:09.7] DA: Yeah.

[0:48:10.7] MN: Feedback, that is a good place to reach out to us.

[0:48:13.4] WJ: That is factual, shows results, right?

[0:48:17.7] DA: And any recommendations or what is it?

[0:48:20.3] WJ: Reinforcing.

[0:48:21.4] MN: Reinforce, yeah.

[0:48:22.5] WJ: Or constructive.

[0:48:23.4] MN: There you go.

[0:48:24.8] DA: Yeah, that’s your homework, 2.8 ratio. No sandwiches guys. No sandwiches out there, just facts, results, recommendations. Thank you for listening, we’ll see you next time.

Links and Resources:

The Rabbit Hole on Twitter

Get flow

Joshua Bloch’s book, Effective Java 2nd Edition

The Losado line

Non-Volent Communication feelings inventory

Satir Interaction model

Comments