Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Empathetic Pair Programming with Nonviolent Com...

Empathetic Pair Programming with Nonviolent Communication

Pair programming is intimate. It’s the closest collaboration we do as software developers. When it goes well, it feels great! But when it doesn’t, you might be left feeling frustrated, discouraged, or withdrawn.

To navigate the vulnerability of sharing our keyboard and code, let’s learn about nonviolent communication (NVC), an established practice of deep listening to ourselves and others. We’ll cover real-life examples and how to apply the four tenets of NVC — observations, feelings, needs, and requests — to bring more joy and fulfillment the next time you pair.

Stephanie Minn

December 13, 2024
Tweet

More Decks by Stephanie Minn

Other Decks in Programming

Transcript

  1. Stephanie Minn | Blue Ridge Ruby 2023 Hi Blue Ridge

    Ruby! I’m Stephanie, she/her.
  2. Stephanie Minn | Blue Ridge Ruby 2023 When I see/hear…

    [ [When you see/hear…] I feel… Are you feeling… Because I need/value… Because you need/value… Would you be willing…? [Would you like…?] OBSERVATION FEELING NEED REQUEST Clear & Honest Expression Empathetic Listening The NVC Framework
  3. Stephanie Minn | Blue Ridge Ruby 2023 “Stephanie is too

    stressful to pair with.” evaluative!
  4. Stephanie Minn | Blue Ridge Ruby 2023 “Stephanie is too

    stressful to pair with.” → “When I pair with Stephanie, she moves through files in her editor faster than I can read.” observation
  5. Stephanie Minn | Blue Ridge Ruby 2023 “I don’t think

    Stephanie cares about my ideas.” assuming we can read her mind
  6. Stephanie Minn | Blue Ridge Ruby 2023 “I don’t think

    Stephanie cares about my ideas.” → “When I see Stephanie resolving my comments without responding or making the suggested change, I think she doesn’t care about my ideas.” observation taking responsibility
  7. Stephanie Minn | Blue Ridge Ruby 2023 “Pairing with early-career

    developers is too slow.” sweeping generalization!
  8. Stephanie Minn | Blue Ridge Ruby 2023 “Pairing with early-career

    developers is too slow.” → “When I paired with Stephanie, we spent 10 minutes on a single test. (optional: That was too slow for me to finish my work.)” Specific referent opinion!
  9. Stephanie Minn | Blue Ridge Ruby 2023 Curious Excited Engaged

    Fulfilled Calm Relaxed Inspired Intrigued Energized Comfortable Proud Delighted Optimistic Relieved Stimulated Surprised Fascinated Amused Trustful Grateful
  10. Stephanie Minn | Blue Ridge Ruby 2023 Irritated Annoyed Tired

    Burnt out Impatient Overwhelmed Embarrassed Reluctant Angry Distressed Confused Stressed Frustrated Self-conscious Discouraged Anxious Uncomfortable Withdrawn Bored Disappointed
  11. Stephanie Minn | Blue Ridge Ruby 2023 Irritated Annoyed Tired

    Burnt out Impatient Overwhelmed Embarrassed Reluctant Angry Distressed Curious Excited Engaged Fulfilled Calm Relaxed Inspired Intrigued Energized Comfortable Proud Delighted Optimistic Relieved Stimulated Surprised Fascinated Amused Trustful Grateful Confused Stressed Frustrated Self-conscious Discouraged Anxious Uncomfortable Withdrawn Bored Disappointed feelings when our needs are met feelings when our needs are not met
  12. Stephanie Minn | Blue Ridge Ruby 2023 “I feel unsupported

    on this team.” assessment of the team
  13. Stephanie Minn | Blue Ridge Ruby 2023 “I feel unsupported

    on this team.” → “I feel disappointed because I need more support from the team.” feeling!
  14. Stephanie Minn | Blue Ridge Ruby 2023 “I feel like

    the codebase is in a bad place.”
  15. Stephanie Minn | Blue Ridge Ruby 2023 “I feel like

    the codebase is in a bad place.” this is a thought not a feeling
  16. Stephanie Minn | Blue Ridge Ruby 2023 “I feel like

    the codebase is in a bad place.” → “I am irritated because I think the codebase is in a bad place.” attributing irritation to the thought now it’s a feeling
  17. Stephanie Minn | Blue Ridge Ruby 2023 Esteem Safety Love

    & Belonging Physiological Self- actualization
  18. Stephanie Minn | Blue Ridge Ruby 2023 Universal human needs

    🩺 Physical well-being 🦺 Safety 󰢦 Autonomy 🤝 Respect 👯 Interpersonal connection 🎉 Fun ☮ Peace 🏆 Meaning
  19. Stephanie Minn | Blue Ridge Ruby 2023 “I feel irritated

    because I think the codebase is in a bad place.”
  20. Stephanie Minn | Blue Ridge Ruby 2023 “I feel irritated

    because I think the codebase is in a bad place, and I want to be able to extend this feature without so many changes.”
  21. Stephanie Minn | Blue Ridge Ruby 2023 Different needs for

    pairing 🎟 Making progress on a ticket ⛔ Getting unblocked 💡 Practicing a technique ☝ Receiving feedback 🦆 Rubber ducking 🧠 Knowledge sharing 🤝 Relationship building 󰩂 Mentoring experience ⚡ Empowering the team
  22. Stephanie Minn | Blue Ridge Ruby 2023 External factors can

    be the stimulus for our feelings, but not the cause.
  23. Stephanie Minn | Blue Ridge Ruby 2023 “Please stop taking

    over the pairing session.” → “Could you give me a few minutes to figure this out on my own, before offering a solution?”
  24. Stephanie Minn | Blue Ridge Ruby 2023 “This code should

    be refactored.” What are you actually asking me to do???
  25. Stephanie Minn | Blue Ridge Ruby 2023 “This code should

    be refactored.” → “Would you be up for a chat about different approaches for this feature? I want to support you in choosing the best one.” Specific ask Intention revealing
  26. Stephanie Minn | Blue Ridge Ruby 2023 “This code should

    be refactored.” → “Would you read this blog post about the Factory pattern, so we can be on the same page when we pair tomorrow?” No more guessing!
  27. Stephanie Minn | Blue Ridge Ruby 2023 When I see/hear…

    [ [When you see/hear…] I feel… Are you feeling… Because I need/value… Because you need/value… Would you be willing…? [Would you like…?] OBSERVATION FEELING NEED REQUEST Clear & Honest Expression Empathetic Listening The NVC Framework
  28. Stephanie Minn | Blue Ridge Ruby 2023 When Cam kept

    quiet, I started feeling anxious and just kept talking. I want to be a good mentor for them. Scenario #1 Stephanie & Cam 󰟲💭
  29. Stephanie Minn | Blue Ridge Ruby 2023 Stephanie’s moving too

    fast and I’m overwhelmed. I’m not able to contribute like this. Scenario #1 Stephanie & Cam 󰲧💭
  30. Stephanie Minn | Blue Ridge Ruby 2023 When I see/hear…

    [ [When you see/hear…] I feel… Are you feeling… Because I need/value… Because you need/value… Would you be willing…? [Would you like…?] OBSERVATION FEELING NEED REQUEST Clear & Honest Expression Empathetic Listening The NVC Framework
  31. Stephanie Minn | Blue Ridge Ruby 2023 󰟲 Stephanie: “Hey

    Cam, I haven’t heard from you in the last few minutes. Are you feeling bored and needing something different from this pairing session?” Scenario #1 Stephanie & Cam
  32. Stephanie Minn | Blue Ridge Ruby 2023 󰟲 Stephanie: “Hey

    Cam, I haven’t heard from you in the last few minutes. Are you feeling bored and needing something different from this pairing session?” 󰲧 Cam: “Yeah… I’m not getting much out of this right now. But not because I’m bored. It’s just overwhelming.” Scenario #1 Stephanie & Cam
  33. Stephanie Minn | Blue Ridge Ruby 2023 󰟲 Stephanie: “Hey

    Cam, I haven’t heard from you in the last few minutes. Are you feeling bored and needing something different from this pairing session?” 󰲧 Cam: “Yeah… I’m not getting much out of this right now. But not because I’m bored. It’s just overwhelming.” 󰟲 Stephanie: “Ok! Thanks for telling me. Would you like to take a break and review this PR async? Or something else?” Scenario #1 Stephanie & Cam
  34. Stephanie Minn | Blue Ridge Ruby 2023 Scenario #2 John

    & Stephanie 󰞛💭 I’m curious about what Stephanie is thinking. I want to ensure she has the opportunity to make decisions and have ownership over our work.
  35. Stephanie Minn | Blue Ridge Ruby 2023 Scenario #2 John

    & Stephanie 󰟲💭 John asked for my input, but I’m scared of saying the wrong thing because I want to make a good impression. I also need more guidance in this unfamiliar codebase.
  36. Stephanie Minn | Blue Ridge Ruby 2023 When I see/hear…

    [ [When you see/hear…] I feel… Are you feeling… Because I need/value… Because you need/value… Would you be willing…? [Would you like…?] OBSERVATION FEELING NEED REQUEST Clear & Honest Expression Empathetic Listening The NVC Framework
  37. Stephanie Minn | Blue Ridge Ruby 2023 󰟲 Stephanie: “You

    know, I’m kinda nervous right now because this is outside my comfort zone. I’m excited to learn more but need support. Could you share what you had in mind first, and I’ll let you know what I think?” Scenario #2 John & Stephanie
  38. Stephanie Minn | Blue Ridge Ruby 2023 󰟲 Stephanie: “You

    know, I’m kinda nervous right now because this is outside my comfort zone. I’m excited to learn more but need support. Could you share what you had in mind first, and I’ll let you know what I think?” 󰱹 John: “Oh sure. I’m thinking we could try this…” Scenario #2 John & Stephanie
  39. Stephanie Minn | Blue Ridge Ruby 2023 Pair programming and

    NVC are skills to be practiced. 💗