The interview process, be it a couple hours or a couple of days, is an important first step in establishing a relationship with a prospective employee. Software developers are in high demand and so the interview is as much your chance to sell the candidates on your organization as it is their chance to show you their skills. During the interview process, three types of skills are examined: the candidates' technical skills, their business skills, and their behavioral skills. Besides one-on-one interviews, having a candidate interview with a group of your current developers can be very insightful. Since most development involves group interaction, there is no better way to start evaluating this than during the interview process.
The technical skills segment of an interview is where you start to categorize a candidate's technical skills. Many candidates will put a broad range of technologies on their resume. You need to ascertain which of these the candidate is really an expert at as opposed to something they read an article on two years ago.
Last but certainly not least important, the interview is a good chance to start evaluating a candidate's values and seeing if they align with those of your organization. Below is a list of what many development organizations categorize as winning and losing values along with sample questions you might ask a candidate.
A good software developer needs to be able to take initiative. No organization can afford to simply have software "factory workers" to whom you hand detailed requirements and later are returned perfect code. Will the candidate run that test one more time just to be 100% sure the program is operating correctly? Will they look for ways to improve the design they are working one? There are countless ways developers' initiative will lead you to more successful software.
A good developer needs to be dedicated to his or her work. There are likely to be times when your project will require extra dedication from each developer to meet an upcoming schedule milestone, solve a difficult bug, or meet some other constraint.
Other values to look for in developers include:
Just as there are winning values to seek out in software developers, there are definitely also losing values you should avoid. These include:
individual contribution at the expense of the team
developing alone in the closet and not talking to anyone or asking for guidance or input.
proprietary knowledge and ownership
strict organization structure and hierarchy