Preparing CS students for programming interviews from day one
21st February 2011
Computer Science is an odd discipline when it comes to job interviews for software developers. Specifically, all interviewees are expected to write code on the whiteboard, irrespective of their background and experience. Let’s assume that I get to interview for a job at Google (which will be a very real possibility if I fail to get tenure). Like a fresh college grad, I will be asked to write code on the whiteboard. The fact that I have close to 15 years of combined industrial and academic experience as well as more than 40 peer reviewed, technical publications will not make any difference. I will have to ask questions like: “How would you remove a node from a doubly linked list?” “How can you find all the neighboring links using a heap?” The fact that I have been teaching these skills to undergraduates for more than five years will be ignored completely. Purportedly, some academics who have not written much code in a while claim to hesitate even applying for a job with Google for that reason.
If we are to use a medical analogy, imagine interviewing an experienced (10-15 years on the job) surgeon for a position in a hospital. Can you imagine asking the surgeon: “What is a scalpel? What kind of scalpels are there?” “Now, cut this cadaver as if you were to perform an appendectomy. Good. Now imagine that there were some complications–show how you’d cut in that case.” I hope you are having a good laugh, because such a situation is unimaginable.