The Changelog: Software Development, Open Source - Code review anxiety (Interview)

Episode Date: July 3, 2024

Carol Lee (Clinical Scientist) shares her research on code review anxiety. We dive deep into her recent research paper "Understanding and Effectively Mitigating Code Review Anxiety". We get into all t...he nooks and crannies of this topic — common code review myths, strategies for coping, the need for awareness and self-reflection, the value of exposure and practice to build confidence, the importance of team dynamics, respect, empathy, and connection, and more. This show is jam-packed with goodies for everyone...and we even give a nod to the work we did on our podcast Brain Science.

Transcript
Discussion (0)
Starting point is 00:00:00 What's up nerds, welcome back. This is the changelog. We feature the hackers, the leaders and the innovators doing research on code review anxiety. Today we're joined by Carol Lee. She's a clinical psychologist who's studying developer success and experience. And on this episode, we're diving deep into her research paper titled Understanding and Effectively Mitigating Code Review Anxiety. We get into all the nooks and crannies of this research and this topic, common code review myths, strategies for coping, the need for awareness and self-reflection, the value of exposure and practice to build confidence, the importance of team dynamics like respect, empathy, and connection, and so much more. This episode is jam-packed with goodies
Starting point is 00:00:57 for everyone, and we even give a nod to the work we did on our podcast called Brain Science. You can listen to that at brainscience.fm. A massive thank you to our friends and our partners at fly.io. That is the home of changelog.com. Launch your apps, launch your databases, and you can even launch your AI near your users all over the world with no ops. Learn more at fly.io. Okay, let's do this.
Starting point is 00:01:35 What's up, friends? I'm here with a new friend of mine, Jasmine Cassis, product manager at Sentry. She's been doing some amazing work. Her and her teams over many years being at Sentry and her latest thing is just awesome. User feedback, you can now enable a widget on the front end of your website, powered by Sentry that captures user feedback. Jasmine, tell me about this feature.
Starting point is 00:02:01 Well, I'm Jasmine. I am a product manager at Sentry and I'm approaching my three year anniversary. So I've spent a lot of time here. I work on various different customer facing products. More recently, I've been focused on this user feedback widget feature, but I've also worked on session replay and our dashboards product with user feedback. I am particularly excited about that. We launched that a few weeks ago. Essentially what it allows you to do is it makes it very easy to connect the developer to
Starting point is 00:02:31 the end user, your customer. So you can immediately hear from your, basically who you're building for, for your audience. And you can get, basically have a good understanding of a wide range of bugs. So Sentry automatically detects things like performance problems and exceptions. But there are other bugs that can happen on your website, such as broken links or a typo or permission problem. And that is where the user feedback widget comes in and it captures that additional 20 percent of bugs that may not be automatically captured. I think that's why it's so special. And what takes it a step level above these other feedback tools and these support tools that you see
Starting point is 00:03:12 is that when you get those feedback messages, they're connected to Sentry's rich debugging context and telemetry. Because often I've seen it myself, I read a lot of user feedback, messages are cryptic, they're not descriptive enough to really understand the problem the user is facing. So what's great about user feedback is we connect it to our replay product, which essentially
Starting point is 00:03:33 basically shows what the user was doing at that moment in time, right before reporting that bug. And we also connect it to things such as screenshots. So we created the capability for a user to upload a screenshot so they could highlight something specific on the page that they're referring to. So it kind of removes the guesswork for what exactly is this feedback submission or bug report referring to. Now, I don't know about you, but I have wanted something like this on the front end pretty much since forever. And the fact that it ties into the session replay,
Starting point is 00:04:03 ties into all your tracing, ties into all of the things that Sentry does to make you a better developer and to make your application more performant and amazing. It's just amazing. You can learn more by going to Sentry.io. That's S-E-N-T-R-Y.io. And when you get there, go to the product tab and click on user feedback. That will take you to the landing page for user feedback. Dive in, learn all you can. Use our code changelog to get 100 bucks off a team plan for free. Now, what she didn't mention was that user feedback is given to everyone.
Starting point is 00:04:43 So if you have a Sentry account, you have user feedback. So go and use it. If you're already a user, go and get it on your front end. And if you're not a user, well then, hey, use the code changelog. Get $100 off a team plan for three-ish months, almost four months. Once again, Sentry.io. We are here to talk about code review anxiety with Carol Lee, who has a PhD, and yes, that rhymes, a clinical scientist, studying developer, thriving, and experienced. These are things that we care about. Carol, welcome to the Change Log.
Starting point is 00:05:41 Thank you for having me. I'm so glad to be here. We are glad as well. Now, some people hop on podcasts and just talk about things, but other people go out and do actual real science. And so happy to have you here because you've done some work on this topic. You're not just sharing your opinions or waxing poetic as some people might, even some people on this call, a paper published called Understanding and Effectively Mitigating Code Review Anxiety, something that I think us and our listeners are
Starting point is 00:06:13 well aware of and have lived through or are currently living through every time we submit our code for review. But curious to hear about this topic from your perspective, maybe even before we get to your findings, like why did this interest you to hear about this topic from your perspective, maybe even before we get to your findings, like why did this interest you to put all this work in? Yeah, for sure. So like you said, I am a clinical scientist. What that basically means is that my background is in clinical psychology. So my expertise is in how folks thrive, how folks cope with stress, anxiety, and then kind of like come out the other side feeling okay, right? So code review anxiety was really interesting to me because one, I have also
Starting point is 00:06:52 submitted code before and it is a very anxiety provoking process. Definitely messed up the whole GitHub thing and that was very embarrassing. So I felt code review anxiety. Something that was super interesting is that people are always kind of commenting on how it's a common occurrence, right? People say, oh, we have this, I felt this. And then that's just kind of it, right? And as a clinical scientist, I generally don't like to end things that this really sucks. Oh, well, right? I could like to kind of end things that this really sucks. I wonder if there's something we can do about it, right? So I was really interested in that. And so initially, the goal with this project was to really help people feel like if you experience code review anxiety, you're not alone. Something that's really striking to me is that like on software teams, people don't talk about their code review anxiety. Something that happens when you don't talk about an experience is that it becomes really invisible. And when it's really invisible, you feel really alone in something, even though you're not alone in it, right? We all experience code review anxiety, but we don't talk about it. So now we feel like we're the only person that has it. We're weird, we're unskilled, whatever.
Starting point is 00:08:03 And so I wanted to make people feel like, okay, I feel seen. This is not just me. I'm not crazy or weird, right? This is something that we all experience. But as I kind of dove deeper into it, I came across some like really harmful myths in the industry. So one thing is that a lot of people talk about code review anxiety as if it's like this junior developer thing, right? Like, oh, you'll just kind of grow out of it. Everybody experiences it to begin with. And that's not actually true. In my research, we actually see that folks across experience levels experience code review anxiety, whether that's about giving a code review, getting a code review, whatever. We had folks in my intervention, who were like principal engineers, folks who had
Starting point is 00:08:46 anywhere between one to 65 years of coding experience, who were like, you know what, I've had code review anxiety for 50 years. And I just like never thought that this was something that I could do anything about. Like, I was just like, well, it's too late now. That's embarrassing. Like, you know, and so I thought that was really striking. And I wanted to kind of share, you know, hey, this is something that impacts all of us. It's not dependent on how much experience you have. And then the other piece of it is that I like manage my code review anxiety? You'll get people who are like, oh, here are like 10 tips to write better code. Here are 10 tips to write cleaner code. Right. And then they're like, and then like code review anxiety, done. Perfect. And that's not how anxiety works. Right. Like you can feel anxious about things that you did super, super well. It's not, I always say anxiety isn't like merit-based you don't like earn your way out of
Starting point is 00:09:45 anxiety it just kind of like happens to us um so i thought that was an important kind of thing to show with this research as well so yeah interesting i i wondered when you're sharing this background if uh if github's to blame really because get blame and it's good yeah because i know there was code review to some degree prior to GitHub, right? Sure, yes. But I think by and large it's become more prominent as a daily, if not hourly, occurrence in so many software developers' lives. Like it's a part of the flow, the GitHub workflow. And I really just want to know, can we just blame them?
Starting point is 00:10:22 I'm being funny about that. Can we blame GitHub? I mean, I really struggled with Git when I first started, to know, can we just blame them? I'm being funny about that. Can we blame GitHub? I mean, I really struggled with Git when I first started using it. So I'm very happy to blame GitHub. Not really. Please don't. Please don't hold this against me, GitHub. We like GitHub.
Starting point is 00:10:35 I'm like, ah, GitHub's great. No. It's innovation. They can't do nothing about it. But I think it hasn't been here in our daily practice to the degree that it is until the popularized social coding and the really the way we've all been writing for the last 15 years, 16 years, that has been GitHub has come on the scene, totally changed the way the global scale of software production happens, helped open source win. And now it is the way, you know, and GitLab is there and others there as well. They're you're doing like, let's say one review every month, or one review every quarter, right? It cues you to have like a more thoughtful review where you're like, hey, like, this is my review to Adam, like, here are the things that I you know,
Starting point is 00:11:37 I'm seeing here are some areas where I can see some growth, like it kind of like makes you be a little bit more thoughtful. But when you're kind of pushed to do like 10 reviews a day, I don't know, like however many you feel pressured to do, right? You see a lot of folks writing things like, looks good to me. And then the other person's like, does it like, I don't know, like this person, or you know, someone will say something like, just change this. And you're like, does this person hate me? And that kind of elicits a lot of code review anxiety, because people don't feel like they have time to say, hey, like, I wonder if you could change, you know, kind of like couch things a little bit more when they are pressured to like kind of turn these out. So that's actually a good point. Let me come to GitHub's defense and then a clinical scientist can tell me whether or not
Starting point is 00:12:16 I'm just waxing poetic and don't know what I'm talking about. But code review has always been a thing as far as the practice of software development goes. I think what GitHub did to add a point is really normalize and scale open source software development where the code review is not merely by your boss or your colleagues or somebody who you know personally, but it's by strangers on the internet. And it's often and it's at scale. And that can be, I think, more anxiety inducing because now it's like the world is seeing what I've done. Having said that, I don't know how you fix anxiety necessarily, but in my experience, one of the way that I do it is just do the same thing over and over again. And so it slowly, I get used to that. And I think code review at scale is that, so I mean, GitHub allowing you to not get judged once a month or once a week,
Starting point is 00:13:05 but maybe constantly over the course of years, eventually you become numb or calloused to the judgment and you're just like, it's not a big deal anymore. And so maybe in that way, GitHub is helping us
Starting point is 00:13:16 fix our code review anxiety. What do you think? Oh, I love this so much. Yeah. I mean, okay. So what you say... Here's the flip side, right? No, I love this, right?
Starting point is 00:13:24 I mean, what you say is also very true, right? We mean, what you say is also very true, right? We call this exposure or like habituation. You kind of get used to an experience and you're like, Hey, actually, you know, it's not so bad. So not to get too in the weeds or get too nerdy about anxiety. Let me know if I am the way that anxiety can develop sometimes is that yes, you do this thing a lot of times, right? But for some people, instead of thinking, hey, here's my 100th pull request, just same old, same old, right? They might engage in something called experiential avoidance, we call it. So this is when you kind
Starting point is 00:13:57 of like avoid the whole experience. You're just kind of like, you're like, I don't know, just press the thing, right? And so every time you press it, like, you know, submit, you're like, I don't know, just press the thing, right? And so every time you press it, like, you know, submit, you're actually still feeling anxious. So you just like never move past it, right? Or you might just have some like really intense negative thoughts, like where you're like, I don't know, like Adam just hates me. I just know it. Like Adam thinks I'm so stupid. My gosh, right? And you just never consider, you know, like Adam doesn't care like what's happening. Like Adam probably is just living his best life, right? And so you don never consider you know like adam doesn't care like what's happening like adam probably is just living his best life right and so you don't consider that and so you can imagine like the hundredth time you have to ask adam for something you're like oh my god adam still hates
Starting point is 00:14:35 me i've asked him for something a hundred times now like my god right like the anxiety just builds so it really just kind of depends i kind of take take it as like, you know, let's not blame the tool. I know I just blamed GitHub, but you know, very, very jokingly, you know, you know, it's like not really the tool's fault. It's, you know, there are ways that we can kind of mitigate our own anxiety ourselves. And then there are also ways that we can mitigate people's anxieties for them as well, right? Like we can take the time to write something more thoughtful like anxiety is a a byproduct of fear right like you fear an outcome it can be true or false yeah it's like the expectation of fear yes yes and so you in this scenario you assume that i'm not living my best life maybe i totally have hate for carol and she's just not the goodest person ever. Excuse my poor English there.
Starting point is 00:15:25 It was perfect. I loved it. Right. But meanwhile, I'm a fan. Yeah. And I'm for you. Yeah. But inside you, you have what you call experiential avoidance.
Starting point is 00:15:36 You're avoiding something because you have fear that creates anxiety about an action. So then you procrastinate or just don't take the action because you have a perceived or assumed scenario of outcome that is or may not be perfectly true. Yes, exactly. Yeah. Right. I'm a dictionary, basically. I love this. No, I mean, not to get, you know, just gently get into some findings. I liken code review anxiety a lot to social anxiety. And this is actually based on a model of social anxiety, which is very common, you know, impacts 11% of the population. Fun fact. But I mean, you know, social anxiety has to do with like feeling like you're going to be judged or just feeling anxious about any social interaction or some sort of like perceived performance situation.
Starting point is 00:16:22 Right. And like code reviews, you're like interacting with people that's social and you're kind of like putting your work out to the world and be like, here I am coder, wonderful, right, which can feel like a lot of spotlight attention. And two, like major things that impact social anxiety and kind of socially relevant anxiety are like probability and cost biases. So these are two cognitive biases that folks experience where like they overestimate the likelihood that something bad's going to happen. That's probability bias. So you're like, Adam's going to say something mean to me. I just know it. Right. And what's really interesting is that they overestimate the cost of that bad thing happening.
Starting point is 00:16:58 That's the cost bias. So I'm like, Adam says something mean to me. And that means that I'm a bad coder and I don't deserve to be here. Right. It's not just like, no, Adam said something kind of rude. Like, F that guy. You know, you're like. Right. It's on him, not me. Yeah.
Starting point is 00:17:15 Like you take it as like something really intense and bad is happening. And then you also experience this thing called low anxiety self-efficacy where, you know, to the experiential avoidance point, you're like, I can't handle this anxiety, right? Like, there's nothing I can do about this. So, yeah. So, which can be crippling, right? So, when you talk about anxiety in the context of your study, I think it's worth narrowing in on it because we've been talking about it. But actually when I thought about code review anxiety, like that term, I actually brought my own different anxiety, like my own baggage to that term. And so I was interested in your read your study because I'm like, Oh, it's specifically
Starting point is 00:17:53 narrowing in on fear of judgment of my code. Like that's pretty much what code review anxiety is. My code is going to be reviewed by someone. They're going to judge it. That makes me anxious, which makes total sense. And that's the context. But what I was thinking was like, there's other anxieties I have around code review. Like my code is going to sit there and not get reviewed for a long time. And that makes me anxious. Or on the other side, somebody wants me to review their code. And that makes me anxious because I don't like to do that.
Starting point is 00:18:24 I don't want to do that. I'm doing the avoidance thing. And now I'm a blocker for them to do their job. And that makes me anxious. So like there's other ones that are kind of tangential that I was bringing to the table, but those are the things that you studied specifically, right? It's actually, you know, anxiety about your code, like asking for it. So it's actually about the code itself. It's also about like the process of asking. So sometimes folks feel anxious about like, I asked for this weird, or you know, they might say something like that. But it's also about the process of giving a code review. Exactly what you were saying. Yeah. A lot of I had several kind of staff level engineers who were like, you know, what really sucks about being staff is that you feel pressured to give the
Starting point is 00:19:05 best code review and it has to be right. You know, right. And honestly, I don't know if like that's a lot of pressure, right? Like it's just a lot for me and they feel paralyzed. They, as you say, avoid it, procrastinate, etc. Yeah. There's a lot of stuff that goes into that because the person who's requesting the code review, you might actually look up to that person as a coder.
Starting point is 00:19:24 And you're like, how am I supposed to review your code? I think your code's awesome most of the time. I don't know what you're doing here. And then there's like, I don't know what you're doing. This must be really smart. And then it's like, well, is it though? Or do they not know what they're doing either? There's so many question marks there.
Starting point is 00:19:39 And then you have the size of the code review as well. There's an old joke that if you submit, you know, a 5,000 line code review, then the reviewer is going to give you an LGTM, right? And they're just like, looks good. But if you submit a five line code review, they'll write, you know, a treatise on your code style. You know, there's something weird going on there where we don't mind analyzing like the picayune details, but a big review for us is like, I can't actually review this i'm just gonna say it looks good so there's so many facets to this absolutely yeah yeah what
Starting point is 00:20:11 did you guys actually do for this study like how did you conduct it i am like not to toot my own horn but i'm like pretty freaking pleased about this study um we did something called a randomized control trial um you see this a lot in health research. So when you think about, does this medication work? Does this treatment work? People use a randomized controlled trial. So it's a very rigorous experimental method. You don't often see it in applied research and certainly not in applied software research.
Starting point is 00:20:39 But that's what we did. And so basically, we put out an open call. It was like, hey, do you experience code review anxiety of view anxiety? Like, come join this study and like a two hour workshop intervention. So this is like, kind of a common method to use in mental health experiences, which are trying to like, reach a bunch of people at once, right? It's a little bit more scalable, you don't have to like schedule one on ones with everybody. So we did that I delivered these workshops and workshop had like, several major components. Like the first major component is like we teach people how to just manage like physiological symptoms of anxiety. I often talk about it as like if you are literally hyperventilating, the only thing you can think about is the fact that you're hyperventilating.
Starting point is 00:21:38 Right. Like it's really not useful for me to be like, and here are some other things you can do. You're like, I'm literally trying to breathe right now. Right. So the first thing we need to do is like reduce that hyperventilating. So kind of teaching things like that. And then the bulk of it is kind of thinking about what are your cognitive biases that you bring in? And then what can you do to kind of challenge them? It's a cognitive behavioral technique. So we worked on kind of teaching that identifying biases, you know, folks brought in things like one that like really always stuck out to me it's like one person was like this review is going to be so bad that xyz is going to leave the company like i'm like wow like you're like this person hated your review so much that they left the org like seriously um so kind of like
Starting point is 00:22:20 things like that or someone will say one person had a thought that kind of broke my heart a little bit that was like my team is never going to respect me or my code which was like that, or someone will say one person had a thought that kind of broke my heart a little bit that was like, my team is never going to respect me or my code, which was like, that's a scary thing to walk into a code review with, right? Like, oh, man, right. Like, if you're walking into every code review and telling yourself, like, my team will never think I'm smart. They never think this, right? Like, it doesn't matter what I do. Like, you can imagine you're actually creating a lot more anxiety for yourself. A lot of times, we don't even realize we're telling ourselves these things. We just kind of like, go about our world. And we're like, you can imagine you're actually creating a lot more anxiety for yourself. A lot of times we don't even realize we're telling ourselves these things. We just kind of like, go about our world. And we're like, yeah, that was I feel like just I'm gonna avoid, right? So kind of creating awareness and thinking about like, what are the things I actually tell myself
Starting point is 00:22:56 before I enter a code review? Right? And then identifying those and then actually challenging them to think about like a more self-compassionate and realistic way to think about it, right? So like asking yourself, like, is this actually true? Like, do I actually have any evidence for this, right? Are there other possible reasons? Kind of like a nice self-compassion technique is like, if this was like someone you were mentoring, like, and they had this thought, like, what would you say to them, right? Or if this was like your best friend and they were like, yeah, you know, like everybody hates me, like, what would you say to them? Right. Or if this was like your best friend and they were like, yeah, you know, like everybody hates me. Like, what would you say to them?
Starting point is 00:23:27 Right. And then moving from that, I'm actually teaching folks how to like actively engage with code reviews to reduce that avoidance. So, yeah. That one you're talking about where you, where you manufacture this, this idea, so to speak, this, this fear, it's called catastrophizing, right? Like when you, like I personally am a daily practicer of catastrophizing. I don't want to be, but I do. It's just something that you do. It's the gutter syndrome or the gutter spiral, whatever you want to think. Like it's not a good place.
Starting point is 00:24:04 You would begin to assume certain truths are true. They're not true, but you've now just worked whatever it is up so bad that the outcome from this scenario is only the worst possible ever outcome. And that's the truth. Yep. You know, catastrophizing is absolutely the worst place to be. I can say that because I've been there and I've done it and I've got the t-shirt. I'm not wearing it today though. Adam, I am also a catastrophizer. I mean, so there's several kind of, kind of, we call them cognitive distortions that we go through. And,
Starting point is 00:24:32 you know, I kind of have everyone be like, all right, like chances are there's some of these where you're like, that one speaks to me. Right. So some people are like, I am a hundred percent a mind reader. I just think I know what everybody's thinking and it's bad, but I actually don't know what this person's thinking at all. Right. And so it's kind of like a fun thing to be like, okay, like nothing again. And like doing the mind reading again, like, come on, Carol, get it together. Right. So I think that could be super helpful too. What's up, friends? I'm here with Michael Abbott and staff software developer at 1Password. Michael, I want to talk about how 1Password helps secrets management,
Starting point is 00:25:17 secret sharing with teams, with orgs, with production, even really easy, even so much so that when you spin up a new person onto a team or you add new people to a team, even if you take away people from a team, you want to focus on access and you also want to focus on security. So if you want to remove somebody, you want to make sure they no longer have access to your secrets. And then the flip side is when you add somebody to a team,
Starting point is 00:25:41 you want to make sure they have access to their secrets. So help me understand how 1Password helps teams be efficient with secrets management. So when you have a dev team storing their secrets in 1Password, then it makes it really easy to bring new people on. They already have so much to do and so many new things to learn. You don't need them to have that extra burden of creating a dozen different accounts to be able to access your payments or your errors or your monitoring. You can have that all set up for them already within 1Password. And each of those particular services gets pulled into your local application, your production application at runtime through the 1Password CLI. From there, you have your new developer downloading the repo.
Starting point is 00:26:26 They don't have to spend time setting up their environment. All of the different services are ready to go because they're already stored in 1Password. All they have to do is use the 1Password CLI to spin up and run the application, and it's ready to go. It's like developing in the future. Well, we must be in the future, Michael, because we use 1Password just like that.
Starting point is 00:26:46 All of our team secrets, all of our personal secrets, all of our application secrets, they're all in 1Password. And we're using exactly this process to make our lives easier. So, friends, go to 1Password.com slash changelogpod. They've given our listeners an exclusive extended free trial to any 1Password plan for 28 days. It should be 14 days, but no, it's 28 days. But make sure you go to 1password.com slash changelogpod to get that exclusive signup bonus
Starting point is 00:27:18 or head to developer.1password.com, of course, to learn about 1Password's amazing developer tooling, the 1Password CLI, 1Password for SSH, and Git, CICD integrations, service accounts, and so much more. Once again, 1Password.com slash changelogpod. and you mentioned this in section 1.2 i'm gonna get very specific here okay you mentioned i think this is what it relates to you say cognitive behavioral approaches elicit certain change through three key processes awareness is what you're talking about. Okay. I'm thinking I'm a mind reader. I'm not really a mind reader. Carol, calm down. And that's awareness. Awareness that you're doing something and whatever you can do to sort of begin to undo that thing. It involves
Starting point is 00:28:19 psychoeducation, you say, self-monitoring, relaxation techniques, taking a bath, self-care. I mean, even trimming your fingernails could be things that you could do to, that's a random one because I like to trim my fingernails. I was going to say like, Adam, do you like, do you enjoy nail care? I'm not myself here. Okay. Adam, throw that one in or is that in the paper? My fingernails are really great. I keep my fingernails trimmed. And that helps you not get anxious? Stop catastrophizing? Well, I don't know if I do do it then, but I just thought of that randomly. Okay, fair. Adam just wanted us to know that he has excellent nails.
Starting point is 00:28:49 You're judging me, Jared. Now you're going to hate me forever. I'm not judging you. I'm just inquiring more. I'm just curious. No, no, no. I'm saying that as a joke in regards to the conversation. I took it very seriously.
Starting point is 00:28:57 It's a catastrophe. This is going to go so poorly for you, Adam. I mean, no one's going to listen to our show anymore. This is it. Yeah, zero listeners after this. Every question's going to be like, can you tell me more about your nail care? Yeah, they're like, I like that show, and they started talking about nail care, and I don't listen ever
Starting point is 00:29:11 again. I can. I do have a recommendation for a nail care kit that I recently got that's super sharp off of Amazon. I was surprised by it. I actually cut myself the first time I used it. I don't know if that's a good thing. I like it a lot. It's only two parts. It's not very expensive and I didn't do much research. I just bought it and liked it. So I can recommend one. There you go. You'll post a link later. I
Starting point is 00:29:31 like it. Affiliate link. Yeah. We'll get the affiliate link out there. Let me get these three out there. This we're stuck on one. So there's three key processes. One is self-awareness or becoming aware. The second is reducing biased thinking and increasing constructive and compassionate thinking and you go on i'm not going to read it verbatim and the last one you say is reducing avoidance and you say exposure so doing more of the code review doing more of the thing that you're afraid of somehow i don't understand this somehow makes you less afraid can you explain these three things yeah so So it sounds like you're mostly curious about the exposure piece in particular, correct? I'd say all three,
Starting point is 00:30:08 really. I think awareness is super key, right? You can only get better at something. It's like measuring metrics. If you don't measure the thing, you can't improve the thing. And if you have a scenario or a situation and you're not aware that there's a scenario situation, you're not going to become better at it because you're not aware that there's a scenario situation, you're not going to become better at it because you're not aware that there's a problem or a challenge or an issue. I think that's super key. And reducing that biased thinking, I think, is super key
Starting point is 00:30:35 because it's a symptom of catastrophizing. When you do that, it's biased thinking. You're thinking it's the worst, it's never getting better, and once this is done, it's, you know, it's over. Some version of that is true in some way, shape or form when you catastrophize. Then obviously the last one, I think, which is the one I don't know much about, which is how in the world can I do more of something that I don't like to get better at it? Yeah. I mean, like you said, awareness is really key. I always say like,
Starting point is 00:31:01 you literally can't do something about a problem if you don't even know the problem exists, right? That's just that's just a fact. I think it's really interesting. You know, I had a lot of folks who would say things like, Oh, yeah, I always avoid code reviews. And I was like, Well, do you feel anxious about code reviews? And they were like, you know what, I think I do, right? Like, you just kind of avoid the thing. And you're like, turns out I am anxious. Like, it's like, great. Now we know why you avoid them. So like, now we know what to do, which is try to reduce that anxiety, right? And I think that's a really key piece. Same thing with like those biased thoughts, like, don't know why I like feel so terrible about myself before a code review. And it's like, well, you're literally
Starting point is 00:31:38 telling yourself that you're terrible and people hate you. So there we go, right? It's like, oh, right, I am telling myself that. So kind of knowledge is power here. Like you said, you know, reducing physiological arousal helps with things, challenging those thoughts, like asking yourself, hey, this is actually true. The exposure piece is super interesting. So part of it, it actually refers back to what Jared was saying earlier, where you do the thing a lot of times, and you kind of get used to it, right? For some people, you know, they're able to say, I did this a lot of times. And, you know, like, I still feel anxious, but I feel like I can manage it.
Starting point is 00:32:11 Or I'm okay with the anxiety now. It's like, I'm chill with it, right? It's like, and then you being chill with it, like, reduces your anxiety. It's very paradoxical. But there's also this way in which you, like, like I was saying earlier, you kind of avoid thinking about the code reviewer. You're just like focused on getting it over with, right? Maybe you like open the thing up and you're like, ah, LGTM, and then you like close it out.
Starting point is 00:32:35 You're like, it's done. Thank God, right? And so exposure here really involves like, okay, like let's practice that awareness during the entire code review, right? So folks after the workshop, get like a toolkit to do during their next code review. And it asks you like, okay, like, what is your anxiety like now? What can you do to manage it now? Okay, keep working on your code review. What is your anxiety now? What is like, what can we do to manage that now? Right? And so it kind of gives you practice on saying, hey, actually, my anxiety isn't in control of me.
Starting point is 00:33:08 Right. It's not this thing that I have to run away from and therefore run away from code reviews. I can approach a code review and learn. This is like a new learning kind of theory. It's like you can learn that you can actually handle it. Right. So the more that you kind of actively engage with the code review, the more that you walk away learning, hey, you know what, like, that wasn't so bad. I actually managed to reduce my anxiety,
Starting point is 00:33:31 I, you know, managed to do the thing, the world didn't end. Cool, right? There's also kind of a method here where proactively engaging also means that like, you're also expressing how you feel about your code. A lot of times, and people kind of do this, and they like shoot themselves in the foot, where, you know, they're really anxious about their code. And maybe they are super confused, right? They don't, they don't feel comfortable with it. And they just kind of like, quietly, like, put it out into the world. And they're like, it's done, right? And when you do that, people are like, okay, this person feels confident, like, let me just like, it's done, right? And when you do that, people are like, okay, this person feels confident, like, let me just like, give them the review. It also like, I mean, it's really hard to remember.
Starting point is 00:34:11 And I say this, even as a psychologist, right? When you're working on a computer, interacting with somebody's like work, it's sometimes really hard to remember that there is like a person with feelings on the other side of it, right? You're like, here's the code, I'm going to review it. But that code belongs to somebody. And that person with feelings on the other side of it, right? You're like, here's the code. I'm going to review it. But that code belongs to somebody. And that person has feelings and maybe anxiety, right? And so you can ask for a code review in a way that like elicits some humanity. You can say things like, I'm just really not sure about this section, right?
Starting point is 00:34:39 Like, kind of feeling anxious here. And like, oftentimes when folks read things like, I'm uncomfortable here, or I'm feeling anxious here. And like, oftentimes, when folks read things like I'm uncomfortable here, or I'm feeling anxious, that cues them to be like, oh, this person doesn't feel good, I should be gentle with them. Right? In contrast, when you just kind of put it out there, people are just kind of like, man, like, you should change this. And then you read that feedback. And you're like, this person doesn't like me, right? So you can actually elicit kind of code reviews by actually sharing that you're anxious. So I think that's just kind of a interesting way that exposure can work there too it's kind of like awareness on the other end you're making somebody else aware and that helps
Starting point is 00:35:13 them help you yeah that's really interesting that uh that toolkit reminds me of the idea of front loading you know about front loading right carol So front-loading is whenever you have, at least to my knowledge, this is how I'm aware of it or what the term means to me, is similar to you, Jared. You don't want to go to the gym and play basketball without your shoes. So what do you do? You front-load. You prepare the night before, right? This toolkit is a preparation for anxiety reduction in the act of. So when you don't have your frontal lobe fully engaged, you're less rational thinking, you do the front loading, the pre-thinking when you have rationality in a more key state for you so that you can better plan. So when you're weak, you use the strength you had beforehand to empower you when you're not. So, Jared, you hate not taking your
Starting point is 00:36:05 shoes to the gym, right? So what do you do? It was my socks in particular. Sorry. I appreciate that you're pulling this back. Carol, this is from a previous conversation. I mean, nail care, shoes, socks. I feel like I'm learning a lot of like really personal things. I messed up. It sucks. It sucks. It's all right. I mean, shoes and socks are two of the same. They go on each other. Yes, I do. I have Carol. So to get everybody on the same page, I play basketball early in the morning. I'm not usually entirely awake as I'm driving to the gym.
Starting point is 00:36:33 I can forget stuff. And one time I forgot my socks. Well, you go to the gym. It's a 20 minute drive to play basketball. You don't have socks when you show up. That's a very bad morning. And so I had that happen to me once. And ever since then, I'm very anxious about, do I have my socks in particular?
Starting point is 00:36:47 And so much so that I'll check for my socks, even though I know I have my socks. I'm getting to the point where it's like, is that neurotic? I don't know if that's neurotic behavior. That's slightly compulsive now, but that's okay. Yeah. Where I'm like, intellectually, I know beyond a shadow of a doubt that I have my socks. But you know what? I'm going to check anyways.
Starting point is 00:37:05 The sock trauma is real. I get it. That's fine. That's what Adam was referring back to. He just happened to switch up the item of clothing. Thank you for the background there, Jared. And sorry, I crossed over socks to shoes, but it made sense to me in my brain. I was trying to get the story right. But the idea of front-loading is that you Yeah. When you can plan ahead so that when you're weak, like early in the morning, you're less awake. You don't have that. And so, you know, smart Jared the morning before or the night before. Yeah.
Starting point is 00:37:32 Put the socks in the bag. He totally did. And you know they're there. Yeah. Exactly. I know. I feel like humans, we really love to be like go with the flow and chill and like, know really loose and wonderful which is great but also we thrive on structure like structure helps that's that's just the end of it so yeah right
Starting point is 00:37:51 and also give yourself guardrails too it's like well when i when i was thinking thoroughly in a comfortable setting with no threats lack of fear or less fear therefore no anxiety i can more clearly define and plan the next time i'm in that threat zone so to speak right yeah and that's what i call front loading is like you prepare for the times when you're weak you do it with dieting you do it with all sorts of things is this pre-preparation whenever you have a more rational mind because it sucks whenever you're like me jared Jared, I'm back to my OMAD. So it's kind of crazy. Like OMAD is one meal a day, Carol.
Starting point is 00:38:31 So I eat one meal a day. I fast all day long. I have a break fast. I call it a break fast at like 5-ish, 5.30-ish. 5 a.m.? 5.30 a.m.? P.m. Okay. P.m.
Starting point is 00:38:43 I break my fast like 5 p.m., 5 30 p.m. and then I have dinner with my family and then I don't eat any more until the very next day at that same time but I can only be strong you're glutton for punishment in that's where the nail care comes in you know yeah I gotta keep myself busy here I can't get my kid out here hang on a second I think it's funny you call it omad because we all know the sound is mad because you know, you're going to be mad if you're going to have one meal a day. It's not mod, it's mad. We all know that, but go ahead. Well, you know, here's an example. So this morning or the evening beforehand, I always prepare an oatmeal kind of overnight oatmeal kind of thing. Oatmeal, oatmeal, a little bit of frozen blueberries.
Starting point is 00:39:26 But what that lets me do is it prepares me. That's my, that's my pre-thinking through this so that whenever I'm weak and I get home, I'm like, gosh, I'm hungry. I'm ravenous or I'm ready to eat rather than grabbing a snack or something in high sugar or something else. I've pre-planned, I've front loadedloaded my plan and it keeps my discipline rails on rails. And you can apply that to code review. You can apply that to all sorts of things, but it's the idea that whenever you're weak, you make less wise choices. Yes. And so prepare and plan beforehand and have a plan for when you're weak.
Starting point is 00:39:59 And that's kind of what this toolkit you gave them almost, but not fully, almost. It's a check-in during the process. But it's like you have less anxiousness because do a little bit. How are you feeling now? Do a little bit. How are you feeling now? It's something like that that helps somebody in that moment of despair or crisis not have despair and crisis. Yeah.
Starting point is 00:40:21 No, absolutely. I mean, we often talk about like, we also call it like coping ahead, right? The worst time to start something to start like an anxiety protocol is when you're in the middle of an anxiety episode, right? The worst time to start dieting is when you're extremely hungry, right? Like this does this just does not make sense, right? You have to kind of plan ahead. Yeah, yeah, absolutely. How much does identity play into code review anxiety? And by that, I mean, how closely I identify with my code. Because the fear of judgment often is stronger when it's personalized, like I am being judged, not my code is being judged.
Starting point is 00:41:00 And I found that over time, I have benefited by detaching myself from the code that I wrote in order to not feel harmed by negative review of said code, which took some time. But the framing I changed in my mind was like, instead of I came up with a solution, it's like I've discovered a solution. And it's not really that it's not me, it's just like, here's what I've discovered. Of course And it's not really, it's not me. It's just like, here's what I've discovered. You know, of course I wrote it, but is this good? And it's like, nah, maybe that's not the best discovery.
Starting point is 00:41:31 Okay, let's go find something else. And so that's helped me just to be like, it's not me. It's my code. Yeah, no, I love that. I didn't look at that in this study, but we've looked at kind of how much folks identify with like being a developer, how that can impact things like how threatened you feel by ai for example right so there is kind of this piece of like how much you identify with something does have an impact like you say that over identification piece
Starting point is 00:41:55 absolutely yeah yeah i love that you do that not to be like psych nerd again but we sure call this like your what you kind of do and And we call this the process decentering. It's like when you're able to kind of decenter from, from experiences and not like over-identify with them. It's like a really like top notch thing. It's like a power mechanism that kind of like aids you in dealing with stress and anxiety across time. Top notch.
Starting point is 00:42:21 This is a good code review. Keep going, Carol. Who's liking it? Yeah. Tell me more. Well, here's how this is easy, I think, for software developers over time. Some software developers.
Starting point is 00:42:32 Okay, here's how it could be easy for all of us if we think of it the way that I do. Okay, here's my pro tip. Is over time you realize that code that you wrote six months, nine months, a year ago is so foreign to you. It is as if somebody else wrote it. This is a common experience for software developers.
Starting point is 00:42:51 Well, if you just realize that all you're doing is delaying that foreign aspect of it, then code you wrote yesterday is pretty much written by somebody else also. And so you don't have to be identified so closely with it. And then if you just don't like the be identified so closely with it. Like after I wrote, and then if you just don't like the code, like you just, you like the features, you like the value it provides, but the code itself is a liability. Those two angles, why would you want to identify with something that's a liability? And that was written as if by a stranger. I'm really loving Adam's facial expressions through this. Were you looking at my face? I was looking at yours.
Starting point is 00:43:26 You were making that face at my face? I think so. Your face was just like slow disbelief. Is this a weird way to think? No, I actually like it. So what I like about... Let me toot your horn a little bit, Jared.
Starting point is 00:43:42 I think you're a pretty analytical and rational thinker for the most part. Okay. And I got to give you the for the most part because I can't give you the full 100%, right? It's not 10 out of 10. It's 8 out of 10. The sock anxiety is real is what I've learned about Jared. That is not rational at all. I know that.
Starting point is 00:43:58 And I get that. I totally identify with that because I'm the same way with locking a door. Okay. I check the front door. Before I go to bed, I check the same way with locking a door. Okay. I checked the front door before I go to bed. I checked the front door and I get home. I checked doors that I know I've locked again. I will get out of the truck and go back and confirm I locked the door. I'm so sorry to your audience because I feel like they're learning a lot about random things about
Starting point is 00:44:19 you all today. And I'm so sorry. It is a podcast and we do talk, so you're inviting us to do so. So I don't mind it. I love it. But what I like about this is that this is a good framework and it's because you've been a software developer for a while. Yeah. You have folks, I suppose, have the benefit of hearing from your experience. And so I think to be a seasoned, career-long, 20-year-plus software developer developer you have to have frameworks for how to feel about what you do especially in anxiety inducing situations and so your coping mechanism has been and this is who you are create a framework that you can repeat over and over and over so it gets easier right you said that already yeah and the framework is well if if in six months i'm going to be detached from it why not just immediately detach right now?
Starting point is 00:45:08 Because if it's going to happen, it's already happened. Exactly. And that, to me, makes a lot of sense. And I think we benefit from that. I think we slash the audience benefits from that because I think you're a pretty critical thinker of what you do. I don't think you make not so much unwise choices, but you think deeply about the choices you do make and you analyze and minimalize when necessary, you know? And so I think as a means of minimalization and reducing anxiety and detaching, that's your way. And that makes sense.
Starting point is 00:45:38 Well, I guess that leads me to another question for Carol, which is that we we create frameworks and tools in our minds and in our lives in order to deal with situations that we are anxious about we are nervous about we have a problem with but we have to go through them and there are other situations that we don't do that for for instance i'm also very anxious about jumping into a swamp filled with crocodiles. Like that's, that makes me very nervous. So I don't do that. Cause the, there's no value there on the other side. Yeah. No Indiana Jones. So apply that to code review. Why should we then have all these coping mechanisms and like building up exposure and do all this stuff. So they're not so anxious.
Starting point is 00:46:21 Is code review worth it then? Cause if it's not worth it, we could just do the avoidance thing and that's actually a win but is it worth it at the end or is there research on this is that actually good that actually is yeah right i mean you kind of have to assess like what is the benefit of here right yeah agreed right like there's no point in doing an exposure to something if it's not going to benefit you right it's also not there's no point in doing it doing any sort of exposure to something if you're like i'm never going to benefit you, right? It's also not, there's no point in doing it, doing any sort of exposure to something. If you're like, I'm never going to come across this situation in my life, right?
Starting point is 00:46:49 Like, why get used to this thing that I'm literally never going to have to do? With code reviews, you know, there is research showing that it does improve code quality. So there's that piece. So you may want to do that, or you may be asked to do it. You can't like get out of doing it if you're literally being told to do it, for example. Right? Right. I think what's kind of really lovely, too, is that
Starting point is 00:47:09 there's also some research showing that, particularly for like folks learning new kind of languages or new skills, code reviews are like a really valuable way to get mentorship or to kind of create learning. Right? So getting that feedback on something you've done is like a great way to learn like new methods, new ways of thinking, right? And so that is really cool. There's also research that shows that code reviews can create a sense of community between folks, which is quite lovely. So yeah, there's kind of these other benefits to code reviews outside of you probably have to do it anyways, right? Like you're going to be asked to do it. So in that case, yes, it makes sense to kind of cope with this. Kind of to bounce off on your kind of note about frameworks, right?
Starting point is 00:47:51 The key thing about having frameworks or like coping mechanisms is to learn how to apply them flexibly, right? You're not like, I am going to always do things that like make me anxious always from now on. No, terrible idea, Right. Yeah. So you have to be flexible about that. But even with your framework of like, hey, this code is like basically a stranger wrote it six months ago. Right. Like you also don't want to apply that so rigidly that when someone's like, hey, I really love this thing you did. You're like, oh, someone else wrote that. Like you know like like that's how you
Starting point is 00:48:25 don't call that selective identification you know i'll take this one yeah like you want to like be like yeah i did that that was pretty cool right and like feel proud of yourself and be like hell yeah like i'm pretty skilled and i'm awesome like so you know you have to be flexible with that as well so yeah that's fair take the compliments and then when there are criticisms just that was somebody else. That wasn't even me. Oh, that was someone six months ago. I don't even know that person.
Starting point is 00:48:48 Yeah. I don't like me from yesterday. Yeah. So I just heard that Netflix has more than 18,000 titles globally, but here in the U.S., only 6,000 are available to us. That means you're missing out on literally thousands of great shows unless you're using ExpressVPN. So Netflix hides content from you based on your location,
Starting point is 00:49:18 that's your IP address. And ExpressVPN lets you change your online location so you're able to control where you want Netflix to think you're located. They have servers in 100 countries so you can gain access to thousands of new shows and never run out of stuff to watch. This works with many other services as well. Disney+, BBC iPlayer, and many more. So one thing I really appreciate about ExpressVPN is their blazing fast speeds. You'd think because, well, it's a VPN, it's going to be slow. No, you can stream
Starting point is 00:49:53 in HD with zero buffering. And they're also keeping you safe and private and secure by rerouting all of your traffic through an encrypted tunnel, which is awesome. So if I want to watch something on Netflix that is not available in the U.S., it's available somewhere else, all I have to do is tap one button to connect ExpressVPN to a tunnel somewhere else, refresh Netflix, and there it is. So be smart, stop paying full price for streaming services and only getting access to a fraction of their content. Get your money's worth at expressvpn.com slash changelog.
Starting point is 00:50:28 Don't forget to use our link again, expressvpn.com slash changelog, and you'll get an extra three months of ExpressVPN for free. Enjoy. I do like what you brought up, though, about the positive side of things, because there is, we've been camping out on this anxiety because that's the whole entire point of the research. But then there's the flip side, which is the not catastrophizing, the not truth that you thought it was, which is unification, better connection. So the easiest way to get out of conflict is to come together, right? You know this, Carol, because you're a psychologist, right? If you have this connection, the only way to get connected is to connect, is to be around each other more.
Starting point is 00:51:12 And so the code review process can be a very beautiful thing. And I would say with a caveat that if the team dynamic and framework is sound outside of the code review. You must have to also approach the teamwork, culture, and aspects of what it actually takes to run the organization and the teams to ensure that a positive code review is possible. Because if you don't have respect, empathy, et cetera, in that team dynamic, you're going to have anxiety-filled code reviews.
Starting point is 00:51:46 Yes. But if you have other things happening outside the code review that brings people together and also the code review that brings people together, you're going to have connection and not disconnection. Yeah, absolutely. So, I mean, something that I really stress in these workshops too, is that like, it's rational thinking, not positive thinking, because you might have a thought like Jared's going to nitpick this, like Jared always nitpicks this. And like maybe Jared does always nitpick this. Sometimes Jared nitpicks. You know, like maybe that's just Jared's thing, dude. Or, you know, maybe you have a thought like Jared doesn't like me.
Starting point is 00:52:21 And you're like, actually, no, Jared doesn't like me because the other day he literally looked me in the eyes and said, I don't like you. Right? Like, it's not helpful to be like, he loves me. He won't nitpick it this time. Like, that's not reality. Exactly. So in those cases, you might be like, okay, well, like, Jared is going to be mean to me. We know this. Jared doesn't like me. Right? So what are my thoughts about that? I might feel like that's personal, like because Jared doesn't like me and Jared is going to nitpick, that means there's something wrong with me. Right. So then like you might think, OK, this is going to happen. It sucks. It's going to happen. But that doesn't mean that like I'm the worst thing ever. It's really interesting, actually. So something that I really love about love being, you know, I know, it's like a sad thing. But something I love about social anxiety is that with the other kinds of anxieties, we often talk about, you know, the probability people overestimate the probability, and the probability is usually very, very low to none, right? So with panic attacks, right? You're like, if I hyperventilate, that means I'm going to have a heart attack and die. And you're like, that's not going to happen. Okay. But with social,
Starting point is 00:53:28 you have these ideas of like, people are going to laugh at me. And it's like, you know what, they honestly might, like the probability isn't zero with social like situations. So it's kind of an interesting thing where it's like recognizing the realistic probability instead of saying it's not going to happen. And instead really hammering it on, okay, like what's the cost of this? Like, yeah, someone laughs at me. Does that mean like I'm the worst thing ever? Like, what does that mean? Right.
Starting point is 00:53:53 Maybe this person is just kind of rude. I don't know. Right. Yeah, that's interesting. You have to put both of those factors into your equation, basically, not merely the probability of it happening, but if it does happen, which you already have thought about the probability of that, but it could, and if it does,
Starting point is 00:54:11 what's the actual real cost or consequence or how you look at that? And not the catastrophized one. Sometimes you need somebody else, by the way, talking about connection. Sometimes when we catastrophize, it's helpful to talk to somebody else who's not currently catastrophizing, who also might have a penchant for that. Sometimes you get two catastrophizers together and just go
Starting point is 00:54:28 bad. It's a bad situation. It's a bad situation for sure. Yeah. This is why it's nice to have a partner that the counterbalances you. They can help you to say, is that really what would happen? Isn't that building? Aren't you putting an assumption on top of an assumption there, which is dangerous. But if it it does happen what actually would be the fallout not the fake fallout i'm thinking of but a realistic fallout right and that it could be a high probability of it happening but the consequence like who cares right or it could be a low probability of happening but if it does happen wow maybe i could lose my job now we have to like seriously think about it so i think that's that multivariate thought process, I think is very, very powerful.
Starting point is 00:55:06 I always encourage people to think about like, okay, like, so let's say this thing happens. Like, so what are you going to do? Right? Because sometimes people will be like, I wrote a bad code review.
Starting point is 00:55:16 They're going to fire me. And I'm like, okay, that probably won't happen because of a single code review. But let's say you get fired because people do get laid off and people do get fired. So you got fired. Like, so what? And they're like, well, that's just bad. And I'm like, it is bad, but is it the end of the world? What's going to happen here? Like, oh, well, I mean,
Starting point is 00:55:37 I guess I have some savings put aside, so it'd be okay. And I'd look for another job and tap into my network and they're like, okay. So it's not the end of the world is what we're saying. Right. I think sometimes like taking that extra step, like jumping off that cliff, so to speak and be like, now what? Right. Oh, it turns out I had a parachute. Like, cool. Right. Is the toolkit, is the toolkit that you provided during the study, is it published somewhere like standalone or? Yes. I totally forgot to mention this. I guess I should also mention that, you know, the results of the study were is it published somewhere like standalone or? Yes. I totally forgot to mention this. I guess I should also mention that, you know, the results of the study were good. People got less anxious just to kind of put that out there. Awesome.
Starting point is 00:56:12 They also felt like they could handle their anxiety more and they were more self-compassionate. So really good findings all around for a pretty rigorous design. So because the study results were good, I wouldn't have done this if the study results were like, this doesn't work. Right. I actually created a workbook. So me and my coworker, Kristen Foster-Marx, we created like a kind of self-guided workbook so that you can work through the intervention yourself if you wanted to. And then with this workbook, the kind of mini toolkit is also there as well.
Starting point is 00:56:40 And then we're also actually in the process of working on like a themed retrospective template. So we've got a few requests from folks who are like, I want to talk about code review anxiety with my team, but I don't know how to do that. We're like, well, like, we can write you a little template on like how to do that, for example. So yeah, both of those things are publicly available. I can provide a link and folks can kind of check it out if they want. Aside from this research, and this workbook you mentioned, have you, or is this, I suppose, have you is one question, but then is this practice formalized in any way?
Starting point is 00:57:14 Because I'm thinking like, gosh, you could probably go out there on your own and make a killing, just going to team, to team, to team, to instantiate culture, love, respect, empathy, etc. Those things that are connection forming at the team level. And then also just like in a lot of different ways, because I think we have a show that's on hiatus, maybe forever, called Brain Science. And this is part of my goal with that show. So we produced a show, 30-ish episodes. My counterpart was a doctor in clinical psychology. So very much similar to your type of role and your background. And I was the layman. I was a lay
Starting point is 00:57:52 person. I didn't, I was just curious about brain science and behaviors and all these different things, you know? And so we navigated lots and lots of conversations. I think you would actually really enjoy it based on this conversation. But one of my thoughts with that was that there is just so much missing out there, almost so much that there's missing in your field and your expertise and the ability to apply it and the ability to framework it and educate that people just basically are walking around sick, right? Teams are sick. They're infected in a way. And without someone like you coming in with this workbook or this research to kickstart this idea, they will remain sick, right? And if they don't listen to this podcast, they're not
Starting point is 00:58:35 aware, right? To go back to one of the key aspects, the very first one, which was awareness, raise awareness. So I guess my question to you is, if it's not formalized in any way shape or form are you the kind of person that could formalize it to de-sickify a lot of these teams and people to give them some ammunition and awareness to better cope with prs code review team culture and just ultimately create better teams to create better software that creates better companies that creates better on and on. Yeah, I mean, I would say that that's like the broad mission of our lab, the developer success lab. You know, I'm the clinical psychologist, but we've also got like a social psychologist, a neuropsychologist, you know, kind of working together to kind of help software teams, because as you say, we have this like whole wealth of human science,
Starting point is 00:59:23 and it's like not really applied to developers. Like sometimes people will like apply things like take a personality test. And I'm like, that doesn't do anything. Like move on. Right. Like no, no, no. Enneagram.
Starting point is 00:59:34 Yeah. I hear that a lot. I believe in those things. Those are good things, but like on their own, they're not, they're not the solution. It's a framework of solutions. Exactly. Yeah. And so, you know, we do our best to kind of provide the science for it. I mean,
Starting point is 00:59:48 if there was a way to formalize it, like, yeah, I would totally jump on that. I do a lot of like, I mean, I'll speak at conferences and I always end up like chatting with folks one-on-one who are like, can you help me with this? And I'm like, I mean, can I eat lunch? But also, yes, like, like, let's talk while I'm eating,, I'm like shoving the sandwich in my mouth. Right. So I think things like that happen a lot. So you're right that like, you know, a formalized process would be really cool. I'll tell you what, Adam, like you find the people and I'll do the thing and like we'll
Starting point is 01:00:16 get it together. Yeah. Okay. I was going to put it all back on you. So my response to your if it could be formalized was guess what, Carol? It can be. And you should do it. Adam likes to assign homework as part of our show.
Starting point is 01:00:28 I know, seriously. Okay. Yeah, I believe in you. This is great research. I think you're very smart. The way you think about this is exactly the way I think it should be thought about. I mean, I'm, again, the lay person in this scenario, going back to my brain science scenario
Starting point is 01:00:41 with Mara Reese, who is an amazing human being, a lover to death. She's awesome. And she was a great co-host with me on that podcast. We did a lot of great work, but it was unfinished work. And I don't know if we are able to finish that work, but I believe in the work required and what could be done. Because the journey with that podcast was just simply where we got. It was way more than where we got. There was so much more to do. And the reason I was so motivated by it was because I had a curiosity. I think that's where you begin. But at the same time, there's so many people out there that don't connect their brain
Starting point is 01:01:14 to the humanity they embody, right? Like me and my brain, and there's certain things about the humanity of human beings and being a human. Like, okay, I get upset because I'm human. I'm hungry. Okay, that makes sense. It's not because I'm a terrible human being get uh upset because i'm human i'm hungry okay that makes sense it's not because i'm a terrible human being it's because i'm hungry that's why i'm upset let me eat you only eat one meal i know i was gonna say because well mad or whatever oh mod yeah oh mod hey i'm not angry right now are you hungry no i don't like getting close to that time you're getting your. Like I would be hungry. Sorry. I didn't, I didn't, I'm sorry.
Starting point is 01:01:46 I shouldn't have brought it up. But see, I'm a strong human being. I'm strong because I have my framework. Oh yeah. And he front loaded. I front loaded. Thank you, Jared. And he trimmed his nails.
Starting point is 01:01:56 That's the key. And he has socks. I do got, I'm wearing some socks. Right in a rock. But I believe in you. I think it can be done and you should do it. I, you know what? I think it's funny.
Starting point is 01:02:10 My coworker, actually my manager, Kat Hicks, we always say like, you know, there's agile coaches, but what really people really need is like a psychology coach for a software team. Like every team just needs like a psychologist coach, like really, but you know, until that's some i don't know if that's something people would actually invest in but if they did like i would be there i think they would thanks adam i really do i i mean i have that belief because of my history
Starting point is 01:02:35 with this show we did this show when we start that show jared four years ago pre-pandemic let me see slash one i'm going to slash one and i got episode one published august 6th 2019 there you go so i've been thinking about this idea for a while and i know this challenge is out there because that's why we're having this conversation you know it's out there because you did the research you did the six long workshops one hour each and you did all the data and you wrote this paper. Two hours each, Adam. Sorry, two hours. Give me the credit. My bad. Yeah.
Starting point is 01:03:06 Thank you. Two hours each. So I do believe there is this challenge out there. And I think that it begins somewhere to solve the problem. Right. Well, I think this paper might be your... Okay, listeners, if you want it, drop a line. We'll start it there.
Starting point is 01:03:22 What's the best way to get in touch with you? You can email me okay carol s lee 29 at gmail.com we'll put that in the show notes so if you have a team that could use a psychologist or just some of the workshop or workbook you want to be a guinea pig for the beginnings of this what was it the the the design lab what was this developer success lab developer oh my gosh you got a name and everything that's amazing developer success lab if you want to be the guinea pig and developer success labs very first workshop for getting your team together reach out to carol links in the show notes yeah all right so carol you have learned from us multiple anxieties that we hold and cherish.
Starting point is 01:04:08 Gosh, we really shared much of your own anxieties. Here's what I think. I also know, you know, what Adam eats for breakfast. So I'm feeling really good about this. Yeah, no, I love it. I'm curious as a clinical psychologist, do you ever get anxious because of the expectation of people have that you of all people should have everything together all the time? Because, you know, you have all the answers about how to. That's such a good question. I love that.
Starting point is 01:04:34 Ever thought about that? Yeah. So this is something that you learn very early on in grad school because you absolutely feel like you have to have your together in order to do the thing. But you do not have to have your together. You just have to be aware of like what your is that's why i keep saying that sorry person bleeping things yeah three times no big deal sorry just three bleeps it's easy so yeah i mean i mean i feel anxious absolutely i experience anxiety the other day i like stayed up like late because i was like oh god like did i do the thing correctly i don't know like should i check my email no like i should just like let it go right like, like, did I do the thing correctly? I don't know. Like, should I check my email? No, like, I should just like, let it go. Right? Like, we all have these
Starting point is 01:05:08 moments. I think, you know, that's very normal. That's very human. I kind of think of it as like, a psychologist isn't someone who doesn't experience like, stress or distress, because that would be inhuman. And that would be super weird. Also, like, why would you ever want to like, talk to a psychologist who doesn't experience stress? Like they can't relate to you in any way whatsoever like that would be weird right but i think about a psychologist as someone who's like aware of it and knows how to manage it they don't manage it perfectly every time but they try and that's like the best that we can do as people right also like you're always going to be better at helping other people than you are at helping yourself like that's just how we are so yeah can i help myself real quick here because i i may have layered that on for you
Starting point is 01:05:49 in this podcast yeah because you just declared her to be the expert for everybody well that just now but at the same time i i stated something and because i assumed she's a trained psychologist i said you know this carol i said that like twice at least. I mean, yeah, that's okay. I noticed that in retrospect. I'm like, maybe I was like putting that pressure on you. Because if she didn't know that, she wouldn't feel free to have said, I actually don't know that because you had already assumed. Yeah.
Starting point is 01:06:16 My front loading. Did you hear that? Did you feel that? I didn't feel that. I didn't know the term, but once he started talking about it, I was like, oh yeah, I know what you're talking about. Yeah. Which is why I said, say more.
Starting point is 01:06:27 I was like, say more about this thing. That was very savvy way of responding i thought given that he front loaded front loading on i know that's right yeah no i did not feel that say more that's actually one of my favorite questions i love saying that it's one of my uh interview i don't have very many pro tips but like you know we've interviewed lots of people over the years yeah and tell me more or say more is one of the it's like you pull it out of your back pocket every once in a while you're just like tell me more because you know there's more in there and they just stop and they're waiting for you and you're like no just keep going that's similar to my how do you mean yeah it is very similar it's similar it's adjacent to that it's not the same but it's similar yeah yeah how do you mean is more directed it's like trying to get an explanation out, whereas say more like literally.
Starting point is 01:07:05 Just like expand on that. Expand. Tell a story, you know, define it, whatever, whatever makes you happy. There you go. Well, this conversation made me happy. I don't know, Adam, you feeling happy? Very, very happy. I dig it.
Starting point is 01:07:20 Is there a URL for Developer Success Lab? Yes. It's devsuccesslab.com. Okay. Is there a URL for developer success lab? Yes. It's dev success lab.com. Okay. Go there. And we're going to do what we can. We may look back at this podcast as history in terms of the spark where things began. Right.
Starting point is 01:07:38 We can look back at this as like, that's where that's a version of where it began. If this takes off, I'll come back on this podcast and we can be like, remember that time. Oh, yeah, absolutely. It'll be excellent. Yep, absolutely. I believe this a lot. I think this is super cool. So go there.
Starting point is 01:07:53 We'll put the link in the show notes. Carol, anything else we can say in closing? What did we not ask you? Is there anything left to be said? I would say anxiety is normal. You're not crazy or weird for having it. There's something you can do about it. Yeah, you're not alone. The end. Nice. You're not crazy or weird for having it. There's something you can do about it. Yeah. You're not alone. The end. Nice. You're not alone. Thank you so much, Carol. It's awesome.
Starting point is 01:08:11 Yeah. Thanks. Awesome. Thanks for having me. So you're not alone. If you have code review anxiety or anxiety at all. You're normal because I have anxiety and I'm sure Jared has anxiety and Carol has anxiety. It's normal, as Carol just said. And hopefully this show, this episode, this conversation was something that you could, one, enjoy, but potentially come back to again and again, just as a reminder of how we think about anxiety, coping, teams, et cetera, and the resources that Carol shared and obviously the workbook and the research paper she put out as part of the study. Links to everything are in the show notes. So we do have a bonus for our plus plus subscribers this time because you know we had carol she had time and we asked her one more thing and i think you're gonna love it if you're a plus plus subscriber
Starting point is 01:09:11 if you're not a plus plus subscriber go to changelog.com slash plus plus it's better you know what i think it is better you know what i know it's better because we've been told that is better 10 bucks a month, 100 bucks a year. Drop the ads. Get closer to that cool ChangeLog medal. Get a free sticker pack to your inbox, to your mailbox. So cool. And of course, shout outs on ChangeLog News. Once again, ChangeLog.com slash plus plus. Big thanks to our friends and sponsors, Century, 1Password, and ExpressVPN for sponsoring this episode. And a big thank you to our partners over at Fly.io. Everything we do here at Changelog is on Fly's network, their platform.
Starting point is 01:09:58 We love it. They're amazing. Check them out at Fly.io. And thank you, BMC, for the awesome beats. Breakmaster, you're the best. Okay, that's it. The show is done. We'll see you on Friday.
Starting point is 01:10:16 Are you familiar with the term margin? No. Can you say more about that? Thank you. I will say more about that. There is a book let me make sure that this chat gpt is not hallucinating on me in terms of the author of the book and i learned it from this book called margin literally and it's by dr richard. And loosely, it is the space, margin is defined as the space between our load and our limits. So in terms of some of the things we talk about in the podcast,
Starting point is 01:10:54 there's a certain amount of capacity someone has. And sometimes you're at your margin, you have no additional contingency, no additional capacity, and so the spiral may or may not happen as a result of that. So I was just curious if you had that because it leads to stress, burnout, anxiety, catastrophizing. All these things we talked about in the main show is this idea if you can manage your margin, ensure you have room, so to speak, right? Like you mentioned anxiety about an email. Well, maybe if you had less to do and your margin was more, you might not have that anxiety.
Starting point is 01:11:36 So I was curious if you knew about this concept of margin. I was not familiar with this before. So thank you for bringing this up. I don't want to like knock on this person because I don't know this person. This person is very smart and lovely and amazing. I think that when it comes to things like load, we often kind of over-index on it a little bit.
Starting point is 01:11:57 Like there's this like kind of misunderstanding that if we have too many things to do, like we're always going to... Hang on...

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.