The Pragmatic Programmer

The Pragmatic Programmer: From Journeyman to Master is a book about computer programming and software engineering, written by Andrew Hunt and David Thomas and published in October 1999.[1][2][3] It is used as a textbook in related university courses.[4] It was the first in a series of books under the label The Pragmatic Bookshelf. A second edition, The Pragmatic Programmer: Your Journey to Mastery was released in 2019 for the book's 20th anniversary, with major revisions and new material which reflects new technology and other changes in the software engineering industry over the last twenty years.

The Pragmatic Programmer
  • Andrew Hunt
  • David Thomas
SubjectsEducation, computer programming
Published1999 by Addison-Wesley
Publication placeUnited States

The book does not present a systematic theory, but rather a collection of tips to improve the development process in a pragmatic way. The main qualities of what the authors refer to as a pragmatic programmer are being an early adopter, to have fast adaptation, inquisitiveness and critical thinking, realism, and being a jack-of-all-trades.[5]

The book uses analogies and short stories to present development methodologies and caveats, for example the broken windows theory, the story of the stone soup, or the boiling frog.[6] Some concepts were named or popularized in the book, such as DRY (or Don't Repeat Yourself) and rubber duck debugging, a method of debugging whose name is a reference to a story in the book.[7]

Publication history

  • The Pragmatic Programmer, Andrew Hunt and David Thomas, 1999, Addison Wesley, ISBN 0-201-61622-X.
  • The Pragmatic Programmer, 20th Anniversary Edition, David Thomas and Andrew Hunt, 2019, Addison Wesley, ISBN 978-0135957059.


  1. ^ "8 Most Influential Books on Programming of All Time". 11 January 2016.
  2. ^ "Top 40 Software Engineering Books".
  3. ^ "12 Most Influential Books Every Software Engineer Needs to Read". 16 March 2015.
  4. ^ "CSE 331 17sp Software Design & Implementation: Information and Syllabus".
  5. ^ Hunt and Thomas, pp. xviii–xix.
  6. ^ Hunt and Thomas, pp. 7-9.
  7. ^ Pete Goodliffe (2014). Becoming a Better Programmer: A Handbook for People Who Care About Code. O'Reilly Media. p. 82. ISBN 978-1491905586.