Table of content
Recruitment is one of the main challenges IT companies are facing today. It is estimated that the United States alone will be dealing with one million unfilled programming jobs in 2020.
In the UK, where the unemployment rate stands at only 4% (i.e. back to what it was in the 1970s,) the situation is only slightly better – the number of developers in London is comparable to the number of programmers in the entire Silicon Valley. However, IT companies are finding it hard to hire competent programmers and fill in the mid/senior level positions.
In the meantime, Polish cities like Warsaw, Krakow, Katowice and Wroclaw have gained the reputation of programming hotbeds, and Polish developers are increasingly hired for various projects in the UK, USA or Scandinavia.
Foreign companies value cooperation with Polish developers due to their level of competence, commitment and willingness for development.
Quality over quantity
As Kris Marszalek, Software Brothers CEO, puts it:
Recruiting top-class experts is a challenge we've been facing at Software Brothers for many years. I consider this issue extremely important as programmers determine the quality of the product that we deliver to the client.
And we're only aiming for world-class products. As far as quality goes, there is no place for compromises.
It is expected that in 2020 quality, not quantity of candidates, will be the biggest challenge for HR departments. Unfortunately, no university title or specialized course can guarantee a desired level of practical, not to mention interpersonal skills.
So how to verify that a candidate is suitable for the job?
Since September 2019, Software Brothers has been using an innovative staffing solution – we verify our candidates using HexIT – Europe's first escape room for programmers. HexIT is a combination of Experience-HR and ambient employer branding efforts. It mixes fun and programming for the needs of the recruitment process. You can find out more about the game and the reasons why Software Brothers decided to embark on such a project here.
What is Pair Programming?
As far as more conventional solutions go, there is a new candidate verification method quickly gaining popularity today: Pair Programming. It is an element of the Extreme Programming (XP) methodology developed by Kent Beck, which allows creating high-quality software in an environment of changing requirements. The technique of programming in pairs involves two people jointly programming using one computer. One of them (the so-called "driver" – i.e. the job candidate) writes the code, while the other ("navigator") observes, asks questions and also proposes other solutions.
What does Pair Programming look like?
Pair Programming is a tool that should be used wisely and carefully, but when well conducted, the process guarantees effective verification of the candidate.
According to Software Brothers CTO Wojciech Krysiak:
There is no magic spell to conjure up the perfect candidate. Also, nothing gives a 100% guarantee that the candidate will be a "good match", but Pair Programming significantly increases the chances. I have been in the IT industry for over 15 years and I believe it’s the best candidate verification tool ever created. It allows to assess both hard competences of the candidate – knowledge of technology or coding speed, as well as interpersonal skills such as communication, resourcefulness and courage. We’ve found the latter to have a huge impact on the quality of teamwork.
A brilliant hothead or... slacker can lead to the failure of the project. I just cannot allow myself to employ such people.
So what does the Pair Programming process look like? At Software Brothers, it is implemented in four stages.
The first step is a programming task the candidate is asked to do at home within about 4 hours.
When working on the task, the candidate becomes familiar with the code and the problem at hand, and is free to use any solutions and tools to complete it.
If the task was sent within the specified time (at Software Brothers we give candidates 3 working days to come up with the solution), we proceed to the second stage: verification.
The task may be rejected, e.g. in the event glaring "overengineering" on the candidate’s side or implementing unnecessary or unimportant functions in the application. Naturally, it saves the company from inefficiency and financial loss (i.e. so-called time burn).
Want to see how we find the best talents in the industry? Write to us at firstname.lastname@example.org to receive an example recruitment task we send our candidates.
If the task is assessed positively – we proceed to step three: a meeting in the company's office, in which our senior tech lead, or CTO, takes part. In the meeting, the candidate talks about the task he solved, problems he encountered, and the tools and technologies he used.
The Tech Lead or CTO asks about the implemented functions and selected tools, and assesses the candidate's way of thinking and speaking.
During the meeting, the candidate is also asked to solve another task – in real time. We assess the entire process and the speed of candidate's work.
Then comes the final step: assessment by the Tech Lead, or CTO, and the HR specialist. At Software Brothers, we only employ the best experts, which is why hard skills and personality traits are taken into account in the assessment.
The “hard” elements we assess:
- technical knowledge
- knowledge of technology and tools
- coding speed
- logic and deduction skills
- analytical thinking
- code cleanliness
The “hard” elements we assess include:
- communication skills
- ability to accept feedback
- ability to work under time pressure
- ability to convey thoughts clearly
- willingness to learn and develop
Advantages of using Pair Programming in recruitment
What are the benefits of Pair Programming?
First of all, it allows to comprehensive check the candidate, both his technical skills and personal attributes listed above.
Pair programming simulates the future work environment so it is a source of knowledge for both parties. This test also allows the candidate to get a taste of the challenges he will face when working for the company. It gives him an opportunity to meet the people he would work with, experience the kind of communication preferred in the company, and see the specific expectations the company has of candidates.
Pair Programming is also a guarantee that the tasks assigned to the candidate after employment accurately match his skills.
Bartek Czyż, Senior Tech-Lead leading Pair Programming at Software Brothers says:
For me the biggest advantage of Pair Programming is the ability to verify the skills of the candidate in practice. Sometimes it turns out that a beautiful, extensive CV is at odds with reality.
Also, at Software Brothers we have clearly defined company values: professionalism, development, responsibility and communication. We want to work with people like us – open, energetic, ready to constantly grow, and hungry for success! Pair Programming shows a lot more than skills – it reveals a real person behind the CV.
In the short term, the process is more expensive than a classic job interview as it involves the company's Tech Lead or CTO – drawing them away from the ongoing projects.
However, the assessment should take into account the long-term perspective and risk estimates. Pair Programming increases costs in the short term, but eliminates the risk of losses resulting from unsuccessful recruitment. These losses are not only costs, but also chaos in the project and difficult emotions for the whole team.
Assuming that an incorrectly recruited candidate is fired after one month – we're actually comparing the 8-12 hours spent on Pair Programming by the Tech Lead with the lost costs of the unsuccessful hire: approx. 160h worth of labor in the month.
The result is clear.
Pair Programming is a relatively new tool that responds to the growing requirements and expectations of candidates on the IT market.
It allows to find candidates that best match your organization.
It also enables a more comprehensive assessment of developers’ soft and hard skills, offering a glimpse into the real job the candidate will do after getting hired.
Pair Programming resembles a ride during which the student (i.e. The candidate) holds the steering wheel and shifts gears, while the instructor (i.e. Tech Lead / CTO) observes his movements, technique and behavior. This recruitment process is a kind of test drive showing both sides whether it is worth going on a long journey together.