Dan DiGangi - Software Engineering Manager, Tech Instructor/Mentor
Published on

Reddit Questions: Handling Code Review Criticism

Authors

After making it past my first video post a new idea for content came to mind. It's something I haven't seen and feel fairly confident it brings something valuable for the questions and situations we experience working in the tech industry. These questions come from Reddit's /r/ExperiencedDevs.

This series will evolve to bring in special guests to provide their own experiences to the questions. Shoutout to Jason Lengstorf for inspiring this!

Today's question revolves around (what I assume) is a developer experiencing a fellow developer not handling criticism of their work. I've been through this many time so give it a watch to hear my thoughts. If you like this series please let me know!


Video Transcript

Read in Text File

00:00:00:00 - 00:00:21:23

Hey, everyone. I am back one more time, and I'm going to keep trying to give this video thing another shot. I posted my first video about getting laid off, and I'll be honest, I got way more attention than I expected, especially on like, LinkedIn. And it was kind of cool to see, you know, not like know I got like ten subscribe on YouTube and whatever.

00:00:21:23 - 00:00:45:04

And again, my goal is not to do that. I just kind of fun to make content. And if it helps people and they care about it, that's good for me. So today I'm going to try again, this time using Obese and my Mac to record versus the quick time. So still feeling this out. There's definitely going to be a very poor transition to when I shrink my video up for what I'm going to talk about.

00:00:45:09 - 00:01:07:01

But nonetheless, like I said, just want to kind of keep trying and go from there. I'm not a professional. In fact, the only camera shaking, I can see it and I got to fix that in premiere and after effects on my favorite. So here's my idea. I was thinking about the series that Jason Lengstorf came out with, where he brings on like two or three devs and they all have to build the same application.

00:01:07:01 - 00:01:23:26

So hey, here's the product. And then I think they also a line of, yeah, they line around the technology. So like recently I think they did do a multiplayer game and everyone had use party kit, which was really cool. And so, you know, as I've been looking at like different content and content creators, you know, some are more unique and different and interesting.

00:01:23:26 - 00:01:59:26

Like I think. Jason series first time I seen something like that that I'm aware of, I really like it. Others are, you know, not always as tactical or driven to give what I consider enough value. And sometimes people just like watch and stuff and that's really cool. But I wanted to do something more tactical. And so my idea is, is kind of similar to Jason's, but with a different approach, different angle and not building code is I'm going to bring up my screen and there's this Reddit that I found recently or last couple of years called Experience Devs, and it's what it sounds like where people that have questions or situations they've run into and

00:01:59:26 - 00:02:27:36

they're looking for, you know, experienced engineers or leaders, managers to provide input, feedback, advice. And the questions are really interesting and some folks give a lot of good context, not always, but what I was thinking was, you know, for something I want to start doing is my Reddit Chronicles. And I don't I need to come up with a cooler name is go through a few questions and answer from my perspective and experience, kind of what I think you know, as a way to consider, approach or think about things.

00:02:27:36 - 00:02:47:31

And, you know, if this is well-received, even though, you know, again, I don't have a ton of people looking at my stuff right now, which is fine, you know, I'm thinking maybe I could do something similar where I bring on some developers and leaders or even maybe product or something, and they can also kind of reflect and provide, you know, their input and opinion on, you know, these different situations and what they would do.

00:02:47:31 - 00:02:51:28

So I feel like I haven't really seen this. I think it's kind of interesting.

00:02:51:28 - 00:03:06:47

I'm going to flip over. This is where that first poor transition is going to come in, but I'm okay with it. So. So it's on. Let's flip that guy on so you could see me twice now. Just once. So I got to run it up here. And again, if you're if you haven't been in it.

00:03:06:48 - 00:03:28:08

So it's our slash experience devs, I guess that's really cool. I like, I like the situations that come up in here and have been I enjoy giving perspective because I do think that there's not enough leadership management content out there, especially in the tech space. There is some folks that are doing some really great stuff like Kelly Vaughn, Sarah Dresner for to name a couple just and there's many.

00:03:28:09 - 00:03:44:54

There is many, but it's just not nearly the same as the saturation of how much coding stuff there is. So I feel like this hopefully brings something a little more unique to the table and that, you know, others enjoy it. It also helps me going through these situations. I'm trying to grow my skill set and I know others want to do that, especially if you're newer to leadership.

00:03:44:59 - 00:04:05:10

So I do hope you find it helpful. I'm going to pick like two or three questions as I scroll through, read them, look at the context they provide, because, you know, context can make a huge difference on the direction something goes and just talk about how I would do it, how to approach it from a problem solving perspective from an experience perspective may not be perfect, and I'm sure others have different approaches and opinions.

00:04:05:10 - 00:04:24:19

