Getting started as a programmer, what books should one read? This is my list
of the programming books that I think are essential for folks entering the
These books are classics. They introduced ideas and terminology that changed
the discourse. I believe being aware of these seismic shifts is an important
part of doing this work.
Is this list complete? No. I’m still reading, and I expect to always be doing
so. I will update this list over time with new classics I discover. In that
sense, the date on this post is just the moment when I first made the list. It
will be updated.
Please reach out to me if you have recommended additions to this list.
- Beck, Kent and Andres, Cynthia. Extreme Programming Explained: Embrace Change. XP informs so much of modern software development that it’s hard to grasp how revolutionary it was.
- Hoover, Dave and Oshineye, Adewale. Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. This book will help anyone create a strategy for their early programming career.
- Hunt, Andrew and Thomas, David. The Pragmatic Programmer: From Journeyman to Master. A broad survey of the techniques every programmer must know.
- Krug, Steve. Don’t Make Me Think: A Common Sense Approach to Web Usability. A clear, concise overview of how good UI reduces the amount of arbitrary choices asked of users.
- Metz, Sandi. Practical Object Oriented Design in Ruby. Sandi is my hero! Perhaps the defining introduction to OO.
- Weinberg, Gerald M. The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully. Not just for consultants, but anyone who would like to influence a technical organization.