Day 4 Week 2: Lambda School Labs

Mandi Haase
3 min readApr 16, 2020

Working in pairs can be stressful. How do I know that? Because I am married. Working with a partner in a collaborative way to accomplish a mission is not an easy thing. I cannot tell you how many times have I thought to myself, “I will just do it on my own!” Although I tend to fall into this mindset, when I work on projects alone oftentimes I find myself being far less productive as a result.

Today in our labs session at Lambda School we learned about pairing. That is an elegant word for two programmers sharing their screens and coding together. Walking into this session, I was a bit hesitant. To be honest, I have had frustrating experiences with programming with others. However, as I started to listen to the lecture, I realized that pairing is an amazing tool that I want to be implementing more often.

So what exactly is pairing? It is a little different than what I previously thought. First of all, let me start with what pairing is NOT. It is not having a group work together on code (pairing should mean two). It is not having two people coding together (i.e. via Zoom) but working on different tasks at the same time.

Now that I have identified what pairing is NOT, let’s look at what pairing IS. Pairing when coding is two programmers both on different computers, with their own keyboards and mouses, working collaboratively on the same code at the same time. Think driver and navigator, because that is the heart of pairing. For example, if you are using an online conferencing tool like Zoom, one person can share their screen and be coding, while the other person verbalizes what they think their partner should be typing. My instructor today used a great example — when you are the driver, you are focused on the road immediately before you. As a navigator however, you are focused more on the surroundings and what is up ahead. Combine these two and you have a powerful force to reckon with!

Here are some simple, common-sense rules to pairing that will make the experience a good one.

Before starting:

  1. Agree on the scope of what you will accomplish during one session
  2. Agree on your working environment and have things set up beforehand
  3. Agree on your pairing style (maybe switch drivers after every break)
  4. Agree on how often you will break and duration of breaks (45 minutes on with 10 minute breaks for example)

Once you are pairing:

  1. Communicate! Silence is NOT golden when pairing
  2. Keep switching drivers — don’t have one person at the wheel the entire time
  3. Remember it’s a collaborative effort so keep involved!
  4. Keep checking with your partner to make sure they are doing okay

When pairing you have options. You can have the driver share their screen and type while the other person navigates. What is more effective however is using Visual Studio Code Live Share. What’s great about Live Share is it enables developers to collaborate in real-time on the same code base without the need to synchronize code or to configure the same development tools, settings, or environment.

Finally, remember when you start pairing that it is a LEARNED skill. It will not feel natural at first, and might even seem awkward. If you are not used to verbalizing while programming or working for extended periods with another programmer as you really wrestle with code, you might feel physically and emotionally tapped afterwards. However, the key is to realize that having two brains collaborating is (in most cases) between than one. You and your partner will both be able to see different issues, and bring fresh insight into your project.

I personally am excited to implement more pairing in my programming experience. As I practice pairing with others, I believe I will develop my skills of communication, problem solving, and achieving solutions in a more efficient manner. So thankful for today’s instruction and looking forward to making pairing a part of my everyday programming routine.

--

--