How These NYC Tech Companies Use Pair Programming

Written by Janey Zitomer
Published on Mar. 12, 2020
Brand Studio Logo

Pair programming isn’t for everyone. 

When done incorrectly, it can lead to engineers feeling overwhelmed, exhausted or even offended. In a good pairing, however, each engineer can learn quite a bit. In order for the practice to help — rather than hurt — a team’s productivity, best practices should be established.

Tech professionals at Meetup and Shapeways both said strong communication is essential to pair programming. According to Engineering Manager Zoe Gagnon, Meetup developers are encouraged to take breaks throughout the day to accommodate for how tiring the practice can be. She recommends using a try-and-see approach for more difficult problems, emphasizing the flexibility it permits. 

“Effective pairs combine short discussions with experiments,” Gagnon said.

At Shapeways, experts are typically paired with beginner coders so they can share any relevant documentation or tricks of the trade. But regardless of experience level, pair programming demands teamwork and a certain level of vulnerability, Engineering Tech Lead Barry Schepers said.

“Everyone needs to be able to communicate their thought processes, be able to explain their solution to the other person and not be afraid to make mistakes.” Schepers said. 

 

Meetup
Meetup

Setting engineers up for success means having them work on code they can grasp. Pair programming allows developers to work alongside the original author, so they can clear up any vagueness that might exist as a team. Gagnon said that Meetup uses both pair programming and mob programming for various projects, as well as for interview tests.    

 

How is your team using pair programming?

We use pair programming across all our product engineering teams. Most engineers pair on flexible schedules; some when they need help and others by default. We have several teams that have adopted mob programming as their basic model. They have designated days for solo programming, but default to groups of three or four engineers.

We also incorporate pair programming in our full-stack interviews. We use a prepared codebase for this interview. We look for factors such as design, testing, problem-solving ability and pair contribution.

 

What are the pros and cons of pair programming?

Pair programming has been beneficial in several key ways. The first major benefit is that it helps spread knowledge about the code. It may seem obvious, but it’s a lot easier to work on code that you can understand. Unfortunately, writing code that is easy to understand can be difficult. Pairing with the person who wrote it solves this problem well.

Another major benefit is that it helps us arrive at better solutions. With several people contributing, we come up with more ideas and can test them efficiently.

An important thing to consider with pairing is how demanding it is. It can be a lot of work and you can end the day exhausted. We try to take breaks and build in solo time to help.

Effective pairs combine short discussions with experiments. ’’

 

What makes an effective pair? 

Strong communication is essential. Each member must be comfortable sharing their ideas and thoughts. To be a good pair, it’s also important to listen to, consider and respect those thoughts.

Groups of people get stuck in analyses paralysis, spending more time talking about the problem than it would take to put the solution in place. Effective pairs combine short discussions with experiments. Being excited to “try it and see if it works” is a vital skill for productive pairs.

Pairs are a fantastic place to exchange knowledge. In a good pairing, each engineer can learn quite a bit. The best pairs consist of people who are excited to both teach and learn. Over time, these habits create much more effective teams overall.

 

Shapeways
Shapeways

At Shapeways, pair programming bridges a sometimes literal gap between engineers. Schepers said the coding method helps connect developers in offices across countries. It also serves as an onboarding tool. When a pair is particularly suited for partner work, the results speak for themselves.     

 

How is your team using pair programming?

At Shapeways, we often utilize pair programming as a mechanism to foster collaboration between our software engineers in our New York City and Eindhoven offices. In addition, we use pair programming to onboard new team members and to help existing ones shift from one domain to another. Typically, the expert in a particular domain pairs up with a team member to tackle a problem while sharing all relevant information, documentation and best practices for that domain.  

On some occasions, two expert developers are paired, though their collaboration usually ends after agreement on the chosen technical design. Overall, pair programming gets everyone talking to each other on a regular basis, and it helps to ensure that they all have the same understanding of a specific problem domain. 

 

What are the pros and cons of pair programming?

Ideally, our paired software engineers will end up working well together. When they do, they produce a higher quality solution to a given problem with fewer mistakes in the resulting code. When they don’t, it can cost the company valuable time and even set us back. Fortunately, an increase in communication takes place among pair programmers, which leads to more shared knowledge across team members and a better understanding of a domain, especially for newcomers.

We use pair programming to onboard new team members.’’ 

 

What makes an effective pair? 

We think the key to effective pair programming is communication, which has a heavy bearing on one’s personality and interpersonal skills. Of course, an engineer’s technical skills must also be adequate in order to help find a solution to a technical problem. But most of all, it’s about communication. Everyone needs to be able to communicate their thought processes, explain their solution to the other person and not be afraid to make mistakes.

 

Responses have been edited for length and clarity. Images via listed companies.