There are many books for Usability, User Experience, etc. but if you are a hard core programmer, I would recommend "Designing Web Interfaces" is good for beginners and "Defensive Design For The Web".
Links: http://www.amazon.com/Designing-Web-Interfaces-Principles-In...
http://www.amazon.com/Defensive-Design-Web-improve-messages/...
Enjoy :)