They may have some programming bachground, but they are not expected to do programming things, or be a good programmer.
During the past four month, our team communicated a lot with a project manager from a big company. He was very knowledgeable---he can talk about normalization of data, stored procedures, weblogic configuration, build file, garbage collections in Java virtual machines, facade patterns, j2ee blueprint book, just name a few. However, he cannot do any real jobs. If we complainted anything, he needed to have his programmers solve the problem.