Interviewing Ruby Programmers

Interviewing Ruby Programmers - O'Reilly Ruby:

"Compare and contrast Ruby with your second-favorite language.
...
Describe any two features you'd remove from Ruby to improve it, and explain what changes would be required in the lexical analyzer, bison parser, and interpreter in order to effect these changes.
...
Describe in detail the name-resolution chain for constants (i.e., if you reference a Constant in your function, where does the interpreter look for the definition of that constant?)
...
If you were to write a Ruby Style Guide for your company, what are some of the things you'd put in it? Would you include a maximum line length? If so, how long would it be?
...
Can you think of any possible justification for the Ruby on Rails core source code using a line-wrap width of 500 characters, or whatever the hell it is?
...
Pick any five C++ or Java 'design patterns' and explain how to accomplish the same effect in a tiny amount of Ruby code.
(Can you tell I'm a harsh phone-screener?)"

These are not your average interview questions. Instead of asking how you would solve a problem, they are asking how much you know about the language. In this case, they are asking about some of the features of Ruby that distinguishes it from the rest. Unless you have been programming long enough in Ruby and have used some of its advanced features, this is probably going to be a very bad round of interview for you. There are of course ways to answer all of those questions, but you must ask yourself, is the Ruby way? If those questions were asked in Java, there is also a Java way of doing things. Now, the question remains, who asks such questions?

The author is certainly a die-hard Ruby fan. But then again, he is trying to recruit the best Ruby programmers. And those questions above are not his only set of killer questions. If you go and read his article, he is going to ask all sorts of other stuff that I doubt most people would know (well, maybe I am wrong, but the people I have worked with do not really know this). Stuff like metaprogramming (which is language dependent) is something that he considers very important for a Ruby programmer.

Bottom line, if someone passes all those questions, he is certainly a good candidate for hire. And I mean a real good candidate. For bonus points, if he or she can answer all the above questions (with some modifications) for at least 2 other languages, you definitely have a good hire. Or do you? Wouldn't you be scared that one day he or she will higher paid than you?


comments powered by Disqus