We all grow as we learn from experience what works well and what doesn't. Here are some things that good programmers have learned the hard way and have spent the time to write down. These must be important things, because everybody knows how much programmers hate to write documentation!
How NOT to go about a programming assignment - This is written by a Computer Science Professor to outline all the things you should not do if you want to do well in a Computer Science course.
Code Review Checklist - A code review is an opportunity to have your code looked at by others to make sure it does everything it should do and nothing that it should not do. This Checklist will help make sure you check everything when you are reviewing someone's code. Evaluating your own code against the checklist is also a good idea, regardless of whether it is going to be reviewed by others or not. Who wants to be responsible for writing bad code?