Hiring the right people is a hard problem. The standard approaches, hiring software developers on the basis of code scribbled on white-boards or a series of narrow technical questions, are bad. Instead, I favor three different approaches, depending on the level of the position: We should hire new grads based on internship performance. We should hire senior developers based of their records of design, implementation,…
How do you hire interns?
If a student insists that he has no code suitable for review, fall back to coding problems, since coding under unrealistic conditions is better than no coding at all. But in such cases I have to wonder what the heck the student has been submitting for assignments and projects, so that's definitely a minus.