Broadly speaking, we are looking for two things when adding more people to our team:
Our hiring process is oriented around finding the answers to these two questions.
When answering these questions, we believe in being cautious. Hiring a poor candidate is far more expensive than not hiring a good candidate. Decisions about candidates are made by consensus among the people involved with interviewing that candidate. Not only must all interviewers approve of the candidate joining the team, but we also look for the presence of a "champion" (somebody who is excited about the hire) to avoid the trap of conformism creating a weak consensus.
All resumes and cover letters are reviewed by our lead engineers. Other than referrals from current employees, our main sources are the list of open positions at Bizo and emails to firstname.lastname@example.org.
If a candidate has a promising resume and cover letter, the next step will be for one of our engineers to conduct a technical phone screen. These calls are typically about 30 minutes (although they may last up to an hour) and focus on coding ability. We expect that candidates will be in front of a computer with internet access and be able to use one of the many free collaborative editing tools.
Some tools we have successfully used in the past include:
Because of the increased cost and effort of traveling to San Francisco, remote candidates will typically have at least two phone screens before we proceed to onsite interviews.
Onsite interviews consist of at least four 45-60 minute interviews. Each of these is one-on-one with one of our engineers. Both onsite and remote engineers will be included in these interviews. The goal of each session is for the interviewer to be able to say "Yes" or "No" on hiring that person.
Topics include a mix of computer-based programming exercises, whiteboard questions, and more general questions about the candidate's background, programming philosophies, etc. Discussions about compensation and similar topics are handled by Donnie, our CTO. Depending on his schedule, he may be available onsite as a fifth interviewer or may need to schedule a phone call later.
Candidates are encouraged to bring their own laptops so they can work in a familiar coding environment.
Additionally, we schedule a social lunch or happy hour with candidates to provide a less formal opportunity for us to get to know them.