Pair Programming Partner Picking Principles

Angela Catalino
December 16, 2021
- 5 min. read

Pair programming is an excellent technique that can help you to develop your skills and help you learn from another person's perspective on software development. However, picking the right partner can be difficult, and this guide will help you pick the right person who will complement your working style and bring out the best in you as a developer. By following these pairing partner picking principles, you’ll have a much more productive experience.

Expert-Expert pairing

You will want to find someone who is either better than you or at least at your level. When you choose an expert as a pairing partner, be prepared to take on more responsibility for writing code. The best way to balance out expertise levels is by partnering with someone who is slightly below your level. They’ll ask great questions that force you to think about things that might not have otherwise occurred to you; but they won’t be able do everything for you.

Expert-Novice pairing

The most common pairing type is expert-novice, where one person is more experienced than another. Expert-novice pairings are most useful when you have high variability in skill level or knowledge among your team. For example, if you have a team of five developers working on different parts of a single product, it can be very useful to have one developer who knows each part well and one developer who is just learning that part. The expert partner can help by explaining concepts and answering questions as they arise. Another example would be having an expert interviewer paired with someone who is practicing their interviewing skills. Having two people who are highly skilled in different areas paired together may result in conflict due to differences in style or work habits.

novice - expert
"Teach me your ways, sensei" - © Sony Pictures Entertainment

Novice-Novice pairing

This means pairing up developers who are both novices at pair programming. This has two advantages: 

  • when paired with a novice, you don’t have to constantly teach your partner what you’re doing; 
  • in some cases it helps to take turns in leading each pairing session, which is easiest when both partners are novice. 

The disadvantage of novice-novice pairing is that it limits how quickly both developers can progress their skills. After all, if both members of a pairing team are beginners, then there’s only so much either developer can learn—and even then things move slowly because teaching or explaining complex concepts takes time away from development work. 

Extrovert-Extrovert pairing

If your pair is an extrovert and you are also an extrovert, you will be able to keep each other motivated to stay on task. If one of you becomes distracted, it's likely that at least one of you will notice. You will inspire each other to solve problems and brainstorm innovative solutions. This pairing enables both of you to contribute equally without any awkwardness or pressure. This type of pairing is ideal for people who have not had much experience with pairing before. For example, if you do not know anything about programming yet but want some help with learning how to program, then partner up with someone else who wants some help as well. The two of you will have fun working together since you'll learn how to program together!

Introvert-Introvert pairing

When you have two introverts on a team, there’s no question that pairing can help them work better together. Each person will have their own strengths and weaknesses, so it’s a great idea to try and pair up with someone who complements your own skillset. This pairing style is especially effective for cross-functional teams where each team member has different roles to fulfill. Here are three guidelines to keep in mind when pairing with an introvert :

  1. Always start pairing during prework—and only if needed. Never start working on critical tasks straightaway; save these tasks for later when partner fatigue sets in.
  2. Aim to take turns driving—this way, one of you can stay engaged while the other takes notes or gives feedback.
  3. Switch partners often—the key here is to make sure neither of you get stuck with a teammate you don’t like or work well with. These tips will ensure that both introverts get enough focused time and energy, and everyone else gets time away from screen time!
"I am not an introvert, I am a thinker"

Extrovert-Introvert pairing

The idea is that when someone who is an extrovert pairs with someone who is an introvert, they learn to quiet their thoughts and become more reflective. The introverts, in turn, practice speaking up and speaking out. There are two ways you can try extrovert-introvert pairing: At work or at home. If you’re looking for your partner at work, place a posting asking people to volunteer; make sure you ask specifically for volunteers (don’t just say volunteers wanted). Then put each person through a short interview process (in person or over email) to help determine if they’re actually interested. If all goes well, pair them! If it doesn’t go well, end it early.

We hope you enjoyed our article about Pair Programming and the different principles you can use when picking your pair programming partner. With this knowledge, we know that you can make the most of your programming sessions and complete projects with ease. 

Don't forget to share this article

Ready to get started?

Create your free account and start collaborating right away with your team on all your apps. Should you have any questions about our offers, be sure to contact us.

Contact us