Book Recommendations: Get Conscious
Some days ago I got an e-mail from one of my co-workers asking which books I would recommend for people who've just started their programming careers. I first sat down and wrote a long list of titles, but then I decided to cut it down to just the essentials. These are the books you need to read.
This post, which will be the first in a series on different competencies, is about getting conscious about your craft. The list is not very original, many people have named the same titles before me - this is the reason why you should read them.
Zen and The Art of Motorcycle Maintenance
Robert Pirsig
This book is a must read. In this classic Robert Prisig takes us on a journey across the United States on the back of a motorcycle. The story is punctuated by numerous philosophical discussions on quality. Pirsig's discussions center around science and he goes a long way in demystifying the topic. This book will tell you many valuable lessons that will make you a better developer. You'll improve you abilities of abstract thinking and you'll be more conscious about quality. Best of all, the author tells a great story.
The Pragmatic Programmer: From Journeyman to Master
Andy Hunt, Dave Thomas 
Just like Zen and The Art of Motorcycle Maintenance this book will give you a philosophy lesson. Even if you're a highly experienced developer this book is filled with immediately implementable advice on how you can improve your craft. I've read this book several times and I learn something new every time. Reading a "technical" book over and over again might seem über-geeky, but this book is different from the rest. It is extremely educational and extremely funny at the same time.
Code Complete
Steve McConnell
This book is filled to the rim with software development experience. If you've just started your journey as a professional developer, this book will give you a good idea of the scope of this business. If you're a seasoned developer this book will give you great solutions for the problems you encounter and have encountered in your professional life. One of my favorite blogs, Coding Horror, has lent it's name from this book - read the book, then get the sticker from Jeff.