Recommended Books

Books that changed the way I think about software

prag-prog The Pragmatic Programmer: From Journeyman to Master – The best advice you can get about software development lies within the pages of this book. Everyone who designs or writes software for a living should read this book.
coders-at-work Coders at Work: Reflections on the Craft of Programming – A great collection of interviews with some of the most notable names in software development. This book gives you a glimpse into the minds of the masters.
j2ee-design-development Expert One-on-One J2EE Design and Development – Showed me first hand how complex problems could be solved in simple, elegant ways. The code in this book laid the foundation for the very popular open source Spring Framework.
design-patterns Design Patterns: Elements of Reusable Object Oriented Software – This book will change the way you think about, design, and write object oriented software.
effective-java Effective Java: Second Edition – This book is an absolute must have for all Java developers. It is one of those books that you can read cover to cover, and learn (or re-learn) something every time. It has a permanent spot on my desk at work.

Other good software books

clean code Clean Code: A Handbook of Agile Software Craftsmanship – Great book on the benefits of keeping code clean, along with plenty of tips on how to write clean, concise code.
ruby Programming Ruby: The Pragmatic Programmers’ Guide – Showed me that there is more to life than C++ and Java.
practices-agile-developer Practices of an Agile Developer: Working in the Real World – More sound advice on software development in the real world.
restful-web-services RESTful Web Services – Showed me how simple and scalable web services can be.
release-it Release It!: Design and Deploy Production-Ready Software – Good advice on how to make your software flexible enough to handle the unpredictability of the real world.

Martial Arts

karate-do Karate-Do Kyohan: The Master Text – Master Funakoshi’s seminal text on the martial art that bears his name.
notes-on-training Notes on Training – 30+ years of Tsutomu Ohshima’s notes on training, covering basics, kata, kumite, and practice in general in a very well organized package.