DEV Community

Josh Branchaud
Josh Branchaud

Posted on

4 1

Give pair programming another chance

Pair programming has a special place in my heart. It played a huge role in my growth as a software developer. It gave me a chance to work on projects that would have been out of my reach. It meant I got to work closely on a daily basis with developers on a whole other level than me. From what I hear when I talk to others, it doesn’t seem like pair programming has broad appeal. My suspicion is that many people have experienced a crude, half-baked version of pair programming, one that poses many more challenges than benefits.

Pair programming can look a lot of different ways, and it needs to to conform to different workplaces, different power dynamics, and varying needs of the developers and project. That said, I want to touch on some of the things that worked for me.

Pair programming has to be an intention, something that is deliberately practiced day-to-day by two developers that want to work together. It is a constant negotiation of preferences and priorities. At each turn you have to communicate about who is driving (typing), about what particular problem you are solving, and about what your thought process is.

And this is where it gets good. Rather than charging ahead with wild abandon like you might do on your own, you first have to articulate your thought process. To have to put into words a theory that you have is to peel that theory out of your brain and try to materialize it in a way that makes sense to your pair. In doing this you are confronted with the holes and assumptions that riddle your theory. You quickly become better at drawing more sound conclusions, you learn to articulate your ideas in ways that you couldn’t before, and you spend significantly less time chasing the theories that you haven’t thought through.

To me this is the exciting stuff. You become a better problem solver. You become a better communicator. You spend way less time feeling isolated. The rest are just side benefits, things like picking up small programming and workflow tips, having a partner to help keep you focused, and not having to type the entire day.

Pair programming is not easy. It takes a lot of work, practice, trust, and respect. It's not even right for every situation. For many people who have written it off, I think pair programming deserves a second chance. If you can find a good pair and the right environment, I think you'll love it.

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay