At my unpaid internship, I came in with no programming experience. They basically paired me with sr. programmers so I could learn how to program efficiently, but was still too inexperienced to give me actual client work they could charge for. Believe me, I wouldn't want to charge the client either for the crap that I put out initially. But their investment will eventually pay off because when my skills strengthen enough to meet their standards, they'll hire me.