Hiring technical folks – at least good technical folks – can be a tough thing to do. Here is a short How-To Guide that will help you.
Before beginning the hiring process, you need to decide what qualities you need to look for given the position. Certain people will suit certain positions better than others. For example, if you are hiring a technical lead, you'll need them to have good oral and written communication skills, and be able to see both sides of an issue and make a decision. If you are hiring a lower-level programmer, those aren't as important, but having a highly technical mind is.
You should make a detailed list of the qualities you want to look for and the types of questions to ask, before beginning the process.
Finding employees can be a difficult task, and is usually best accomplished through referrals or similar means. I’ve put together a guide on finding good employees with some ideas to get you started.
Good employees have a number of traits, and according to Joel Spolsky's Guerrilla Guide to Interviewing (an excellent reference, by the way), but it boils down to only two things. People need to:
That's it. In more detail, however, people should have:
Once you hear of a prospective hire, you should get a resume from them, and then do a bit of pre-interview work.
First, review the resume:
Once you have reviewed someone's resume, you should conduct a phone interview to make sure you want to spend your time interviewing the person. The phone interview should be fairly short (usually ten to twenty minutes long) and you should try to hit on many of the same points you'll hit in the interview, including:
If you like the person, go ahead and set up a tech screening or a real interview. If not, politely tell them that you'll get back to them if you are interested in bringing them in for an interview.
If you're hiring an engineer, you may want to put them through a second phone interview; this one is an in-depth tech screening. It will help separate the wheat from the chaff, and potentially save you and your colleagues a lot of time when doing the in-person interview.
My favorite way to do a tech screening is via WebEx (or similar). Notify them in advance that you'll be asking them to share their screen with you, and that they should have their development environment ready to go.
If you don't have WebEx, you can also use ietherpad.com, which lets you both share a common document with no login, etc. required.
When you start the interview, login to the WebEx system and ask them to share their screen. Then ask them to write code for you while you watch. Ideally, you'll want to put them through actual tests, such as the HTML/CSS tests. (If you can't get WebEx to work, you can do a similar thing with a shared Google Doc, but I've found this to be less effective.)
Once you're done, either offer to bring them in for an in-person interview, or let them know that you'll be in touch with next steps later.
The in-person interview is the most important part of hiring someone. In it, you will try to determine if the candidate would be a good fit for your company. Interviewing is a skill that takes a long time to master, but here are some ideas to get you started. In addition to reading this and the list of potential interview questions, you should look at Joel Spolsky's Guerrilla Guide to Interviewing, which even has a guide to developer interviews.
Ending the interview: It is a good idea to give the interviewee clues that the interview is ending, such as pushing back your chair and putting down your pencil. If you are interested in this candidate, let them know of your interest and say you'll get back to them. If you aren't sure, or aren't interested, mention you have other people to see and politely let them know you'll get back to them later.
Be sure to take notes during the interview! Also, I always like to take about ten minutes IMMEDIATELY AFTER the interview to write down my thoughts. If I don't do this, my thoughts usually go away.
Checking references is important - it lets you get an independent view on a candidate. However, it can be hard to do, at least in the United States, because of new state and national laws.
Don't delay in checking references. It is very important to talk to the candidate before you interview the references, so you can ask them about issues you feel might be of concern.
In most cases, a candidate will be interviewed by more than one person. This may happen on the same day, or it may happen later. The second interviewer should talk to the first person and be sure to hit any points of concern.
Once you have decided on someone to hire, you should do so right away. Call them and offer them the job. Good people are almost universally hard to find, and you don’t want to lose somebody because you took too much time.
Generally, I like to offer them the job on the phone, but decline to discuss specifics such as salary and vacation time. Those belong in the formal offer letter.
Once you've made your selection, you'll need to tell everyone else that you aren't going to hire them. You can do this via email or a phone call; I generally prefer a phone call. Email is a cop-out; it's how the person you went out with last night tells you that they want to be 'just friends'.
When you do call them, keep the conversation pleasant and don't burn any bridges. Here's what I suggest:
“Bob, thanks for taking the time to come in last week. We really appreciate it. Unfortunately, I'm sorry to tell you that we have decided to move forward with another individual, and we won't be able to offer the position to you.”
Some people may ask why, or what the other individual had that they didn't. My recommendation here is to be polite, but honest. It will help the candidate improve themselves in the future interviews. Here are a few things to say:
Notice how these are phrased: “You were good, but there was another individual who met our needs better.” Its a way of saying 'you need to work on X' without hurting feelings by actually saying 'you need to work on X'. I recommend you do not get into specifics about the interview even if they press; generally comments such as 'we didn't like how you handled your technical demonstration' just breed malcontent.
Hiring people is a hard thing to do, so take your time to do it right. If you're in a hiring boom, you may have to move quickly, but don't rush things. There are studies that say that it costs a company half of someone's yearly salary to find and hire them, so you don't want to make a mistake.
Remember, unless you're bringing a short-term consultant on board, you're hiring the person, not the skills. Good people can learn new skills.
Finally, remember to always use your best judgment and trust your gut. If something doesn't feel right, it probably isn't.
Good luck!