A few things in this pierce struck a cord with me. I am a computer science Ph.D. doing a postdoc in statistics department, working on biostatistics, and as I am recently looking for a job and did a few interviews, some observations may be helpful to job candidates.

First, people are pigeonholed into certain roles. Statisticians analyze data and design experiments. They are expected to know classical statistical fields, theorems, and their standard usage and caveats. Programmers should be able to answer standard programming questions, such as dynamic programming, balanced tree, etc., and of course write programs. In large company where specialization is the mantra, expertise in both fields is not an assert in interviews.

Second, multidisciplinary experience can be a liability. Since my experience in statistics is nonstandard, more of signal processing than classical statistical inference, I am not as conversant in classical statistical theory as a statistical Ph.D. does, especially because genomic research often prefers most basic methods, as in industry. Interviewers rightly ask about things they know, and are not impressed if one cannot answer questions they learned in graduate class. It is similar with computer engineering interviewers. They will ask me to implement an interval tree or dynamic programming algorithm in 30 minutes. Most of my heavy programming is in numerical analysis and optimization, where dynamic programming is very different from what a programmer thinks it is.

Third, depth is not required in industry, and certainly not in interview. Interviews now-days feel very much like college entrance exam in China or one of those East Asian countries, where people are expected to regurgitate set answers and the most important trick is to meet expectation. It is not important to master materials but to have right answers. And the right answer depends on the person asking question. One may considers SVM to be mainly a kernel trick that molds nonlinear relation into linear function, while another considers SVM as finite approximation of dynamic optimization with a breakthrough in quadratic programming that efficiently solves the two-points boundary problem coming out of dynamic optimization. This gets back to pigeonholing roles. A professional statistician will prefer one while a control/dynamic system expert will like the other. The killer is that some interviewers ask questions with their preferred answer in mind, and the questions can baffling to people with different background.

Forth, different companies demand different capabilities for supposedly same roles. Data scientists can be as mundane as denormalization or as sophisticated as inventing a way of causal inference. It is not always easy to tell from ads. It is even less so when the company wants jack of all trades and experts in all possible tasks. Ask very pointed questions.

Fifth, there is no advantage in being both good programmers and good statisticians, at least in interviews. I have already noted several disadvantages. People much prefer build inter-disciplinary teams each member of which is tasked with one special area and let them talk. It works well. I cannot think of anything that requires expertise in both programming and statistics in one head. It may be a little slower, but not noticeable.

I am having doubts about a position in a large company because of too much specialization. I like to derive an algorithm and implement it efficiently. Even if I could get a position, and I could if I cram for interviews, I would be at a disadvantage when others can concentrate on one area. Sadly, academia is becoming very much like industry, except they count papers or grants instead of make money. I am still looking for my niche.

I guess the gist of my rant is that today's job market demands specialization and people better conform.