The Pragmatic Programmer
Meta-programming at it's finest. Be a better programmer.
Joel on software blog:
Here's an example post.
There's quite a bit to learn in there.
Many other books available free online. Primarily I suggest you read to an end, and as you get to a stagnation point you alternate between reading to learn new technologies or languages and reading to improve yourself as a programmer.