If the programming was done right there wouldn't be a need for QA.
Okay, you've officially just dropped from 'hooting peenhole' to 'jibbering idiot'.
He does have a point you know. Problem is just that he places the cause of faulty programming squarely on the shoulders of the programmer.
Programs can have bugs for a number of reasons, errors in the logic on a design level, poorly written specs, sloppy programmers, simple accidents (misread specs, typos etc.), poor QA procedures, bad time constraints (a management problem), unskilled programmers, poor task coordination/project management... a long list really
It can be the programmers fault, it can also be any number of other people involved in the process' fault.