00:00:00.030
Welcome, everyone! We're excited to have Betsy Haibel here with us today. Betsy was born in Ohio and lived on a goat farm for the first five years of her life. She later moved to Washington, D.C., where she is currently based. Over the past ten years, she has worked in theater, and last year, she founded a co-op called Cohere, which focuses on developer education, mentoring, and providing guidance in architectural advice to other developers. Today, Betsy will be discussing the challenges of pair programming and the hazards of pairing with people who don't look quite like you.
00:00:41.160
Thank you, everyone, and good afternoon. As Rose mentioned, today we're going to be talking about pair programming from the perspective of individuals who come from different demographics or backgrounds than you do. A lot of existing pairing advice assumes that you're pairing with individuals who share the same societal power dynamics, which can limit the effectiveness of those collaborations. This limitation becomes particularly evident when the individuals involved do not share similar experiences or privileges. In these circumstances, there is significant room for unconscious bias to manifest, and it can be quite challenging to provide honest feedback about these situations.
00:01:17.430
Today, we will explore ways to address these dynamics and create better pairing experiences for everyone. Before we start, I want to share a few disclaimers. I assume that the negative behaviors I'll be discussing are generally accidental. The advice I provide is aimed at helping create temporary safety with someone who may be unintentionally prejudiced. If someone is consciously harmful and does not care about their behavior, then the most effective solution is often to remove yourself from that situation.
00:01:55.030
Additionally, I will discuss strategies that underrepresented individuals can use to protect themselves in difficult situations. While it is ideal for those with privilege to shoulder the responsibility and emotional labor of rectifying these situations, I understand that the woman I was five years ago needed practical ways to cope with unfair dynamics. I will draw from a workshop I developed in collaboration with Jennifer, my business partner, who is a Chinese-American. My hope is that her perspective and experiences will enrich the insights I’m sharing today.
00:02:34.110
Now, let’s dive into a story from back home in D.C. There's a programming camp called Ruby D Camp, similar to Rails Camp, where around 70 developers gather in the woods every year to focus on coding without distractions from the internet. During the opening day, we participate in a code retreat where we pair up to work on problems. Every 40 minutes, we swap partners and restart the exercises, continuing this for six rounds, which provides a fantastic opportunity for intentional practice.
00:03:03.750
However, my own experiences at these camps haven't always been positive. There have been instances where I paired with a more experienced male developer who misjudged my skill level and treated me as though I was much more junior than I am. Though he was kind to junior developers, I had been programming since I was eight years old. Midway through the session, he realized he had taken control of the keyboard and shifted into full teaching mode, which left me feeling sidelined. He later apologized, and I appreciated his sincerity. We are good friends now.
00:03:43.020
Notably, I've refrained from using names in this story, not only because I have experienced similar situations twice—both times with individuals who have already discussed it publicly—but because these experiences highlight the unique challenges that many face in pair programming. We tend to laugh about such instances together, but the reality is that many scenarios do not result in humor. There are countless times when I felt drained after pairing with someone who overshadowed my contributions, prompting me to take long walks to decompress or hide in the bathroom, unsure if I was on the verge of tears.
00:04:22.590
While I've had my share of difficulties as a queer white woman, I know the challenges are compounded for women of color. Many of us feel we cannot embody the developer stereotype. Male developers often observe the dismal diversity statistics in our field and think, 'Wow, so many men are sexist,' without recognizing their own biases. I strive to be better, to not contribute to those dynamics, and I am grateful to have a trusted colleague like Jennifer, who calls me out when I make mistakes.
00:05:00.230
Each year at D Camp, I find myself speaking with junior developers, particularly in the women's cabin. I help them process their own challenging pairing experiences with men who are often friends of mine, individuals who genuinely care about inclusion. It’s always surprising to see that someone who is deeply committed to making the environment inclusive can still exhibit jerk-like behavior. This observation underscores the need to evaluate our expectations when working with those from different backgrounds; we cannot always trust our perceptions of the situation.
00:05:40.350
In this talk, I plan to outline certain negative pairing behaviors and how to recover from them. The first step is recognizing when you're engaging in these behaviors. Chances are you might be, and my assumption is that you're in this room because you want to improve. There are various negative behaviors we commonly identify in pair programming, such as the classic keyboard hog or the 'well, actually' guy. However, there are subtler, less recognized behaviors that can deeply affect those involved.
00:06:10.340
One such behavior is thinking you are listening when, in fact, you are not. Often, I have noticed that when I share an idea, my male peers rephrase it almost identically, yet they somehow miss the essence of what I said. This lack of genuine listening does not happen as frequently when I pair with women. Another common issue arises when one pair shifts into teacher mode without securing the active consent of their partner, which signifies an inherent assumption of superiority. This effectively transforms a collaborative session into an unproductive imbalance.
00:06:49.620
These faulty assumptions underscore the need for humility in pair programming, as the process should be about collaboration and inclusivity. Two primary root causes can lead to bad pairing experiences, especially when there are different privilege levels at play. It becomes all too easy to make assumptions about your pairing partner, and when unconscious bias feeds into these assumptions, the interaction can become toxic. Moreover, if you focus more on solving the problem than on fostering an equitable collaborative relationship, you're likely to act in ways that reinforce poor dynamics.
00:07:25.360
When my peers are unkind, I don't just feel my time and energy are wasted; I often wonder if their behavior stems from sexism. Regardless of intent, addressing such behavior varies based on its nature. Losing focus on maintaining collaboration and trust leads to further complications. When my peers act dismissively, it is an emotional drain and requires that I juggle the potential sexism underlying their behavior.
00:08:29.580
Speaking of feedback, while it is essential, merely asking for feedback may not go far enough. The act of requesting feedback can signify that you hold your self-image as someone who requests feedback in high regard. I've encountered men who engage in this behavior, then transition to outright rudeness. When this occurs, the disconnect can make predicting their reactions to honest feedback exceedingly difficult.
00:09:00.840
Instead of fixating on requesting feedback, focus on listening actively to what is not being said. If your partner seems quiet or disoriented, it may be easy to label them disengaged, but consider the last time you felt frustrated with a partner for similar behavior. Did you assume laziness was the cause? Remember, when we treat underrepresented individuals condescendingly, we can unintentionally place them in difficult positions where they feel compelled to prove their legitimacy in the role.
00:10:01.050
These pressures can manifest as defensiveness, misplaced urgency in addressing trivial matters, or simply a reluctance to communicate effectively about larger issues. It’s not uncommon for someone to struggle to express their views when feeling marginalized. Instead of pushing for immediate solutions or feedback, prioritize creating an environment where genuine collaboration can thrive. This involves acknowledging that defensiveness, though frustrating, often stems from perceived threats.
00:10:39.690
On the other side of the equation, I occasionally struggle to recognize when I'm feeling uncomfortable. Afterward, I may realize I've suppressed that feeling to power through a pairing session. If you find yourself feeling uneasy, take a moment to check in with yourself—are you tense? Are you feeling defensive? What reactions are surfacing, and how can you navigate through them? Identifying these feelings is crucial to improving your interactions.
00:11:11.840
Recognizing bad dynamics is just the beginning; to recover, you must reset the prevailing circumstances. By definition, at least one person in a bad dynamic is experiencing negative emotions that require attention. Prior to recovery, you must address this discomfort. Unfortunately, direct feedback on negative experiences can often lead to misunderstandings, no matter how empathetic your approach.
00:11:58.490
Asking for feedback isn't a panacea; you might not know how your peer feels. It could be a minor irritation or something they’re unwilling to confront. Instead of solely asking for feedback, consider acknowledging the unspoken discomfort in the pairing situation. Requesting a break can provide both of you some space to recalibrate your mindset gently without pressuring either person to divulge private feelings.
00:12:54.930
Recognizing your own crankiness and communicating it as an internal state fosters responsibility and ownership over your emotions. By doing so, you create a safer space for others to offer constructive feedback later. If you are the less privileged individual in the pairing dynamic, you have every right to prioritize your comfort. However, if you wish to confront your partner directly, follow a two-step approach: first, articulate the behavior specifically, and second, provide them the opportunity to process their feelings without you present.
00:13:46.610
As you name the behavior, focus on the facts rather than intentions to avoid unnecessary conflict. Following this, ensure you take a break away from the computer. This allows your partner to address any defensive feelings without the pressure of immediate reaction from you.
00:14:28.840
We have discussed how to reset bad dynamics and identified the challenges in recognizing such dynamics. The next step is active recovery. Begin by offering sincere apologies. Though it might seem basic, it’s crucial to actively demonstrate respect during the conversation. Acknowledging uncertainty during discussions revitalizes the interaction, emphasizing your commitment to constructive collaboration.
00:14:40.840
By inviting advice from your partner, you’re designating them as the expert in the room, allowing you to learn from their insights. Your partner will perceive the sincerity behind your inquiry and your engagement in their perspective. This fosters trust and enables more open discussions, even regarding difficult feedback.
00:15:32.330
In instances where you realize negative dynamics post facto, you can still apologize. Although your partner may not be in the right mindset to hear your apology, it’s essential to try and do what you can to prepare for future interactions. To summarize, feedback is of real value; however, avoid leaning solely on it to assess your partner’s behaviors.
00:16:21.350
Observation is key—you might notice behaviors that appear problematic. Rather than jumping to conclusions, delve deeper into the context. Since bad behavior can create a downward cycle, work on resetting these dynamics through ownership of feelings and awkwardness.
00:17:17.500
If you have the chance to apologize, take it. When navigating uncertainty, use it to foster openness for collaboration. Prioritize active listening and remain aware—you will make mistakes, but each offers the chance for you to improve.
00:18:06.550
When you find yourself spiraling in shame after a mistake, refocus on allyship rather than wallowing in self-criticism. Recognize that perfection isn’t realistic. Instead, embrace setbacks as learning experiences that can strengthen inclusive environments.
00:19:57.300
I want to mention that I prepared two versions of the slides for this talk, and I overlooked a shameless self-promotion slide in the current version. So, here we go! Earlier, I shared my first pairing experience with Abbey Grimm. Although that experience was challenging, I want to highlight the beauty of recovery. Now we collaborate on programming courses where we address complex Ruby and JavaScript challenges, effectively transforming our earlier dynamics into a fruitful partnership. One of our courses is already released, and the second one will be available around late May or early June. You can learn more about them on my company's website, Cohere.com. Thank you all for your time!