In the era of agile project management, the trend of programming in pairs is becoming more and more popular. The Agile Model has assumptions that work well in organizations focused on the rapid development of a modern product and how to most effectively provide the customer with what he most urgently needs in a dynamic work mode in which the team is not able to completely plan the course.

Therefore, it can be concluded that it will be perfect for the IT industry. Pair programming works well in organizations that use the agile methodology. The agile philosophy assumes that instead of outsourcing employees lower in the hierarchy of organizing tasks without giving them context, the entire organization receives information about the result it is striving for. Instead of focusing on delegating tasks to subordinates, setting deadlines, and standardizing and controlling the entire process by a small group of managers, we entrust more competencies and increase the scope of employee responsibility.

In this model, we assume that team members have the competency to work independently on the product and deliver it to the customer. The team organizes its work, decides who works with whom and what strategy will achieve the goal; it decides on the process and is responsible for the final result and quality.

You can find out about the advantages and disadvantages of pair programming in the following article. We will present the most known techniques and information on how to use them in the recruitment process of the perfect developer.

What is pair programming?

The pair programming technique, as the name suggests, is based on the joint programming of two programmers on one computer. The former focuses on the details and details, while the latter, the observer, sees the bigger picture and checks whether the small steps that the programmer performs lead to the expected result.

Couples, as a rule, are not permanently assigned to each other. They change much more frequently within the team so that all members can share their knowledge and ideas on how to approach specific problems. Teams often decide on their own who will work with whom, which has a positive effect on initiative and commitment.

The benefits and drawbacks of pair programming in software development

The obvious downside for the employee is the constant feeling that someone is peeking over his shoulder and looking for his mistakes, which can stress him and mentally burden him. Therefore, it is important that the couple swap places so that it is not that only one person is writing and the other is controlling, and never the other way around. Programming in pairs, in the long run, is almost impossible, so programmers can treat this as a break from the standard work model. It can be problematic when the whole team has meetings at different times during the day because, for the effectiveness of working in pairs, the couples must have a dedicated working time only for themselves, to which they will not be able to devote themselves solely to coding. Pair programming should not be considered training. The method is not to assign a less experienced programmer to a senior to be his teacher. The level of both people should be similar. The combination of an experienced and a beginner can be a great way to introduce a new employee or test their skills in the recruitment process, but it is a bad long-term solution. Another problem may be working out favorable working conditions for both people. You also need to match them with each other in terms of character and soft skills.

The most important advantage is the double verification of the created code and the greater possibility of catching errors. It’s easier to spot the smallest details when 2 people are working on them. Exchange your thoughts, pay attention to potential difficulties, or even give examples from previous projects – share experience and proven solutions with each other. Knowing that there is a navigator nearby, which can always react before a mistake occurs in the code, allows the person who is writing to focus without thinking too much about the fact that they may make a mistake. It is more difficult for one person to consider the details while also seeing the big picture, but it is much easier for a couple. Working in pairs can turn out to be a great pleasure for developers, especially for those who are extroverted. Partner exchange in pairs can help integrate the team and also make developers feel better around each other.

The main techniques for programming in pairs

Ping Pong

This technique involves collaborative programming using test-based software. One person in the couple writes the test code, and the other evaluates and passes it. This technique is effective because it presupposes volatility. You have to make sure that programmers constantly change places, regardless of experience or length of service.

Driver-Navigator

This technique is compared to driving in a race – one person in the pair is driving and the other is navigating. The assumption is that the driver follows the instructions given by the navigator but can ask questions or suggest other solutions. The driver and navigator should change places approximately every 15 minutes.

Unstructured Pairing

This technique is very natural and is used when no strategy is being adopted. The couple only change places when they think it makes sense. The fact that rules do not restrict a couple can help them run more efficiently and faster. However, couples in which two people have different styles may struggle with the lack of structure.

The use of pair programming sessions in recruitment

An interesting option to using pair programming is the recruitment process. A dozen or so minutes of working together on a simple task can tell more about a candidate than long theoretical interviews. After such a session, the HR department and the technical employee have an idea of ​​how the potential colleague behaves, what habits he has, what rules he follows, and how he communicates.

At Applover, we often use this option when recruiting, especially for the Android Developer position. The recruitment process with our software house consists of several stages, and programming in RH is its third stage. On our blog, we have described exactly what recruitment in Applover looks like and what you can expect from it.

Contact

Do you want to find out more about pair programming?

Talk to us!

An excellent method to test employee knowledge and improve skills

It is worth introducing this method to young companies that work on creating digital products, where it is necessary to quickly verify errors. The recruitment process should be efficient and effective at the same time. This method will help you cut it down and find out about a potential employee’s skills and work style.