But that's kind of the other side of this is if you have feedback and it's like, No, I would definitely not do that. I'm happy to have a healthy debate any time. So all right, let's tap in. And so let's see, how should I express to my manager I need to coast. Okay, that's an interesting one, but a little too niche for me.

00:04:24:24 - 00:04:34:39

I have thoughts, but I'm going to keep going. All right. How to handle people. Don't take criticism well and code reviews. Okay, That could be good on me. And maybe we'll do that one

00:04:34:39 - 00:04:45:54

You're okay. Years of knowledge. Is this a thing? How do you answer exactly? Were they. I don't want to get in the air right now interviewing for an upper level in a senior role.

00:04:45:59 - 00:04:49:28

Maybe we should probably read that one and see.

00:04:49:28 - 00:05:11:52

All right, let's keep going. How to make a career change or maybe dying project. And I feel on those as much right now. Decreased coder review quality during crunch time. This is a good one. This happens a lot, meaning that the CTO after a month at the gig. So skip level.

00:05:11:57 - 00:05:30:21

Okay, why don't we start with those four and maybe I'll just answer a couple to keep the video short for today. Plus I got to edit it. Which and if you've never done video editing or special effects, my God, is it time consuming? All right, so not only this awkward bar. Come on, it's not mobile friendly. Read it.

00:05:30:26 - 00:05:45:33

All right. Anyways, so I think I got it zoomed in pretty good here so we can read it. So the question is, is how to handle people who don't take criticism well in code reviews. Tale is all this time if you work in engineering. So let's get to serious so I have a member of my team responds quite harshly to comments they're receiving code reviews.

00:05:45:33 - 00:06:00:01

I want to foster an environment where people feel they can be completely honest with the criticism and concerns within my team, one employee said it feels like they receive a comment back that it's like arguing with someone on Reddit. That's kind of funny between like how people are on Reddit and how they are Hacker News in the comments.

00:06:00:01 - 00:06:20:54

And it's funny to see, so I don't want to tackle it too strong initially, but what kind of strategies can I take? Is it make that employee that it's ultimately with the goal improving code quality and sharing knowledge? Okay, so this is interesting. This is like a set, not a uncommon thing to run into. And I have a few thoughts and I also see some stuff they themselves have in there.

00:06:20:54 - 00:06:40:18

So that I think is valid and a good way to think about it. This definitely I'm going to take a wild guess This is definitely an engineer is I don't think this is a manager in this case. I could be wrong, but I'm pretty sure so they respond quite harshly to comments they receive in code reviews. Okay, so here's the first thing I would say.

00:06:40:18 - 00:07:00:13

So I'm very like intro and retrospective about myself. So if I was in their position first before I don't do anything around this person, even if there's like feedback all around or many people bring this up or feel this way, I'm first going to be like, okay, if I'm writing a code review or doing like a verbal outloud or a pair programing, I need to make sure like, how am I saying it again?

00:07:00:13 - 00:07:17:14

Even if there's a valid criticism or feedback for that person is how am I writing my comments? How am I projecting that message? What's the inflection that I'm writing in and out? Again, if you're typing inflections, I think, but is how am I putting these things together to state the feedback in my writing in a bad way? In my writing, it is not a helpful way.

00:07:17:14 - 00:07:36:39

Like maybe it's their response style. So the way I'm writing it is really needs to be looked at right? You know, I notice in poorer class reviews when it's, you know, you just write comments. I do think people can be a bit dry sometimes and other times people are dry. But then they're very rigid and harsh in the way they say it, even if they're not trying to be.

00:07:36:44 - 00:07:52:42

And you got to remember how much communication gets lost when you're talking over instant messenger comments and everything. Right. That's one thing with text messages, too. You know, if you ever send a text and it is not perceived well, but you realize that it gets lost in translation because it's just the text message, not an out loud thing.

00:07:52:42 - 00:08:12:30

Right. We don't have necessarily the body language. You have the verbals, the verbal part of it, Right. So I definitely would look internally at myself first. Now, if we take that aside, because again, it sounds like this is something that's a little bit more widespread than just one person to one person. Now, they don't feel like they can be completely honest with their criticism and concerns.

00:08:12:35 - 00:08:33:19

Now, before we get to like the actual person, this is interesting and this is something I picked up. So when I was a doctor, you sign, I came in to a team that wasn't doing super, really great people and it was not a safe space. I know. Hopefully it doesn't make. Some people don't. They're okay with me saying that word, but it's true.

00:08:33:19 - 00:08:54:53

It was not a comfortable environment for people to speak up and put themselves out there because they would receive harsh feedback or, you know, some really smart engineer, which they are, would not know how to really communicate well and also to take feedback in and not see it as my way or the highway or you don't know, or just by the way they communicate, even if they are very unaware of how they communicate, that people don't feel comfortable.

