This brings up an interesting observation about the discipline of Computer Science: while you're at school, what you're learning throughout all of your Computer Science classes is not how to program, but rather how to approach the problem, and use the limitations of the environment you're working in to make the most efficient way to solve the problem.

At least at any department worth its salt, that should be what you are learning. I've had professor after professor exonorate to the class that this is NOT a trade school, that the reason for the ulcers and $15,000 a year is to learn how to think, not to learn how to do a simple, rote task.