Interviewing With Code Samples

From InterviewingWithCode.

DanilSuits:

I've always wanted to do a code review as an interview. Warn candidate in advance: "We want you to bring in a page of good code. We don't care where you find it, so long as it meets your own standards and you are familiar enough with it to answer detailed questions about it."

The one advantage of using the same code fragment is (at least the illusion of) consistency between interviews

That's true, but you don't get the insight into what the individual candidate believes is good code.

(My immediate reaction to this, as a potential candidate is, "yes, I'd always be more than happy to review and discuss my work with anyone interested in talking about it. BUT: I don't own any of the code I've written for the past several years, and I never steal code when I leave a project. So that may put us in a kinda' tough situation. -- JeffGrigg)

If, in the last several years, this hypothetical candidate has not shown enough interest, curiousity, or enthusiasm for his chosen career to write a single page of code in an area of his own interest on his own time, I don't even want to interview him.

I may spend 60 to 100 hours a week writing code at work. When finished with work, one should go home, visit with family and friends and have a well-rounded lifestyle. (I'm an avid bicyclist, for example, and I visit caves.) It happens that I do however, read computer-related books (and converse over the Internet) at home. These are things that can't and maybe shouldn't be done at work.


Similarly, if he doesn't own any books that have good code in them, why waste his time bringing him in?

Over the past 25 years I've read a great number of books and magazine articles, many of which contain code samples and even complete programs. I'm consistently appalled by the poor quality of published programs. We recently picked up a persistence framework from a Microsoft book, and an open source web session management package (downloaded by 7500 people). Each has taken nearly a month's work each to meet my minimal standards for production readiness; they simply lack adequate design, thought and consistent implementation of abstractions. (But, on the other hand, I could have started with the code from our company's official library -- which is even worse. ;-)


In response to the 'I don't own any of my own code': Do you honestly think that writing a single page of good (by your own definition) code is too much work to do for an interview? Wow.

One page of code out of a bigger system is much more interesting than something that fits entirely on a page. What would you write, a stack?

Another issues is that as a programmer, I'm quite willing to deal with programs I write that are incomplete - since I can mod the code when I feel the need, and can hack around any issues without regard to efficiency or speed, since it's rare that my home code ever does anything on 1TB of data. My home code is my hobby, and so doesn't need to meet the same standards as my production code.


EditText of this page (last edited January 2, 2004) or FindPage with title or text search