00:08:54:53 - 00:09:21:55

And you got to think, especially if you're lesser experienced or even just lesser experienced in that person, you're not going to say anything, right? Like you don't feel safe putting yourself out there and that's not the environment you want. Now, in order to get around that and build that environment, this does come back to the individuals. But you have to think is, as you know, as leaders and managers and as engineers, especially if you're a higher level engineer because you have more explicit and implicit responsibilities, is is why is this not the environment crafted?

00:09:21:55 - 00:09:35:09

Do we not care about this? Do we not aware of it? Do we need to just expose it to ourselves and, you know, sort of things like retro and just having open conversations and one on ones comes up. But we do really need to take that into account. It sucks when you don't feel like you can put yourself out there.

00:09:35:09 - 00:09:52:18

In fact, there's two versions of it. There's I feel like I'm going to get criticized and beaten down. And then the other side is is like people don't speak up because it's like, well, hey, they're more experienced than me, so I can just agree with them. Right. But we should be speaking up as engineers. Even if you have lesser experience, it doesn't mean that you can't bring opinions and thoughts to the table.

00:09:52:33 - 00:10:09:27

Maybe you don't have as much of the experience to back it up, but problem solving doesn't mean you always have to have all of those things it wants to be effective and provide answers or input on the things. So never forget that. And again, if you're scared or intimidated as a newer engineer, again, just you're less experienced than someone else.

00:10:09:31 - 00:10:34:17

You do need to figure out is like, how do I get myself out of the comfort zone to put myself out there? Now this is all kind of under the assumption we have a better environment. But, you know, I was that annoying kid with this hand of all the time. And I'm sure I said a lot of stupid stuff as stupid questions, but I know that by putting myself out there and giving my advice and as I build my experience that I've added value to, you know, the team, the products and everything that we're building.

00:10:34:38 - 00:11:04:02

Okay, So we talked about those too. So now let's let's focus on the one and it can be realized. I think I'm just going to do this one question because I have so many thoughts and the inside of this one. So let's think about the actual person now, I will say if you're in management or leadership and this is known to you or you, you know, or should be known to you, this is one of the things if you if you're in leadership, especially like you need to be picking up on these things because these are detrimental, these are negative effects that hurt the team significantly.

00:11:04:02 - 00:11:17:50

And if you are not on top of those and realize that's going on or also getting others to pick up on those things and have that awareness, you're going to find you're going have a lot of issues on your team and it will fall apart and or people are just going to suffer and they're not going to be happy working on what they're working on.

00:11:18:05 - 00:11:43:56

You definitely do not want to run into that. So I would say first is if I'm aware of this or I built my awareness for this as a manager leader and same with the other, the more senior engineers, I would say I need to go and have a one on one conversation about this. And you know, sometimes in the beginning it's just having a light conversation where it's like, Hey, you know, like, I know, you know, I could I share feedback with you always like to ask the question.

00:11:43:56 - 00:11:59:38

No one ever really ever says no unless maybe they just don't want it or not a good day to have it. But always ask is like, Hey, can I give you feedback first? Right? And once you do that and you get that, yes. And you open people up to it, things things are a little easier from a conversation standpoint or they can be.

00:11:59:43 - 00:12:22:30

Now, what I would say is you've got to come in with some examples and be like, Hey, listen, you know, I was, you know, in the code review or the PR with these comments and this and that or, you know, I was in the room when you guys did that, or I heard you pair programing and I had to be completely honest with you and transparent is just like you can come off a bit harsh like the way that you project and communicate to them.

00:12:22:35 - 00:12:42:57

And usually when they do something like that, like assuming I gave some like specific examples, I then need to pause and should be the same. If you're an engineer doesn't need just a manager, let them respond to it. See if they have that awareness, see how they respond. They might not even respond well to that, but you have to at least get that conversation out there in order to ever start that conversation.

00:12:42:59 - 00:13:02:35

Now, if they're like, you know, you know, like, hey, that's not my intention or like or they get very defensive like, No, no, I don't do that. It's like, well, that's the whole reason you give give the feedback. So if you are in the management leadership side, especially like you do need to be like, Hey, this is the feedback, this is what's going on here is how it's negatively or it's how it's impacting the team.

00:13:02:39 - 00:13:21:35

And like, you know, also too is like, hey, but listen, you're a great engineer. This just comes down to this professional skills or those communication skills. And if you work on those and grow like you are going to rocket ship even more than you know you have been because you've been a great engineer on the team and you know, you got to look for understanding and see if they start to respond to that.

00:13:21:35 - 00:13:41:23

