 I'm Rebecca Miller-Webster. I'm the CTO of a small consulting company in Chicago called Polymathic and we're hiring standard comment. I'm also the founder and organizer of Rights Be Code, which is focused on increasing the visibility and leadership of women coders. Our conference is coming up June 15th through 18th, so tell everybody you know. And I've been building software professionally for like a dozen years now. I've worked as a developer where I'm the only developer, so I'm doing sysop, sysadmin, devops, all the things to customer support. I've been on big teams. I've worked in product and consulting and nonprofits. I've been an engineering manager in various ways, so sort of spanned the gamut of opportunities for developers and I've really come to believe that what we do as developers and technologists is that we communicate. And this is communication between servers, obviously, and our coding servers and different classes, but it's also what we communicate to users, what we communicate to the other developers on our team, to future developers, and to other business units. And I'm really interested in feedback, which I think of as the type of communication that tells us how we're doing. Are we successful at what we want to be successful at? And if you think about it, most modern software development practices, Agile, Lean, TDD are really focused on getting more and better feedback, and we know that feedback works. So studies have shown that by far the best way to detect errors in your code is to have a human person look at it and review it. But I think that we need to think about and optimize for all kinds of feedback, especially interpersonal feedback, because everything is feedback. It's not just what's said, it's what's not said. It's body language, it's who speaks up, who's interrupted, who stays quiet. So let's talk about feedback. So I'm going to talk about how and why I think it's important to create structures around feedback, frameworks for giving, requesting, and receiving feedback, how to give good feedback, and then we'll talk a little bit about feedback around sensitive and difficult conversations. So I think it's really important to create structures around feedback so that it's happening regularly. So this basically kind of means more meetings, but I think it's really important because giving negative feedback, especially effective negative feedback, is difficult for everyone. Giving positive feedback is super important and often doesn't happen enough, because as people we're actually more motivated by progress than we are by an actual accomplishment. And positive feedback is what tells us that we're making that progress. And I think regular feedback builds trust and safety on a team. And people might give you silly feedback and that's okay because you're sort of showing them that you're trustworthy and you can listen to what they say. And ideally we have a culture that has ad hoc feedback all the time, but the problem with only having ad hoc feedback is that it burdens the person who has a problem. So they have an issue, they have to get up the courage to talk to you, just to talk to you about the issue. But then they also have to get up the courage to schedule a meeting and like have a vague subject line and then set the precedent for the meeting. So reducing that barrier to getting that feedback is helpful. In terms of structures around feedback, I think the ones we think of often are one-on-ones, which are usually manager to employee. I think we missed the boat a little bit in giving feedback to our teammates and peers, whether that's during a pairing session or otherwise in your day. One-on-one feedback is really great because there's a sense of safety and you just talking to one person, right? That said, depending on the relationship you have with that person, it can actually feel easier to give feedback in a group setting because you might know that there's other people that would back you up. So retro stand-ups, course, mordems, we kind of do this already. And the other type of feedback is indirect feedback. So I worked at a startup where every month we had a survey and they asked us questions about like how happy you were at the company. And we reviewed the results of those surveys along with business metrics every month. And then there's obviously written reviews, but there's also observation. So if I see you talking to someone else, I'm gonna assume that the way that you respond to that person is similar to the way that you'll respond to me if I say something like that. So we can't always control for observation, but creating regular structure and regular meetings around feedback allows us to sort of even out that data point and have more data points so we average out a little better. In terms of feedback timing, a lot of the practices we use focus on feedback during and after a project. So stand-ups, retros, postmortems, all of those things are great. I think we miss the boat a little bit in giving feedback before we start a project. So I'm a chronically late person. I was a late for first grade and so on and so on. And you know, not that it's a good thing, but it's something I'm working on and will probably work on for the rest of my life. But if I work with someone who is really focused on punctuality and that's really important to them, then we might be set up for conflict or failure in a lot of ways. But if we could talk about that ahead of time and I can understand the areas where it's really important to them and they can maybe give me a break on some of the other things, we're more likely to be successful and to collaborate successfully. And the other feedback that I think that we don't do great is cumulative feedback. So usually you have performance reviews, but it's not really cumulative because it's more like just like a vomit of feedback all at once. So it doesn't really give us the opportunity to look at patterns and whether changes have happened. Did you get feedback? Did you respond to it? Are you moving forward? So we don't really do that very well. So like most of you, I suspect that you like protocols. And so I think it's useful to have frameworks for giving feedback, requesting feedback and receiving it so that if you're in a little bit of an emotionally charged situation or you're upset, it's just easier to sort of communicate and you have something to kind of break down. So giving feedback, the goal is really to have a better relationship with someone. So if you work with someone, you have a relationship with them, you don't have to like them, you don't have to be best friends, totally fine. But it would be swell if that relationship was better, right? And you could work together even better. So that's the main goal. And the second goal with giving feedback is not creating defensiveness. Because once that sort of shield of defensiveness is up, you're not going to get through to them. And if anything, they may do the opposite of what you're asking, because they feel like they have to justify themselves or they're not really listening. The best way to not get people to be defensive is to talk about actions and not the person. So you're a terrible developer and your code sucks is about the person saying, I think this method is really long and overly complicated. Maybe it would make sense for you to break it up into smaller methods is about the action that they took and giving them an action for them to perform and move forward. The other thing is, as engineers, we like to be efficient. But in these sorts of situations, I think it's really important to remember the niceties. So, hi, how are you? Like starting with a base level of we're two people and we're talking, I don't love small talk, don't go crazy with it. But that sort of basic just touching base how's everything going I think sets a good tone for having these conversations. So the framework that I like for giving feedback is called situation behavior impact. So you want to set the situation. So last week, when there was a serious bug in production and the site went down, we were all working really hard to get things back up. Talk about the behavior that person did. You forced push to master and deployed production with to production without telling anybody. And then it's important to state the impact. So quantifiable impact is great, like the site was down for X amount of time or we had X amount of bugs as a result of this is great. But I also think it's important to talk about the impact it had on you as a person. So I felt apprehensive that we might have introduced new bugs because our code didn't go through the normal channels. And I felt irritated that I worked on something that you'd already fixed. Kind of humanizes the conversation. And if you can provide a recommendation. So I know it was a stressful situation, but I think it'd be best if you check in with the team before going outside our normal protocols, right? And that can also be used for positive feedback. And again, I think positive feedback is really important and often something that gets overlooked. Using situation behavior impact helps you give genuine positive feedback. So just being like, you're awesome is great. But it doesn't really tell me what I should keep doing that I'm doing well, right? I had a birthday a couple of weeks ago, and a good friend of mine who's a teacher gave me a card and it said you are awesome. But then she like wrote a list of the ways that she thinks I'm awesome, which felt really good. So it does work. And the other thing to think about is that you think about a scale negative feedback weighs more than positive feedback. So if you're only giving someone negative feedback, the impression that you're giving them is like, they're just terrible and negative 1000 right, but maybe they're really only like negative 50. And going from negative 50 to zero feels a lot easier than negative 1000 to zero, right? So studies have shown that it's like three positive statements to counteract one negative for some people or situations it's up to 10. But something to consider. And then I do think you can combine positive feedback and negative feedback, but they need to have the same context, saying like your hair is really awesome, but that Cody wrote sucks, not the same context. But so I had an employee who, you know, got a request from a client, told the project manager just went ahead and did it because there was all this back and forth. We work at a consulting company, we got to make sure we get paid, right? And he just went ahead and made the change because it was simple. And so when we talked about it, I said, look, I totally know that you care a lot about this client, that it was in a lot of ways more efficient for you just to make this change than to have all this back and forth outside it. But as a consulting company, we have to get paid and we need to make sure that's happening. So that's sort of the same context. Here's like the good part of what you did. And then here are the things that could be improved. So receiving feedback. Again, the goal is to have a better relationship, but this time it's sort of how can you change and improve? And the biggest aspect of receiving feedback is to listen. I don't say that to be patronizing, it's because listening is really hard. Our brain is basically wired to look for a novel stimuli and actually paying attention. And listening is difficult and requires practice and effort. The other thing is to ask questions to understand. So make sure that you fully understand what someone is saying before you kind of think about responding to it. And the last thing is to say thank you and follow up. We all know that it's hard to give feedback and I think it can be easy when you're getting feedback and maybe it's not great and you feel a little uncomfortable or attacked to want to respond right away. But in some ways, just thinking that person for taking that time can change the tone of the conversation. And also it's acknowledging that they did something that was maybe a little difficult. So I have a friend who's a couples therapist and I was asking her what the difference between individual therapy and couples therapy was. And she said that with individual therapy, it's all about one person's inner experience. And with couples therapy, it's about how do we get that externalized? How do we translate and communicate the connection between those two people? And this is a technique that she uses with her patients to get them to do that. And it's called mirror empathy validation. So mirror is listening to what someone says and then repeat what they say. You want to confirm that you really do understand what they're saying. Empathy, show that you understand what they feel and why. And validation, ask questions to follow up that show you're listening. So mirroring, I hear you say, law, is that correct? Am I correct in understanding that when I forced push to master and deployed to production, you were upset that you had to do extra work and worried that it would cause more problems. Just summarizing and confirming are we on the same page? I really think that at the end of the day, people want to feel heard. And that's actually more important than you doing what they want. They want to feel like you heard them and understood their point of view. And summarizing is a way to show them that. So empathy, lots of talk about empathy. There's lots of research and things about empathy. But I think fundamentally, empathy is about a curiosity about people. And hopefully we're all curious. That's why we're developers. So how does this person think and feel and work and using that curiosity to try to understand that before we kind of pass judgment on it. And it's also an opportunity to make a connection between your own experience and their experience. So we're not all going to have the same experience, but we've all felt angry or sad or frustrated. And so we can say, oh, I know it sucks to feel that way. Basically, this is the crux of empathy. A person's reasoning and emotions are valid even if you don't agree with them. You don't have to agree with the premise. You don't have to agree with the actions that they took as a result of it. But there was like an if then, you know, if I feel sad, then I want to not feel sad. And like outside that you may or may not agree with they did, but we can sort of connect with that, that inner logic. And the other thing is that empathy is a skill and it's a skill that we're not taught very well in general. But because it's a skill, it's something that we can learn and practice and get better at. So a couple of things you can do to improve your empathy skills. So one is to listen and summarize what people are saying. Really try to focus on listening and hearing what they're saying, summarize it, even if it's in your head or you write it down if you feel weird saying it out loud. The second thing is to recognize and name your own emotions. We really don't do this well. We say I feel followed by words that are not emotions. So just starting to think about and reflect on your own feelings and how you felt in a situation is helpful to to be able to connect and see that in others. And the other thing is that we all sort of have this like movie monologue going in our heads, whether it's like, what am I going to make for dinner? What am I doing this weekend? Do I have to pick up the kids? And trying to sort of shut that out and really focus on the person that you're speaking with. Cool. So requesting feedback. The goal of requesting feedback is to get honest and actionable feedback and regular requests for feedback are more likely to elicit honest and comprehensive feedback. So you might get silly requests first. So Rebecca, please don't write with the yellow pen because I can't read it said my fifth grade teacher, right? Kind of silly. But then if I stop writing with the yellow pen, I'm showing her that I heard what she said, and I'm building a sense of trust. So then the next time the person will ask you something more substantial. So I use this with my team, probably annoys them a little bit, but I'm fine with it, which is that I make them give me one thing that I should start doing one thing I should stop doing and one thing I should continue doing. And if you think about it, this is really what you want to know. What am I doing well that I should keep doing? What am I doing badly that I should not do? What am I not doing that I should be doing? And really getting people into the mindset of giving you this feedback by asking it over and over again on a regular basis. In the beginning, it's kind of like, you should not stop being great or whatever, but then they start to think about it over the next month or whatever, and you start to get more comprehensive and actionable feedback. So if you remember nothing else from this talk, I hope you'll remember to listen and ask questions. So how to give good feedback? We've all gotten crappy feedback before probably, I hope. Well, I don't hope, but I hope it's not just me. So good feedback is actionable, specific and kind. So saying you're always an inconsiderate, irresponsible jerk, and don't listen to anything anyone says, not actionable, specific or kind, it's not contextual, it's not about a specific event, even though that that might be true. But in general, using words like always, not the best in giving feedback, it's better to cite specific examples. So, you know, not you always do what you ever want, whatever you want without talking to the team. Instead, that one time when you deployed a production without telling anybody, you didn't talk to the team. And the other thing that good feedback is that it encourages the team and it's within the recipient scope of skill. So you may have to ask them to do something or make a recommendation that isn't really the full thing that you want them to do. Because they might not just be ready for that, maybe they need to take a baby step. So if you have a manual QA person, and then you're mad that they can't debug something in the JavaScript console, like, it's not really encouraging because it's not really within their scope of skill. If you want someone to do something that's a little bit above what they can do, pair with them, work with them about it, but make sure that what you're asking is something that's a little bit of a stretch, but not so wide of a stretch that it just makes them feel helpless. And the last thing is to speak from your own experience. It's easy to sort of say, hey, I'm pretty sure that person was pissed or whatever. But that's sort of debatable in some ways. So talking from your own experience and how you experience the situation. So if I'm in a client meeting and someone interrupted someone, I could say, man, that client seemed really mad that you interrupted them. Or I could say, it made me really uncomfortable when you interrupted the client. And I'm really worried now that they're not happy with us. The second part of good feedback is actually about receiving feedback. And that's accountability. So, you know, in retros, we review previous actions and see what's been done. This is really important because it also gives you an opportunity to say, hey, I totally forgot to do that thing you asked, but I'm really going to try to do it this next time. The other thing is to explain why you did what you did, especially if it was against their recommendation. So I know that half of the team is really, really believe that we should use Ember for our new feature. And the other team thinks that we should just do it all server side and return HTML fragments. And while I totally understand the value of having structured code on the front end, I think right now performance is more important. So I'm explaining why I made a decision. I'm acknowledging the other ideas and opinions and where they're valid. And then the last part of this that I think is really important and people often miss is to review the results. So set a meeting for one month, three months, talk about what it looks like to have this be successful because it makes people feel like they're being heard, but also their voice will still be heard in the future and nothing sort of setting stone. The key thing to remember about accountability is that without a response, people are going to stop talking. So it's really like a back and forth. If you want people to give feedback, you need to respond to it in some way. Okay, let's talk about hard stuff. So we live in a society that has oppression, right? Racism, sexism, homophobia, transphobia, all of those things. And really oppression is about the unequal distribution of resources, whether that's money or education or influence or people. And that's really what power is. It's about access to resources. And power can be formal and informal. So your boss has power over you. But so does the CEO's best friend, Sun, who might be an intern, but he has dinner every Sunday with the CEO. There's a level of power there, even if it's not formal. And the thing to remember about feedback is that words from a person with power have exponential impact. So it's worth considering the power dynamics between you and someone else when you're giving or requesting feedback. Power dynamics exist whether we acknowledge them or not. They exist all the time. And and that's okay. But in some ways, not acknowledging them makes them more insidious because we can't talk about them. So I've been a woman in tech for a long time and early on I got asked a lot not as much lately, you know, what's it like to be a woman in tech? And the way that I would describe it is that there's sort of patterns of behavior that come up over and over again, getting interrupted in a meeting, having my ideas ignored, things like that. So it turns out some smart academics came up with a word for this, and it's called microaggressions. And the idea is that they're unintentional daily acts that reinforce stereotypes and oppression. So for the person doing the action, it's totally unconscious, relatively insignificant, it's a small thing. For the person experiencing it, it's part of a larger pattern that builds up to be very obvious that it's a pattern and a problem, which makes it very difficult to talk about, right? Because for one person it's relatively insignificant, for another person it's actually kind of a big deal. So some simple examples, tone-fleecing, calling women aggressive, telling people of color that they're so articulate because that's shocking, asking people where they're from, if they don't look like a white American. The other thing is othering, the idea of making someone feel like they're not part of the group. So everything I know about football I learned from the blind side with Sandra Bullock. So if fantasy football or something like that was a part of your main team bonding activity, I would not feel super a part of the group because I basically don't know anything about it. So thinking about how you can have inclusive group activities or a variety so that people are always feeling included. So one of the biggest challenges about experiencing these things is that it's really hard to call someone out. And often people don't because they're afraid of how someone will react. I think that during emotionally charged situations it's not the best time to have a deep discussion about oppression and whether you feel offended and why. And in fact having, thinking about having that discussion often prevents people from saying anything. So I think it's actually more helpful in a situation like this to just say that makes me uncomfortable. Please stop talking about that. Please stop doing it. Period. But then how do you respond to that? Say thank you. Again, sounds weird. I think it humanizes the conversation. It took a lot of courage for them to call you out, whether you kind of see that or not. And then if you really genuinely want to know how to improve, ask if you can follow up with them. Can I follow up with you? I'd like to better understand what I did wrong. So again that moment is probably not the time to have that like intense discussion. But I do think that someone took the courage to call you out and tell you that your behavior hurt them. You can then meet them halfway by having the courage to say, okay, can we talk about this in two days? And then actually do it. So if you're at a stoplight and you rear on somebody, there's lots of scenarios, right? Like could have been totally you weren't paying attention, could have been they break really fast, variety of things could have happened. But either way, you stop your car and you get out and you give them your insurance information, right? You deal with the impact of your actions before you talk about the intention. And I think that's really important to think about in this, especially with microaggressions when we know that they're unintentional, like they're by definition unintentional. And so it's not that your intentions don't matter. It's that we have to acknowledge and deal with the impact of our actions before we can talk about the intention. So a framework that I really like for difficult conversations is facts, feelings, needs, requests. And this is called nonviolent communication. So similar to the situation behavior impact, state the facts. When we were pairing the other day, you move the keyboard over to your side of the table and I couldn't reach it, right? Not when we were pairing, you grab the keyboard and totally cut me out of the whole conversation. One of those is with commentary. It doesn't really start us off on the same foot. Let's like understand what we did with basic facts and then talk about the feelings that it made you feel. Now, as I mentioned, we say I feel followed by words that are not feelings a lot. I feel judged is not a feeling. It's an accusation. I feel inadequate is not a feeling because a toaster can be inadequate, but a toaster can't be angry or anguished or hurt or sad unless it's like a Disney movie or something. But we're going to put that to the side. So, you know, I felt irritated and insecure when you move the keyboard to the other side of the desk. And then we all have human needs, right? Food, water, shelter, etc. And we also have higher needs and often conflict stems from one person having a need that isn't being met. So think about what you needed in that situation that you didn't get. So I needed to feel respect from my colleagues and to feel open to communication and a sense of safety to not know everything when I'm working with you. Those were the needs that weren't being met. And then I think with difficult conversations, especially, it's really important to make a request. You know, you're not going to sort of magically totally change somebody, but making a baby step is always some level of progress. So in the future, could I type while you drive when we're working on something that I don't fully understand? Or could you at least ask me before moving the keyboard? So I think that what's really hard about these conversations is that we immediately are like you get defensive. It's much easier to get defensive. We all feel uncomfortable. Every time I bring this up, section up, like the whole room gets a little uncomfortable and I feel it. But if we sort of switch our mindset that thinking about diversity and empathy is really a learning opportunity. It's an opportunity for us to understand and learn about other people's life experiences and how we can better support them and how our actions affect them that we may not even think about. So thank you. Go forth, give feedback. Don't forget your frameworks. Thanks. Does anyone have any questions?