Like llama said, programming is more about the principles behind good software design, not the actual languages themselves. Unfortunately, while most places can instruct you on what good design is, I have found that many have problems putting it into practice.
The same basically applies to programming languages; once you learn the theory about the structure, the rest comes fairly easy. One instructor I had said a good programmer should be able to pick up any language in a few weeks, and I've found this holds true.
In our office we have a SAIT grad (myself), a DeVry grad, a few from UofC, and the rest from Universities Eastern Canada and China. While we all have decent coding skills, it is usually myself, the DeVry grad, and one or two of the guys from China that do the bulk of the major design and reviews. It isn’t a matter of level of education, its more about experience and the ability to look at a requirements and seeing how it all fits together. The same goes for hiring; we look for people that can do the work, regardless of education.
When I did SAIT, it taught decent skills for design, documentation, and management that was, in many respects, more hands on than UofC courses (my brother did that one. Might be able to get comments out of him here). While it did lack the amount of theory the UofC gives, most of what I have learned has been on the job. Even the courses I am taking through Athabasca University right now (upgrade to a degree) really only supplement what I am doing at work, not really teaching me whole new concepts.
And doing your own projects, or helping an open source one, on the side is a great way to learn and test out new techniques without the threat of blowing up an internationally used application. SourceForge.net is a good place to start.
|