My Favorite Interview
Several years ago I interviewed for a job with Endpoint. I ultimately went with a different company, but I was so impressed by how they did their interviews I thought I should share and get the idea out there.
The first interview is pretty standard. Someone (typically a developer) calls the candidate and asks them general questions to see if he or she will be a good fit for the company. If that goes well, they schedule a technical interview. It is the technical interview that is remarkable.
They invite the candidate to join an IRC channel where the team hangs out. The team chats a bit with the candidate, then they give the candidate an IP address, username, and password to shell into a special interview server that’s hosting an example site. When a candidate has demonstrated that he or she can log in successfully, the technical interview begins. The candidate is emailed a list of tasks and given an hour to complete as many he or she can. Some of the tasks are: find out a bit about the system (which processes are running, which type of Linux it is, etc.), fix the error that Passenger is throwing, check code out/in of github, add an “About Us” page to the site, add a simple feature, modify an existing feature, and fix a broken test. The candidate can ask the team questions or get clarification via IRC during the hour.
Why I enjoyed it
When I was done I felt like I had a good feel for the company and the work they did. The team members work remotely, so chatting on IRC made sense. The tasks I worked on were tasks that I would expect in a typical workday. I was unfamiliar with Spree and I asked them questions the same way I would of a co-worker.
Basically, the skills they needed were in line with what they asked of me.