Feedback Is HARD - So Let's Improve It For Software Engineers!
October 16, 2023
• 143 views
Feedback - whether we are giving it or receiving it - can be something that's very hard. Often times we'll skip over any type of constructive criticism to offer to others because we want to avoid conflict. On the receiving end, we're not stellar at remaining positive and not taking things personally. As software engineers, how can we do better?
Have you subscribed to my weekly newsletter yet? A 5-minute read every weekend, right to your inbox, so you can start your weekend learning off strong:...
View Transcript
if you're early on in your software engineering Journey here's something that I bet you're not thinking about feedback and I don't mean just feedback with your manager and having that interaction like how do you get feedback from your manager I mean actually giving feedback to other people that you're working with and the reason I bet you're not thinking about this is because I talked to a lot of people that are early in career or before they even started their career about the different things that they're focused on almost all of the time it's about building up technical skills like which language do I learn or if you're already working somewhere how do I get better and double down on the language I'm working on how do I get focused on the right projects that kind of stuff but there are so many non-technical skills as
part of software engineering that people just aren't focused on I personally think that giving and receiving feedback with your peers and colleagues is critical for helping improve yourself and the people you're working with in this video we're going to go through an example of some feedback that I think is delivered in not a great way what we can do about about trying to improve that and we're going to look at both sides of this feedback so if you're someone giving the feedback how you can improve upon that and if you're someone receiving feedback what you can do to try and make things better and I'm hopeful that as we go through this video this will be a reminder that getting feedback from your manager is of course important because that helps align expectations with you your manager and how your career is developing but having
feedback and providing feedback to and from your peers I think is Absol absolutely fundamental to get this understanding of how everyone is working with you and it's a whole new dimension about how you can improve in the area that you're working all right so I'm going to go ahead and pull up a comment that I received on YouTube actually and this is because I don't want to show any types of things from work where people are giving and receiving feedback we're going to keep that totally hidden when I edit this video I'm actually going to block out the users um information for this comment because my goal here and I want to be very clear about this is not to call out this individual for saying I don't think this is good feedback Because by the end of this video I'm going to touch on
how this feedback has actually been useful but I just want to make that totally clear that this is not an attempt to you know um call someone out or anything like that I just think it's a really good example because of the structure of the comment so let's focus on that and with that said let me get shifted over here to have this comment shown all right so here's a comment that I received on YouTube and I know this is not software engineering related but I want you to think about how this is delivered the content and the context in which it's delivered and then think about this in terms of software engineering and the different interactions that you have with people that you work with so in this particular case someone basically made a comment calling out a statistic about something that is not
positive about the way that I deliver my message so I'm going to go ahead and read it out loud and it says some actual statistics you actually said actually 43 times in these 15 minutes that's on average one actually every 21.1 seconds so I want to go through why this type of feedback to someone might not be beneficial and again if you're thinking about this in a software engineering context think about a code review that you've done right maybe you've been in a situation where you've put a comment like this on someone's code review where all you're doing is kind of saying like this thing is not correct or this thing is not good um this thing can be improved and just leaving the context like that if you're more early on in your software engineering Journey I'm sure you've received comments like that on
your code reviews where you have someone more senior or a direct peer basically saying like hey don't do this or this code is not correct or something along those lines that does not really have a lot of context and kind of leaves you wondering like okay I understand you want something changed here but I don't really understand all of your intentions all of your kind of of feelings or reasoning behind the message and that can cause some friction so in this particular case and again relate this to your software engineering I actually don't know this person and because I don't know this person that means that our relationship is low trust and low respect and I don't mean low respect like I dislike this person or I hate this person or the other way around but because I don't know them and they don't know
me it's really hard to have any type of trust between the two of us it's a complete stranger right and the other aspect on respect is that we have not worked together or collaborated on things I've not seen his work I don't know if this person has seen much of my work aside from this video where I say actually a lot but in this case both trust and respect for the both of us are probably very low and this is important to consider in your working environment because if you're in a situation where you're getting feedback and it's low trust and low respect you might kind of feel like why do I even care that this person is giving me feedback right like I don't really have a good trust relationship with them that's not to say that you think they're a liar or something
but you haven't worked with them a lot and maybe their respect level is low and again that's not to say that you think that they're a terrible person or something but because you have not worked with them much there's not a lot of opportunity to build up both of these things so getting feedback in that type of situation can feel kind of crappy and if you turn this around the same type of thing is something you should be thinking about when you want to offer feedback I like to think that everyone is coming from a place of Good Intentions and that means if you want to offer feedback to a colleague and in your head let's say on a code review you wanted to suggest hey I think if you were to switch up this code you could get more performance or it might be
more testable or whatever it's important to think about what your relationship is like with this person I know that for people I'm really close with and for a long time I can be really quick with my comments I could say like missing test or uh bug here whatever I could be super short and the people that I've worked with for a long time because we're on the same page so often we can be super succinct with our messaging we can be very direct and it's just easy when you don't have the high trust and high respect in that working relationship what can happen is when you go to deliver feedback to someone they're going to experience the same things we were just talking about for you and that means that someone might get defensive right away and totally miss the entire intention of your message
and you know that you were just trying to help this person out you're just trying to make sure the code is better you're just trying to make sure they can focus on the right things help them grow and help everyone get better so what are some things that you can do when you don't yet have that trust and respect built up with someone and we're not going to focus on okay we'll just go park the commons for six months until you've been working together for a long time to get both of those things ramped up but if you're not there yet how can you give feedback in a way that helps make it feel less like someone has to get defensive I think the first thing that we want to look at and we can use this comment as an example is that I don't
really know the intention behind why this person was trying to suggest it in the first place if you know that you're working with someone that you have high trust and high respect with you already implicitly know that they want you to win and succeed they want you to be better they're looking out for you and you get that implicitly with someone that's a stranger or someone with low respect and low trust levels you don't know the intention in this particular case I could look at this comment in many ways but let's try to look at it with two different lenses one is that this person really is trying to make fun of me they're trolling me this is pretty common on the internet in fact this is probably what I think is happening right here actually and while I don't like to go assume that
let's go look at it through this lens so this person is saying some actual statistics so they're already doing a bit of a play on words some actual statistics you actually say actually right they're kind of playing with the fact that I was repeating a word very frequently and that was distracting them in the video it almost kind of feels like they're identifying it to try and embarrass me and because it's a public comment on a public video it's there for other people to read if you use that lens it feels pretty bad it kind of feels like someone just took their time to actually go watch 15 minutes of a video they watched the whole video and counted how many times I said that word they really went out of their way to go make fun of me so that's with one lens right
feels really bad the other lens that we could apply and there are many but if we go to the the other end of the spectrum on this this person's trying to help me this person wants me to be better at presenting information they actually want me to succeed so if we read it with a different tone of voice and add in some missing pieces that we could assume might be there it might read something like this and I'm going to start by just prefacing some other pieces that could have been in their message hey this video was really helpful and I thought that based on how you were presenting some of this information you could have made it a little bit more clear something I noticed is that and then you could basically put in the rest of this message and then they could add
on to the end of that something along the lines of I think that if you focused on how often you say the word actually you might be able to improve your ability to communicate your messages and more clearly get the topic across to your viewers to me a message like that sucks to hear because it's a little bit embarrassing that I'm doing it but it's really cool that someone was trying to help me okay so let's get that comment off the screen because I don't want you to hyperfocus on just the YouTube comment part of this I want you to think about what this means for you with giving feedback and how you're receiving it so if you're in a situation like I was saying where there's low trust low respect and that's just because you're new to the team you're working on and that's
totally normal if you are trying to give feedback to someone which I highly encourage you do people only get better if they have feedback to work with something that I recommend you do is almost like a compliment or criticism sandwich which sounds kind of funny but I kind of alluded to it when I was reflecting on that comment previously and the idea is that you start with something that's positive because starting with something positive makes it such that the person receiving it isn't automatically defensive right if you're able to help illustrate something positive someone doesn't automatically go whoa whoa whoa like you're you're already attacking me for my thought or what I did they're going oh like thank you right they're they're already not on guard which I think is very helpful in communication so Step One is finding a way to sandwich in you
know kind of like the the bun whether it's the top or the bottom of the the bun or the bread and the sandwich something that's positive the next part is kind of calling out the thing that you would like to see changed and offering context about that I think is incredibly helpful just giving a like a posit POS thing and then saying like change this thing cuz it's bad um and then we get to the the other part of the bun or the the piece of bread in the sandwich that middle part having some context about why I think is really helpful and also how if you have suggestions on how things could change and not just identifying I don't like this or make this better I think that can be tremendously helpful so something there might look like on a Cod riew um you
know I think that this section of code is missing a couple of checks that would make it more safe right so that's like why like you want to make it more safe um I think that you could improve that by checking for these other things that are pretty common so you're suggesting how and just kind of framing up the context and the reasoning so that's kind of the middle section of this sandwich we're talking about and then the other piece of bread or the bottom part of the bun or whatever is sometimes optional but I would say like ending with something positive as well and it doesn't have to be like a totally new thought but you could end it with something along the lines of you know I think that this is a great approach and like either next time something we might want
to focus on or uh I think if you just polish this part up like the rest of everything looks great like finding a way just to kind of end it on not a negative note so that the person's not left there going well that kind of sucks to hear and hopefully by doing that what you're able to do is actually number one not get the person's defenses up right away number two actually get your point across I just said the word actually I hope you're counting and number three just to help reinforce for the other person that you are trying to help them succeed and get better and we're going to flip it around one more time so if you're on the receiving end of this right not everyone is going to watch this video and come up with compliment or criticism sandwiches to give
you so you're going to have to deal with a mix of these things hopefully a bunch of people do this but you're going to have to still deal with comments like I received and this is really common on code reviews and design documents and stuff like that but you're going to be in situations where you're like man that really sucks to hear and I'll have a follow-up video on this same topic but more Geared for more senior level software Engineers to think about how they approach this but if you're receiving this kind of feedback and you're already feeling defensive try to go through the exercise that I was explaining a little bit earlier and that is assume that the person is acting with best intentions I'll be completely honest with you if you're working in an environment where you feel like other people that you're
working with are not acting with best intentions I think that's a thing that you need to go address right away it sounds like a toxic work environment I can't possibly come up with all the different possibilities around that but that's something you're either going to want to talk to your manager about or find a way to switch teams e exit the organization whatever it happens to be but you don't want to feel trapped in an environment where you can't make changes and you really have people that seem to be malicious that you're working with that's just not okay now if you can get pass that part and you can feel good about assuming that everyone is trying to act with best intentions then I think when you receive something that feels a little bit crappy to hear something that you can do is try and
put this other lens on it try to read it or if you're hearing the feedback try to reflect on it with a different tone of voice and this other lens that's supposed to be more positive so if someone left a comment on your code riew that just said change this pattern it's bad you might be going well that really sucks like I thought that was a good pattern I don't know the right pattern that they want me to use so instead of just going well this person's a you know a buttthe head I don't like working with them and why they being mean to me flip it around this person they're trying to help you maybe they didn't do a great job communicating that maybe that's some good feedback to give them but if they're not doing a good job at communicating that to you
try to fill in the blanks about their intention right so they're trying to help you they're trying to identify a pattern that they've seen not work really well and they're trying to let you know that hey you should probably find a way to address this because there's going to be some risks or other challenges with it okay that doesn't feel so bad right you still have some other questions like like what is the right pattern or why didn't I know about that or what have you but we're already in a better starting position so from there what you could do is actually reach out to the person and not go into it like hey butthead why did you leave me such a crappy comment on my code riew but more like hey thanks so much for the comment on the code riew I had some
questions about what you meant and I just wanted to make sure that I could understand properly before I go to address it and I get it that's way easier said than done because if you're not reframing that comment you got and then you're just jumping over to go message the person you're probably feeling like they're a butthead and you're probably not going to be very polite to them I'm going to flip back to the comment I got on YouTube and show you how I tried to respond it's a tiny bit sarcastic but I think overall the message is supposed to be pretty positive and I wanted to illustrate that you can can basically do something in response to something that did not really feel positive and turn it around you can get positivity out of everything all right so I have the comment pulled back
up on screen and here's my response to this person so I started by saying thanks and I wanted to call out to them that recording is not something I'm comfortable with and I don't know if a lot of people know this but as I speak to this camera right now I don't feel comfortable at all it's something I'm really not good at I'm hoping I get better been doing the YouTube thing pretty consistently now for almost a year has not gotten any better but that's how it is so I tried to identify that with this person let them know that I'm introverted and basically just said if I expand and say read more that I appreciate the feedback right I do appreciate hearing that and I'm hopeful that it improves and then the part that was a little bit sarcastic that I signed off with
the word actually I just figured I'd spice it up a little bit I don't recommend doing that kind kind of thing at work because that's where you start to actually there I said it get some friction with people so personally this part of the response that I'm highlighting right here I think that's pretty good and not sarcastic it's really just trying to offer some extra context for the person and then I'm thanking them for actually taking the time to give me that feedback what you do with the feedback you get is up to you you can't control how other people speak to you and that's going to bring us to the final part of this video video or I just wanted to reflect with you on what you do when you get feedback if it feels like there's nothing positive to extract at of something
and even if someone you tried to follow up and you know help get some clarification on the right things to do if it's a code review or you got bad feedback somewhere else that you're not really happy with try and reflect on extracting some type of positive value from it this original comment for me felt really bad to get and why did it feel bad well it's identif ifying that I have a flaw in how I'm presenting things and that doesn't feel good of course but what I was able to do is I actually made a post on LinkedIn about it just like this video and what I did not do on LinkedIn was try to call out the individual and say hey look at this Butthead leaving me crappy comments no I actually decided that I was going to try and offer some type
of educational value to people that I'm engaging with on LinkedIn and it was received really well I had some really interesting dialogue in the comments and it led me to believe that I should make a video about this and that's why I said I'm going to make a second one as well for more senior level and I thought that that was a really cool learning opportunity the other thing that was really valuable about this is that this person wasn't wrong this person was spoton that I say the word actually too often and I had no idea that I was doing this I think the typical thing that comes to to mind is like I think U it's called like you know Valley girls or something where they say like like totally like like like um I don't know if that's still a thing but that's
something that comes to mind and I apologize if that's not the I don't want to be canceled or something if that's not the right thing to say but that's a term that I've heard and like being the word that gets overused so the fact that I say actually a lot is something that I was not aware of and once I read this comment and started having conversation on LinkedIn about it I actually realized in the next videos I was recording I say it so much in fact I was recording videos and having segments that felt Flawless and I'd go to start speaking about the next segment and realized I just said actually and I was like oh my goodness I have I feel like I have to go remake this segment of the video because this person's right I am saying actually to often so
what has this comment allowed me to do well I'm focusing on improving something that I suck at and it feels crappy to suck at something but they gave me feedback and I'm trying to extract positive value from it so I can poke fun at myself a little bit more like I did in this video or I was saying actually and uh aside from leaning in and saying actually and kind of giving you a look there have absolutely been times where I've said actually in this video so far and kind of made fun of myself for it if you don't believe me try rewatching segments of it but this is something that you can do when you're getting feedback just try to look for the information that you can act on because like I said you can't control how people communicate with you but you can
control what you do with it so instead of sitting there just being sour about getting feedback that you're not happy about you can try to get clarity about it you can try to extract the value and take action for yourself to see if you can continue to improve it's really hard to go through work and your professional life or any part of your life if you're assuming that everyone you interact with is trying to be malicious and make your life worse but even if you take a totally neutral stance on it and assume that people aren't just trying to help you or just trying to sabotage you look at the data being presented what can you do with that so that's going to be all for this video just a quick note as a recap that when you're giving feedback and receiving feedback the level
of trust and respect that you have with the person giving and receiving can make a tremendous difference and how the messaging needs to be framed up not a lot of people think about this because they're very focused on technical things like what the best architecture is or the next coolest Tech stack but stuff like this is very common in software engineering and because a lot of people don't focus on it there are a lot of situations that result in unnecessary friction if we just would think about some of these things ahead of time so thank you so much for watching I hope that you found this a little bit insightful and I'm hopeful that you can apply some of these things in giving and receiving feedback thanks and we'll see you next time
Frequently Asked Questions
Why is feedback important for software engineers?
I believe that giving and receiving feedback with peers and colleagues is critical for improving ourselves and the people we work with. It helps us understand how everyone is working together and adds a whole new dimension to our growth as software engineers.
How can I improve the way I give feedback?
When giving feedback, I recommend using a 'compliment or criticism sandwich.' Start with something positive, then address the area that needs improvement while providing context, and finally, end with another positive note. This approach helps prevent defensiveness and reinforces that you're trying to help.
What should I do if I receive feedback that feels negative?
If you receive feedback that feels negative, try to assume that the person is acting with good intentions. Reflect on the feedback, look for any constructive elements, and consider reaching out for clarification if needed. It's important to extract value from the feedback to help you improve.
These FAQs were generated by AI from the video transcript.