8 ms·
I'm not sure if I'm that guy or not... but anyhow, here's the hiring process that's given me some good results. Note that this requires that your team does pai
by donw 14y ago
I'm not sure if I'm that guy or not... but anyhow, here's the hiring process that's given me some good results.
Note that this requires that your team does pairing.
Interviewing answers three questions: Can they do the job? Do they get along with the team? And, can they adapt when the game changes?
Before your phone interview, let them know that you want to do a short screen-sharing and pair-programming exercise via Skype, in their own personal development environment.
Start with a chat over Skype. Talk to them a bit about their preferences and experiences at other companies. Are they comfortable to talk to? Do they have opinions about the stuff they've worked with? This is important -- A Java developer that doesn't have a vocal preference on checked exceptions or static typing probably isn't very experienced.
Then give 'em the FizzBuzz.
At this point, do you want to hire them?
If so, it's time to invite them into the office.
When they come in, at the very least you should buy them lunch and pay for transportation. They're taking a day, not paid, to come and interview with you -- show some courtesy.
Have them sit down and pair with three of your more senior engineers for a few hours each, both as a pilot and a copilot.
At the end of the day, take your group of three, and see how your interviewee did:
1. Did the candidate demonstrate the expected level of knowledge and contribution?
2. Would they feel comfortable with the candidate as their direct boss?
3. Would they be upset if this candidate went to work for the competition?
If somebody can get through the phone screen and a day of pairing, they're probably competent, and likewise want to continue working with the people they paired with.
- pc86 14y agoI don't know if this is a Silicon Valley thing or what, but the idea that someone would basically do a day's unpaid work on projects they know nothing about with three different people is just about the most foreign thing I can think of. That being said, I've never done any pairing so maybe it would work better in that type of environment.
- ben1040 14y ago>I don't know if this is a Silicon Valley thing or what, but the idea that someone would basically do a day's unpaid work on projects they know nothing about with three different people is just about the most foreign thing I can think of. Yep. That basically amounts to an application fee.
- jasonshen 14y agoIf you think it costs you something to be interviewed (thus your suggestion about an application fee) it certainly costs the company at least that much if not more. They are paying their staff to work with you on something that likely will not produce direct value for the company (usually a throwaway project or trivial task) Plus they will spend time before and after the interview discussing your qualifications, performance etc. It comes out about even.
- rboyd 14y agoBy this logic the candidate should pay half of travel and hotel too.
- nitrogen 14y agoUsually the candidate pays all of it.
- saryant 14y agoReally? Of the three job interviews I've traveled for in the last year, all were paid by the company 100%.
- nickbarnwell 14y agoSeconding this; even for internships I've not once paid for travel costs. Everyone from small, YC startups up to MS/Google paid for cab fare, flights, and hotels.
- doktrin 14y agoThis is highly unusual (if not unheard of). A company would have to be pretty damn unique in order to justify having candidates pay for their own travel + lodging.
- nitrogen 14y ago
- mleach 14y agoThere is more "soft skill" assessment going on with pair programming than "hard skills".
- pseut 14y agoA job interview is going to take at least a day of your time anyway. What does it matter if that time is spent programming, talking over coffee, sketching on a whiteboard, or whatever?
- ebiester 14y agoMany interviews I've had are 2 hour affairs, including jobs I've received where interviews were 45 minutes.
- pseut 14y agoI guess it depends on the position, but the point still stands. Given that you spend x amount of time interviewing, what does it matter how it's spent? (with the obvious caveats that if they spend, say, 3 hours screaming at you as a stress test, you probably don't want to work there, etc etc).
- brown9-2 14y agoWell with a "regular" interview, it's pretty unlikely that the company is going to make any money off of the direct output of the interview. When helping them develop a feature or product, it's slightly different.
- pseut 14y agoAnd...? I'm in academia. I've had job interviews where I've literally gone office to office discussing people's research projects and helping them come up with ideas. It was fun, and it never occurred to me that I was being taken advantage of. Worst case scenario, they might think of me as a potential consultant down the line.
- ry0ohki 14y agoPretend it's not tech, and Starbucks interview consisted of you working as a barista for a day, or Goldman Sachs wanted you to trade stocks for a day, etc...
- hexagonc 14y agoI doubt that work important to the company is done this way. Otherwise, they'd expose proprietary information. Of course, I could be wrong.
- jasonlotito 14y agoSpending a day doing useless work is worse.
- lucian303 14y agoCoding exercises (before even going in for an interview) waste an engineer's valuable time and in some cases a deceitful way for a company to solve problems it can't on its own. Asking people to work for free is ridiculous.
- brown9-2 14y agoI'm curious if you wouldn't mind sharing a few more details of your experience pairing a candidate in the office with your senior engineers. - Are the candidates able to help make meaningful contributions to whatever the senior engineers are working on without having the background and domain knowledge? - Do the employees have to spend a significant amount of the 2-3 hours with the candidate bringing them up to speed on what they are working on, just so that the candidate isn't totally in the dark? If yes, does this totally sideline the employees day/flow? - What do you do if the employees don't have several hours of non-stop coding lined up for the day? I don't doubt this method works well - but I'm curious how you work through some of the stickier issues of pairing a total outsider with a fully-up-to-speed engineer and then evaluating the outsider based on what was produced in those 2-3 hours.
- redditmigrant 14y agoI havent done pairing interviews but I have tried giving candidates some started code and having them develop a solution based on that. One piece of logistical advice here: keep different kinds of keyboards/IDEs available. I use a mac and I interviewed a candidate who wasnt comfortable with the mac keyboard. In an interview situation where a person is already slightly nervous the last thing you want is for them to be worrying about keyboard shortcuts!
- rhizome 14y agoI think a half-done chunk of example code to be finished is a great technique.
- sanderjd 14y agoIn my experience: - No - Yes - You have to put other things on hold and come up with something non-stop code worthy, which may be frustrating. There's a solution I like though - work on a known bug or new feature in some open source project, potentially of the candidate's choosing, but preferably not one either the candidate or interviewer is already a major contributor to. That way both people come to the problem with a similar low level of expertise and have to work together to come up to speed (which is a great real-work-like exercise). It also makes it obvious what to work non-stop on for that time. Bonus points for being way more useful than a make-work wheel reinvention project and for not being free work for the interviewer's company.
- henrik_w 14y agoNo, you're not that guy, tokenadult is :-)
- pfranz 14y agoAt the last place I worked our interview was split into 3 sections; Technical, Personality, and Critical Thinking (mirroring your three questions). While it wasn't a programming job, it was a support job with a wide array of third-party and in-house software, written in a variety of languages. Because of the size and mobility, they preferred resourceful generalists over hiring people who were extremely specialized. When I was interviewing, the whole goal of any puzzles wasn't to find the answer, but insight into their process of assessing the situation and seeing how reasonable their through process was. If they were familiar with the puzzle, it was obvious because there wasn't any thought process before answering--which isn't a problem, just move onto the next question.