DEV Community

Discussion on: Pair programming problems are not a smell.

Collapse
 
zspencer profile image
Zee

For sure! Talking with each other is a huge part of working through the tensions that arise when pairing.

That said, holy crap is it hard to talk through some of these tensions when there's significant power differentials.

I'm reminded of a time when I was working through a project inception with a team I was responsible for; and me (being the enthusiastic, charismatic, highly-experienced engineer) came in and started facilitating a mob programming session.

I noticed one of the most junior team members wasn't super engaged in the mob; which is a signal that something is up. I, being an idiot, asked them directly "Hey, I notice you're kind of checked out, everything OK?" Because, hey! Talking is the way to solve the problem! (Which it is!)

They responded with a "oh, no I'm fine!" and we carried on our way; and they made more efforts to be engaged.

But they had begun to slip into threat mode outside of the mobbing sessions. And I could tell. In our next one on one, I checked in to see how things were going, and I could tell that they were nervous. I went through my repertoire of rapport re-building skills, provided some specific, actionable, and compassionate reinforcing feedback about the things I saw they were doing well; and eventually they shared that they had found the mobbing experience jarring.

Why? Because in the past they had been terminated from a non-programming job because they weren't a "team player" and my innocent and enthusiastic question brought that experience back to the forefront of their mind. They had began performative "team-playering" in an attempt to alleviate a perceived, but non-existent threat.

I apologized and asked how I could do better in the future if I notice they are disengaged. Ultimately we decided that since we tended to have slack open and on, and it wasn't unusual for people to use their phones or laptops to look up docs or pull up past conversations while mobbing that I would send a DM checking in on them instead of asking that question in public.

In my opinion, me putting the spotlight on them in that moment was the wrong thing to do. Yes, it brought them into the mob, but at a cost to their ability to perceive the organization as acting in good faith. Not because we had done anything "wrong" per-se, but because I hadn't taken into account the background that particular team member had.

That teammate is on my list of people I am most proud of having worked with and would hire again in a heartbeat. Processing through the tension we experienced working together in a mob-programming context, even with my mis-step, built trust between us that allowed us to do some really amazing things as a team; and even today a few years later I look forward to the day when I get a chance to work with this person again.

So, yes. You are 100% right. Talking is amazing. Understanding the background context of the person you're pairing with and how to work with them is a way to make that conversation even more amazing.