Be the first to know
Sign up for a weekly dose of tech hiring news and updates.
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 potential beneficial impact of remote pair programming.
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 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 – remote pair programming is possible.
Our engineering team has been running remote pair programming 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 remote pair program as if they’re sitting side by side in the office.
The Pros and Cons
There are numerous benefits to remote 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 remote 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.
Like with any change in working, there are some challenges to remote 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 about implementation.
- 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 Pair Program Remotely
We recommend two hours per week of remote 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 be hard to find when recruiting.
Remote 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 Remote Pair Programming in Hiring
Remote pair programming can also be 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.
The latests news and articles
An Ultimate Guide to Leading Distributed Engineering Teams
Building a distributed engineering team or looking to improve your management processes? Find some practical tips in this ultimate guide.Read more