Recommended Reading
- 2 minutes read - 266 wordsHere are some books that have helped me understand programming. This list is a living document that I plan to update as I read.
Recommended Reading
Beck, Kent and Andres, Cynthia. Extreme Programming Explained: Embrace Change. XP won, and this book from Kent Beck is the primary source. I revisit it often to find or refresh my ideas about software delivery.
Hoover, Dave and Oshineye, Adewale. Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. Dave and Adewale provide a template for helping yourself or your teammates grow in their early careers. Some ideas that have greatly influenced me: wearing the white belt, exposing my ignorance, and being the worst person on a team.
Hunt, Andrew and Thomas, David. The Pragmatic Programmer: From Journeyman to Master. Andrew and David expertly explain the best ideas I know about programming as metaphors. If you want a shortcut to understanding how great programmers think, start here.
Krug, Steve. Don’t Make Me Think: A Common Sense Approach to Web Usability. Steve encourages us to ask our users to make as few arbitrary decisions as possible. If they’re thinking, you’re losing money.
Metz, Sandi. Practical Object Oriented Design in Ruby. Sandi’s book is the best introduction to Object-Oriented Programming I’ve read.
Norman, Don. The Design of Everyday Things. Diving deeper into design, I recommend this insightful book. Don shows how our minds approach tools, and how those tools can compliment or frustrate human psychology.
Petzold, Charles. Code: The Hidden Language of Computer Hardware and Software. I loved this book. Charles teaches us a mental model of how computers work from first principles.