In order to interview with me you have to complete the following laborous and difficult prescreening steps:
1. Click on a button to apply
2. Reply to a form letter asking 9 questions such as “Do you have a high speed internet connection?”
3. Setup an interview time with me, solving the difficult problem of converting time zones ( although I even tell the canidate what the time zone difference is in step 2).
4. Show up
The trials must be difficult indeed, considering that of about 800 applicants, only 6 so far have gotten to step 4. The only ones I’ve rejected out of hand are those that reply to my form letter with an unmodified copy of the same resume they sent in the first place (and no other information), or that ask a ridiculous salary requirement (the new record is $200K ). It doesn’t happen that often, maybe 1 out of 40 applications.
Keep in mind I’ve lowered my bar massively. According to my normal standards, of those 800 applicants, maybe 799 of them I would have normally just deleted immediately.
So going onto the interview, it’s really hard to tell who is qualified and who is not. Sometimes they surprise me with what they know. For example, I think every canidate I’ve asked so far knows the formula for the dot product of two vectors. It could be they are just looking it up online. There’s no way to tell unfortunately since I’m doing instant messenger interviews right now.
They also surprise me with what they don’t know, or cannot answer. One of my interview questions is “Please give me an example of a difficult problem you solved at school or your current job, that demonstrates to me your programming ability.” If you had asked me that back when I first graduated, I could have spoken for hours. I would have told you how I implemented my own set of data structures, including the difficult B+ tree. I could have told you how I wrote a networked game demo in my spare time, before graduating, so I could have something to show to potential employers when I did graduate. I could have told you how I was so fast in my programming class in high school, I had nothing to do so wrote my own game in my spare time, which became so popular in class the teacher forbid us playing it anymore.
The responses I usually have gotten so far is something along the lines of “My job description is to write foozle for platform fizzle” but with broken, misspelled english that took 30 seconds to get a 5 word response to. So I always wind up asking again “That’s fine, but that’s not what I asked. What I asked is…” Sometimes I wonder if it’s them or if they just don’t understand my English.
Another one is “Please describe some data structures to me, and give me as much information as you know.” The response, a minute later will be “List, array, queue, tree” but misspelled. I sit there… and sit there… and eventually ask “Is that your complete answer?” When pressed, they seem to eventually give me the information I want. I’m not sure what the problem is. Maybe they are looking it up online? But if they were, why would it be misspelled?
On the other hand, if I ask something like “What does the friend keyword do in C++” they usually give a pretty good answer right away, even better than I would have thought of. I think it’s something they memorize. Unless they are looking that up online too.
Maybe I should just stick to phone interviews.