How to get better at Programming
http://youtu.be/qN7u1j44QTo
Richard M Stallman talks about it. I wholeheartedly agree with his claim. Programming is a craft, not a science, it cannot and should not been seen as academic exercise, like reading books, solving problems from scratch and feeling complete, but programming should help you build something, contribute to building of something, like you can contribute to an existing Free Software.
Excellent point.