The number one thing that programmers need to learn, and from what I have seen, don't at University, is how to read documentation and apply the learnt concept to their code. The easiest way to learn to do that is to learn by doing. Programming is probably the easiest thing in the world that requires a fair amount of knowledge to do without formal education - the resources are vast and great. A mixture of a good language (personally, a huge fan of Python, and it's often considered a good language to learn, but really, anything with a large standard library will do), it's documentation, Google and StackOverflow will be enough.