Get started

Developers that code together succeed together. Results have shown that 45% of developers who pair program report feelings of success on a daily basis. This heightened sense of progress shows the importance of collaboration between developers.

In a nutshell, pair programming is an agile technique in which two programmers work together at one workstation. One writes code while the other reviews each line as its they go. When implemented properly, pair programming can drastically improve productivity and job satisfaction and remove silos that are detrimental to knowledge-sharing and productivity. To enhance the feeling of success amongst your developers, and ship features more quickly, collaboration is key.

And good news – pair programming can be done remotely.

Our engineering team has been working fully remote for 6 weeks now. Each team has a slightly different approach. For Mac users – try Tuple, or Visual Studio Code (with Live plugin) and then calling software for audio for those operating in a ping-pong style of working. Google hangouts with screen-sharing could be enough for those in driver-navigator mode. While the set up differed, the goal is the same: to replicate the physical pairing experience where a single computer, keyboard and mouse is used, best. Using a combination of tools, engineers can pair program as if they’re sitting side by side in the office.

The Pros and Cons

There are numerous benefits to pair programming:

  • Faster delivery of ideas to the implementation phase.
  • Higher feelings of success contribute to the overall well-being of an engineering team.
  • Anyone can pair program as it’s not specific to any industry or company size.
  • Developers that pair program are more aware of their promotion requirements, which may contribute to increased job satisfaction.

Despite all this, only 15% of developers will pair program on a weekly basis – even though the majority of those teams who do collaborate in this way (60%) say they move to the implementation phase in just one week.

Codility Pair Programming Report

Like with any change in working, there are some challenges to pair programming and it’s important that these are overcome in order to increase developer feelings of success and job satisfaction.

  • The technique is not widely adopted, which can make some teams skeptical to implement.
  • Poorly applied pair programming can lead to double the costs since it involves two developers working on one piece of code.
  • Programming needs to be done “out loud”, meaning it could be difficult for introverts or those that aren’t comfortable in their work setting.
  • It could take time to figure out how many hours of pair programming per week is sustainable.

How to Practice Pair Programming for Great Results

We recommend two hours per week of pair programming within a team of three to eight people. This optimum team size allows for different pairs to work together to develop robust code while seeing more successes as they work. Our recent study shows that when two developers code together, they improve both technical and non-technical skills, which is why developers who pair program become more aware of their requirements for promotion. These behaviors and skills, which are typical of an engineering manager, include knowledge transfer and supporting team members.

In a sector where finding the right talent might be difficult, pair programming represents a unique opportunity to nurture your engineering talent in house. Both by helping developers learn from one another but also by teaching the sought-after soft skills that can that be so hard to find when recruiting.

Pair programming also goes hand-in-hand with test-driven development (TDD). 73% of developers who don’t pair program also don’t test their code as they go. Only 34% of developers test first but they report they ship code much faster than developers who test after, or who don’t test at all.

Pair programming and the Agile techniques that often go with it, such as TDD, have a knock-on effect throughout a company. From shorter time frames to implementation – meaning businesses can use and ship features more quickly – through to increased job satisfaction among developers

Using Pair Programming in Hiring

Codility CodeLive Remote InterviewsPair programming can be also a great hiring technique in every remote recruitment process. Using CodeLive – our live interviewing solution – you can arrange an interactive interview experience where your candidates work on the same code with your interviewers in real-time. This way you check their technical skills and expertise, and interviewers can provide feedback straight away. Plus, you get insights about their communication style and soft skills, which helps you make better hiring decisions. All that entirely remotely. 

To learn more about using pair programming in your hiring process, request a demo.

Natalia  Dworznik, Enterprise Marketing Lead at Codility.

Connect on LinkedIn