And also (and very important) you should not let be overwhelmed by those big, big unbreakable diamond walls you'll find while programming. If so, let the program down for a while and try to come back to it with a fresh mind.