The hardest challenge you'll face when hiring engineers isn't deciding which questions to ask or which interview process to follow. It's learning how to take risks on people and working alongside them to accomplish the big mission. It hasn't failed me so far.
Smaller companies and startups really have the advantage here, because they can improvise more in their hiring practices than recruiters at larger companies can. By their very nature, larger companies tend to avoid taking risks on people. They'll focus instead on trying to find that elusive “proven” individual — somebody who already knows everything about mobile development or Machine Learning or whatever skill set they're hiring for — but then wonder why they have a problem with retention, employee satisfaction, and team dynamics. Hiring for skills doesn't work. Hiring for potential does.
I've been very fortunate to have attracted many talented people in my startup career, but most of the time it was because I was willing to take a risk on a person instead of the caliber of their responses to an interview question. I believe that people accomplish great things when they have something to prove. And when you take a chance on somebody, they're going to want to prove you right. They're going to want to make you look like a genius. That's the kind of person you need on a startup team.
At HubSpot, I developed a hiring process that focused on giving the people we interviewed as delightful an experience as we possibly could. This involved a number of different approaches, but the long and the short of it is that I wanted to make sure that every candidate was treated professionally and with respect. I wanted them to tell their friends what a pleasure it was to interview with us, even if they didn't end up with the job.
Instead of trying to hire people based on the information we got from the formal interview process, I emphasized time spent getting to know the applicants at dinners, lunches or more casual get-togethers. Hiring for a specific skill can all too often lead you to hire people who aren't really the best fit for your company, so I try to look more for the most compatible person with our company's stage and DNA, and the candidate's ability to learn, rather than any pre-existing skill set or resume keywords. And I plan to maintain this more personal approach while building the team at Driftt — even as we grow into the many-hundreds-of-people stage.
I’m very specific about the kind of people I like to work with. They need to be hardworking, reliable and dependable. I need to know they're passionate and committed to the mission. Because I'll spend just as much time with my Driftt team as I do with my family, I'll want to make sure we really mesh. So I don’t really ask any specific programming questions — I’d rather just work alongside them for a while. Every single person at Driftt has worked with me as a part-time contractor for at least a month before they were given a full-time offer. It's a method that's really worked for us, and I hope to continue using it for as long as I can.