I'm amazed at how many new programmers enter the workforce without a basic understanding of the stack and the heap.
They learned programming by reading blogs and pirated PDF files on BitTorrent. Of course they don't got a level of understanding most hackers here have.
You want a good programmer you need 15+ years of experience plus a good understanding of computer science, recent high school and college dropouts don't have that.
You hire a cheaper labor source, you won't get that level of quality a more expensive labor source will give you and you get what you pay for!