From last year, the Global Delivery Center (GDC) at Perficient has been interviewing prospective intern developers using pair programming. I am very glad to have had the opportunity to interview many candidates during this time. I would like to share a series of interesting experiences with you in this article.
What is a successful Job Interview?
From Wikipedia, a job interview is a “process in which a potential employee is evaluated by an employer for prospective employment in their company, organization, or firm. During this process, the employer (I think I have to add the following words here: and the applicant) hopes to determine whether or not the applicant is suitable for the job.”
In my opinion, a successful job interview is a case in which both the interviewer and the interviewee are very satisfied with each other and both of them believe they will get along very well and have a bright future. (In the most successful cases the result proves them right).
Success requires effort from both sides. Essentially the candidate should have the characteristics the company needs. On the other hand the interviewer also has the responsibility to help the candidate manifest her/his strength and potential. At the same time it will be ideal if the interviewer can attract good candidates by demonstrating the real style and culture of the company.
How can pair programming lead to a successful interview?
We hope our colleagues are honest, smart, easy to get along with, interesting, direct, reliable, warm hearted, a good team player and so on.
As a developer, we hope they are hands-on, effective, quality-oriented, a quick study, logical, good at deduction, focused, passionate for delivery and so on.
As a consultant, we hope they are open-minded, trustworthy, flexible, versatile, intelligent, good at expressing themselves and able to help others understand them, sensitive to risks, good at solving problem and so on.
I don’t believe just talking allows an interviewer to find so many features from a person; however pair programming can help us cover most of their traits by cooperating to solve a proper-sized problem. Pair programming allows us to know exactly what level the “master”, ”good at”, ”experienced at” or “familiar with” listed on a candidate’s resume means from a practical perspective. We are not surprised that it varied a lot from person to person.
Pair programming can let us observe the habits and way the candidate thinks, and allows a process which applies this process under the pressure of making an achievement in limited time. Problems always jump out unpredictably; pair programming allows us to assess if the candidate can locate the problem intuitively and solve it with might and main.
Pair programming is a process where two people try their best to complement each other. You have to adjust yourself and influence the other side. Can the candidate receive your information and send their information? Can she/he communicate with you an effective way? Is the rhythm harmonic and is the experience exciting and happy? No one would like to collaborate with a boring partner who always focuses on negative effect. Can you feel the sense of success after cooperating? Can you learn from each other during this process? I am always surprised to find some inexperienced candidates are born to solve problems in logical, elegant and confident way.
Pair programming is a good way to demonstrate to the candidate how we work in an agile way. How we divide the work and support each other. How we ensure quality and performance.
The only shortcoming of the pair programming job interview I have come across is that it is very time-consuming. The interviewer has to spend hours on it; unavoidably sometimes you have to sit beside a interviewee struggling and drowning at last helplessly. This is a most awful and painful experience for me, however, it also makes me cherish the chance and try my best to help us to archive success in the interview. After all, as a high technology company, talented employees are the most precious assets for the organization. It is worth investing on guarding a pass at the portal.