The Pragmatic Programmer, 20th Anniversary Edition
your journey to mastery
by David Thomas and Andrew Hunt
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
audible.com
Hardcover print book is now available in bookstores worldwide and
through
Pearson
Please note: This title is not eligible for any sales, coupons, or
other discounts.
Dave and Andy 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.
What You Need
Resources
Releases:
2020/01/23
P3.0
*Corrected typos and errata.
2019/10/28
P2.0
Fixed typos and corrected errata.
2019/09/18
P1.0
As a purchaser of the Beta Edition of The Pragmatic Programmer, 20th Anniversary Edition you are receiving an exclusive, limited time 50%* off the list price of the print edition from InformIT, the eCommerce site for Pearson Addison-Wesley, publisher of the new edition. This offer ends October 5, 2019.
To receive your discount, go to
[informit.com/pragprint](http://www.informit.com/store/pragmatic-programmer-your-journey-to-mastery-20th-anniversary-9780135957059?utm_source=pragmaticbookshelf&utm_medium=Email&utm_campaign=PragProgrammer&utm_term=printoffer) and order the
PRINT BOOK ONLY (you already own the ebook, don’t buy it twice!). Enter code
PRAGPRINT when prompted during the Discount Code step of checkout.
**Shipping:**
You may receive free shipping on U.S. orders when you select ground shipping.
**International Shipping**
: Please note that your shipment may be subject to import duties and taxes, which are levied once the package reaches the destination country. InformIT has no control over these charges and cannot estimate what they will be. Any charge that might be incurred is the customer’s responsibility. For further information please contact your local customs office.
See
[here](http://www.informit.com/cart/ordering.aspx) for more information about shipping options.
*Discount code
PRAGPRINT confers a 50% discount off the list price of
ISBN 9780135957059 only, when purchased on
[informit.com](http://www.informit.com). Apply code during checkout to receive discount. Book + eBook bundles, book/eBook + video bundles, Rough Cuts, Safari Books Online, non-discountable titles, titles on promotion with our retail partners, and any title featured as eBook Deal of the Day or Video Deal of the Week are not eligible for discount. Offer expires 11:59 p.m.
EDT October 5, 2019. Discount code may not be combined with any other offer and is not redeemable for cash. Offer subject to change.
2019/07/10
B4.0
This beta is fully content complete and is going to production.
Thanks to everyone for their thoughtful comments and attention. Please read, enjoy, and tell your friends!
PLEASE NOTE: as a beta customer, you’ll get a coupon for 50% off the hardcover at InformIT when it comes out this fall. Think how great that will look in your office!
All the best,
Andy & Dave
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.
- Preface to the Second
Edition

- From the Preface to the First Edition
- 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
- Pragmatic Paranoia
- Bend, or Break
- Decoupling
- Juggling the Real World
- Transforming Programming
- Inheritance
Tax

- Configuration
- Concurrency
- 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
Author
Dave and Andy are the Pragmatic Programmers and founders of the
Pragmatic Bookshelf.