UX Smells: Design better products by knowing the signs of bad UX
After I got past the "how do I get this to compile" stage of software development and started to actually build real products, one of the most useful static references I encountered was Jeff Atwood's list of code smells - a list of the little things that pop up on the surface of codebases often indicating broader architectural problems. Code smells are great because once you learn to recognize them, you can save a ton of time by quickly refactoring code before the faulty architecture becomes too entrenched and a massive effort is required to do anything about it.