Now, if you start to go down the path of things are changing. And I've had this many engineers, unfortunately, a lot of engineers don't have the greatest communication skills is it becomes more stern as you go on. It's like, hey, this is not getting better. This needs to change. You are, you know, do you are having X-Y-Z impact And people don't feel good about this.

00:13:41:23 - 00:14:01:26

Like we can't keep having this conversation because as a leader, I need you to have those professional skills to drive the team forward, to take the feedback, to give feedback, but do it in the right ways. That helps us move forward. Right? Like I'm sure you've seen on Netflix as culture page for like jobs. They say like they'll happily never hire a Steve Jobs even if you're the best tech or tech best engineer in the world.

00:14:01:26 - 00:14:20:20

Because we want people that we want to work with. And these are the other half of those skills on site technical that you need to have. And if you're not that you really want to be someone that people don't like to work with or be unaware, or that people don't like to work with you or don't enjoy it, not a good feeling, especially once you figure it out or find out from someone.

00:14:20:20 - 00:14:40:04

But hopefully, you know you have the self-awareness or you don't have to get it from someone like me. Now, last thing is, if you're on the engineer side, though, I realize that this can be harder, especially if you're a can lesser experienced or not the same level as them, which is, you know, personally for me, I am willing to have these conversation.

00:14:40:04 - 00:14:56:12

I've done it many times, even when I was newer and when I was a junior is a lot more intimidating. Or I'm sorry, I hate the word junior. It was a lot more intimidating when I was newer because of exactly what I said, where I don't have all that experience. But what I do have is, hey, this is how this made me feel.

00:14:56:12 - 00:15:17:50

Could we could we talk about this when you put yourself is how it makes you feel like, people see vulnerability as weakness. Complete opposite hill all day and all day. Vulnerability is a good thing. Vulnerability, honesty, transparency, huge values of mind. When you're willing to do that and let people know like, Hey, this hurts. Like, like I don't I mean, even from just a professional angle, hurting is like, this isn't fun.

00:15:17:50 - 00:15:36:19

Like, I don't feel like I'm learning. Like, you know, you're a very smart engineer and I want to learn from you. But the way that these are communicated to me, like it doesn't feel good. It doesn't feel like it's the best form of communication. And then also to if you really want to, you know, take take them to the hard push is like, you know, just see now I'm not the only one that feels this way.

00:15:36:19 - 00:16:04:56

Just be completely honest. And what I want to do is I want to work with you and figure out how we can, you know, improve this. Like, what are your thoughts? And you stop there again. Now, again, I realize that conversation can be very intimidating. So that's why I say is if you're in the management leadership side or more senior roles, like you really have to be the sword bearers of a lot of this because the only way that you ever signal that these things are okay is by beating the leaders that go and make these things, you know, go this way or improving your own skill set or having self-awareness for the team or

00:16:04:56 - 00:16:24:38

yourself or whatever it is. Now, I, I think there's a lot more nuance in here. And all I want to have to hit on the last thing, and I'm not sure what I'm at recording wise. Let's say 16 minutes. well, I had to cut this one up. The last thing is go. They put in here the goal of improving code quality and sharing knowledge.

00:16:24:42 - 00:16:56:22

So what's interesting, as I said at the beginning, why this is great is this is a way that you put not leverage, emphasis behind why we do those things or hey, this is the culture of our team or this is the importance and value of it. When you start to do that, that becomes a great sales pitch. And if they don't understand the lesson, if you get into the hard spot where it's not improving and maybe a manager that doesn't realize this is going on, it's time to go talk to someone, you need to go talk to your manager or to another experienced dev and have these conversations and figure out like, you know, you're

00:16:56:30 - 00:17:17:02

your your manager should be your ultimate shield and person. If you, you know, can't move this forward as part of our job. But there is some times where it goes down to that level of, you know, impact that you do need to bring someone in. But the biggest things is, is like I said, build those skills to put yourself out there and have those conversations that learn to do it in the right way.

00:17:17:07 - 00:17:34:39

And if you're a manager of card, please keep an eye on your team for this stuff. It only takes, like I said, a couple of negative things, and this is one example that will severely impact your team. So let's talk a little bit longer than I realize for a question. So I'm going to leave. Just do the one here.

00:17:34:44 - 00:17:54:35

So I'm curious what people think. You know, Twitter, YouTube comments, whatever. Let me know. I'd love feedback if you think this is interesting. You know, there's an insane amount of questions on here and we only got through one. But if people find this helpful and I'll work on being more succinct, like I said, I'm still figuring out the whole video thing I'm happy to keep doing.

00:17:54:35 - 00:18:07:28

I may just do it because I enjoy doing it. I thought about it a lot for my own like skills and growth perspective as I was going through this. So again, hope you find it helpful. Looking forward to doing more of these. And like I said, I'll catch you in the next one. Thanks.


- DD