Hiring Programmers

I would like to argue that managers should not play the primary role in the hiring of programmers but the programmers should.

Hands-on programming should be the essential component of programmer hiring process. A programmer candidate should solve a problem together with your best programmer. I call this process doing a technical problem solving session. The feedback of my best programmer should be my best tool to judge whether a candidate gets hired or not. By solving a problem together, I mean, code and deploy a small application. In reality, the programming interviews are limited to question and answer session combined with a discussion in front of a whiteboard. As a result, the real programming skills of a candidate get exposed only when he or she starts to work in your team.

There are two problems that need to be addressed before this technical problem solving session approach can work for you:

To overcome the first problem, I can build an interview panel with couple of programmers. This interview panel becomes a group of experts in hands-on interview who can be asked to pair in a problem solving session. This will divide the interview workload among your team members. This panel should regularly meet to discuss what they learnt from previous hand-on sessions with the candidates. They should also discuss the probing questions that will help them filter out unsuitable candidates. Keeping interview panel in sync and having regular knowledge sharing should be a regular activity managed by me as a manager.

To overcome the second problem, I can build a sandbox image which contains all the tools, sample code, IDEs to start working on writing code as soon as the session starts. Any time lost in setting up the environment or finding right version of libraries is a waste which can be eliminated by setting up a good sandbox image once and the reusing it over and over agains for each new candidate. The interview panel should also take responsibility for maintaining this TA sandbox from time to time to add new problems or perform upgrades.

Once I have set up interview panel and sandbox, I can test candidates more thoroughly and use the feedback from hands-on session to decide whether I will hire him or her.

Hiring good programmers is a tough job for the most of the managers, I have known. Managers hire programmers. It is even a part of their job description. As new managers turn into experienced managers, their hands-on programming knowledge declines both due to rapid developments in IT world and the lack of time managers have to practice programming due to other pressing matters.

 
3
Kudos
 
3
Kudos

Now read this

Vagrant: An easy way to create and run portable Virtual Machines

Suppose you are writing a web application and you quickly need a clean Tomcat container running on Ubuntu to test it. Manually building such a container from scratch will take time. If you have team of developers who quickly need a... Continue →