Even classroom training isn't usually enough to make someone good at their job. The most important lessons I've learned in IT/CS have all been learned on the job. In college they teach you how to code for a specific language, but they can't teach you how to interact with the systems at the company you're going to work for. On the job, you learn how to manage your code in a collaborative environment, how to deal with flaky build systems, how to write good software tests, how to interact with your fellow coders...
_________________________
Tony Fabris