Regardless of programming language(s) or operating system(s) used or the environment they develop for, what should every programmer know?
I'm interested in becoming the best programmer I can. As part of this process I'm trying to understand what I don't know and would benefit me a lot if I did. While there are loads of lists around along the lines of "n things every [insert programming language] developer should know", I have yet to find anything similar which isn't limited to a specific language.
I also expect this information to be of interest and benefit to others.