How to judge the candidate you are interviewing
makinggoodsoftware.com
makinggoodsoftware.com
Good interviewers should be able to recognize strengths in the candidate that they lack.
#2: ...Make him code using the same tools he would use in the position he is applying for....
What sort of tools is he referring to? I've always been given free reign on my work box, and I put what I want on it. It has to be interoperable, of course.
#3: Good idea, but why leave and come back? Why not just have them talk you through it? I much prefer interactive interviews.
#4: Make sure their personal website doesn't have a link to their Google Apps verification page.
http://www.makinggoodsoftware.com/google50f905a7cdbdd588html...
I assumed he meant languages, frameworks and other things in a project that can't be swapped out as easily as, say, text editors.
A reasonably competent program will be able to create reasonable code without the perfect environment. You probably don't need a full IDE and heavily customized desktop with test and development staging grounds and SCM just to write fizzbuzz.
For a lot companies, their entire infrastructure is a stack open source software and I don't think it's unreasonable to ask if someone is fluent in, say, LAMP.
Also, I think design skills are less valuable than estimation skills. If you can estimate reliably, you can design. The reverse isn't true.
Incorrect use of or failure to use indefinite articles; run on sentences or comma splicing (e.g. in point #3); subject-verb agreement...
I might have overlooked these things in another context, but the article is trying to present tips on "how to judge how good a candidate is", and even talks about communication skills.
If you say it never happened and have more than a year or two of experience, I'll be very surprised.
In our interviewing process we divide up the type of questions to ask the applicant with some overlap. So one guy will ask mostly process-oriented questions (what kind of unit testing do you do), another will ask CS/programming related questions (what are common problems in multithreaded apps and what are some solutions), and another will ask team-oriented and "soft-skills" stuff like the one I mentioned above.
It gives us a more rounded view of the candidate than whether or not he can code.
Good design operates in the face of real world constraints, unlike typical interview questsions (see the article on Apple design about Real Artists Ship).
As an interview question, I used to ask people to design the DB schema for Netflix. Almost everyone could get something that would kind-of sort-of work. Of course there was a gradient of bad to good answers, but a passing or better grade on the question did not help predict whether the candidate would get an offer. Asking FizzBuzz was a better predictor of whether they would pass the interview process.
Personally, I vote we either appropriate "he" to be gender neutral or realize that stereotypes influence language more than language influences stereotypes.
Where the gender is not known, the correct pronoun is "he." A spokesman is a he; a spokeswoman is a she; a spokesperson is a he.
I prefer to leave them alone in a room with only pencil and paper. I want to see every piece of paper when I return, including diagrams, notes, and most of all, the entire audit trail of what they did (cross outs, revisions, etc.) I don't care how it looks or how well it compiles or runs. What I really care about is the thought process they went through. Pencil and paper shows me that much better.
That's exactly what I want to see. I don't care how well you type or how well you navigate an IDE. I care how well you think and approach an unstructured problem under pressure in an unfamiliar environment.
(FWIW, I would never give a problem whose solution would require more than 30 to 50 lines of code. Lots of people would put in one line for the function and then explain the function to me later. No one has ever complained about cramping. You're the first.)
Potential interviewers please note that leaving the candidate in a conference room with blank paper and pencil potentially filters excellent developers who are just not used to literally writing code on paper.
Be VERY afraid. :D