We have the following hiring process at Gnip, each step dependent on the previous one going well:
- 1on1 phone screen. 30 minutes.
- 30-45 minute coffee/tea with the whole team. informal get-to-know-eachother. casual conversation about who we are, who the candidate is, and everyone gets a sense of technical depth and capability.
- 4 hour on-site pair programming session. heavy technical discussion, and coding session working on actual code that Gnip needs to deploy; feature, bug, or whatever.
- Job offer
If any one of the three steps leading up to a job offer doesn't lead to the next step, I communicate that fact to the candidate (usually over email). What gets said in that communication is generally never easy to say. Some candidates wind up not liking Gnip along the way, and for them, hearing that we weren't interested yields a sigh of relief as they got an easy way out of having to tell us they weren't interested after all. Often this isn't the case however, and I have the un-enviable responsibility of telling someone things aren't going to work out.
Describing exactly why they aren't going to work out is not easy; "it's not you, it's me" doesn't fly. Folks always say they want the brutal, honest, truth (I know that's what I would want), but delivering that on too deep and analytical a level, can often open up a conversation the barer of "bad news" doesn't have time for. Sometimes a declined candidate will want to discuss why our perspective was wrong, or why they were having an off day.
If you're in the position of having to tell someone "no," it's important to be decisive, clear, and to bring closure immediately. I also feel it's important to provide constructive feedback so a candidate has at least some information they can use to understand why things weren't a great fit. Perhaps they have a misconception about how they project themselves, or their skill-set, that they may want to "fix." Giving them enough to go on, I feel, is helpful and important.