• Steve, your article is well written and makes the important points. I haved hired a lot of peope during my career in IT, and have found a fairly basic and dependable process that rarely results in a bad hire. There are three legs on the "hiring stool", and without those three legs the candidate should not be brought on board.

    1, Avoid personality problems. Does the candidate have the personality to mesh with, and work well with, the current team members? Having the hiring manager and one or two team members participate in the interview should allow you to quickly determine this.

    2. Basic smarts. Does the candidate have the necessary brain power for the job? One tool is your own judgement during the interview, based on questions ranging from, when to ask for permission and direction and when to steam ahead on your own, to, how would you handle situation X? The second tool I have successfully used is a generic (not programming language specific) logic test. If they did well on that and the first set of questions they were asked, they have always met my needs in the brain power category.

    3. Knowledge. The last leg of the stool is based on your requirements for the job. Here you look at not how smart they are, but what knowlege and experience they have acquired. Do they have the basic knowledge needed? I use existing team members and/or other strong technical people to do a "tech" interview. Using a standard set of questions, which focus on the key areas of technical knowledge needed, you can get a very good read on a candidate's true level of technical knowledge. This portion of the interview can range from programming language skills to project management concepts, including soup to nuts project path steps, such as design methods, coding style, unit/system testing approach, and interaction with QA and end-users/business analysts.

    The above steps are used only for the small selection of candidates having made the initial cut based on reviews of resumes. There is one other item that can be a significant part of the decision making process. A recommendation from an existing experienced and trusted employee, based on their knowledge gleaned from having worked with the candidate in the past. This is invaluable because they can relate that knowledge of the candidate to the current team dynamics, the knowledge of the type of person the hiring manager prefers, and the requirements of the job opening.