I am very sympathetic to the idea of training your programmers on the job. I don't know where I would be if my first employer hadn't invested significant time in training me. I came out of college knowing my algorithms, but I didn't know how to actually __make__ something. All I really had to do was shadow a senior programmer for a week, watch how he worked, and ask questions. Within a few weeks I was rolling along, writing production code. But if they just asked me to get started from day 1, I would have been useless to them.