small medium large xlarge

The Pragmatic Programmer, 20th Anniversary Edition: your journey to mastery


Cover image for The Pragmatic Programmer, 20th Anniversary Edition

The Pragmatic Programmer, 20th Anniversary Edition

your journey to mastery


For twenty years, the lessons from The Pragmatic Programmer have helped a generation of programmers examine the very essence of software development, independent of any particular language, framework, or methodology. This classic title is regularly featured on “Top Ten” lists, and many corporations issue it to their new hires.

This new 20th Anniversary Edition offers a fresh look at the modern development landscape, cutting through the “business as usual” and tired advice from the net to help guide you through the next twenty years and beyond. Featuring new tips, new topics, and revisions throughout, you don’t want to miss this one.

Published by Addison Wesley by special arrangement with the Pragmatic Bookshelf. Ebook available here—all available ebook formats for one price, with no restrictive DRM.

Audio book now available from

Hardcover print book is now available in bookstores worldwide and through Pearson.

Please note: This title is not eligible for any returns, sales, coupons, or other discounts.

Choose Your Format(s)

  • $39.99 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

About this Title

Pages: 320
Published: 2019-09-15
Release: P3.0 (2020-01-23)
ISBN: 978-0-1359-5705-9

Andy and Dave wrote this influential, classic book to help their clients create better software and rediscover the joy of coding. Almost twenty years later, its advice is still spot on, and the Pragmatic philosophy has spawned hundreds of books, screencasts, and audio books, as well as thousands of careers and success stories.

This new edition examines the core of modern software development—understanding what is wanted and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you’ll learn how to:

  • Fight software rot
  • Learn continuously
  • Avoid the trap of duplicating knowledge
  • Write flexible, dynamic, and adaptable code
  • Harness the power of basic tools
  • Avoid programming by coincidence
  • Learn real requirements
  • Solve the underlying problems of concurrent code
  • Guard against security vulnerabilities
  • Build teams of pragmatic programmers
  • Take responsibility for your work and career
  • Test ruthlessly and effectively, including Property-based testing
  • Implement the Pragmatic Starter Kit
  • Delight your users

Written as a series of self-contained sections and filled with classic and fresh anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best approaches and major pitfalls of many different aspects of software development. Whether you’re a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you’ll quickly see improvements in personal productivity, accuracy, and job satisfaction. You’ll learn skills and develop habits and attitudes that form the foundation for long-term success in your career.

You’ll become a Pragmatic Programmer.

Contents & Extracts

The Pragmatic Programmer, Second Edition is written in small topic sections, each section ranging from two to ten pages long. Most sections contain a small set of exercises and challenges.

  • A Pragmatic Philosophy
    • It’s Your Life
    • The Cat Ate My Source Code
    • Software Entropy
    • Stone Soup and Boiled Frogs
    • Good-Enough Software
    • Your Knowledge Portfolio
    • Communicate!
  • A Pragmatic Approach
    • The Essence of Good Design
    • DRY—The Evils of Duplication
    • Orthogonality
    • Reversibility
    • Tracer Bullets
    • Prototypes and Post-it Notes
    • Domain Languages
    • Estimating
  • The Basic Tools
    • The Power of Plain Text
    • Shell Games
    • Power Editing
    • Version Control
    • Debugging
    • Text Manipulation
    • Engineering Daybooks
  • Bend, or Break
    • Decoupling
    • Juggling the Real World
    • Transforming Programming
    • Inheritance Tax
    • Configuration
  • While You Are Coding
    • Listen to Your Lizard Brain
    • Programming by Coincidence
    • Algorithm Speed
    • Refactoring
    • Test to Code
    • Property-Based Testing
    • Stay Safe Out There
    • Naming Things
  • Before the Project
    • The Requirements Pit
    • Solving Impossible Puzzles
    • Working Together
    • The Essence of Agility
  • Pragmatic Projects
    • Pragmatic Teams
    • Coconuts Don’t Cut It
    • Pragmatic Starter Kit
    • Delight Your Users
    • Pride and Prejudice
  • Postface
  • Possible Answers to the Exercises


Dave and Andy are the Pragmatic Programmers and founders of the Pragmatic Bookshelf.