The Pragmatic Programmer: From Journeyman to Master and over 2 million other books are available for Amazon Kindle . Learn more
£23.03
  • RRP: £30.99
  • You Save: £7.96 (26%)
FREE Delivery in the UK.
In stock.
Dispatched from and sold by Amazon.
Gift-wrap available.
Quantity:1
Trade in your item
Get a £8.75
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

The Pragmatic Programmer Paperback – 20 Oct 1999


See all 3 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
Paperback
"Please retry"
£23.03
£17.15 £15.34

Trade In Promotion


Frequently Bought Together

The Pragmatic Programmer + Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) + Code Complete: A Practical Handbook of Software Construction
Price For All Three: £67.79

Buy the selected items together


Trade In this Item for up to £8.75
Trade in The Pragmatic Programmer for an Amazon Gift Card of up to £8.75, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

  • Paperback: 352 pages
  • Publisher: Addison Wesley; 1 edition (20 Oct 1999)
  • Language: English
  • ISBN-10: 020161622X
  • ISBN-13: 978-0201616224
  • Product Dimensions: 18.5 x 2.3 x 23.1 cm
  • Average Customer Review: 4.2 out of 5 stars  See all reviews (35 customer reviews)
  • Amazon Bestsellers Rank: 44,742 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Authors

Discover books, learn about writers, and more.

Product Description

Amazon Review

Programmers are craftspeople. They are trained to use a certain set of tools(editors, object mangers, version trackers) to generate a certain kind of product (programs) that will operate in some environment (operating systems on hardware assemblies). Like any other craft, computer programming has spawned a body of wisdom, most of which isn't taught at universities or in certification classes. Rather, most programmers arrive at the so-called tricks of the trade over time, by independent experimentation. In ThePragmatic Programmer, Andrew Hunt and David Thomas codify many of the truths they've discovered during their respective careers as designers of software and writers of code.

Some of the authors' nuggets of pragmatism are concrete, and the path to their implementation is clear. They advise readers to learn one text editor, for example, and use it for everything. They recommend the use of version-tracking software for even the smallest projects, and promote the merits of learning regular expression syntax and a text-manipulation language. Other (perhaps more valuable) advice is softer. The authors note in their section on debugging, "if you see hoof prints think horses, notzebras". That is, suspect everything, but start looking for problems in the most obvious places. They offer some advice on making estimates of time and expense, and on integrating testing into the development process. You'll want a copy of The Pragmatic Programmer for two reasons: It displays your own accumulated wisdom more cleanly than you ever bothered to state it and it introduces you to methods of work that you may not yet have considered. Working programmers will enjoy this book.

Topics covered: A workmanlike approach to software design and construction that allows for efficient, profitable development of high-quality products. Elements of the approach include specification development, customer relations, team management, design practices, development tools, and testing procedures. The authors present their approach with the help of anecdotes and technical problems. --DavidWall, amazon.com

From the Back Cover

What others in the trenches say about The Pragmatic Programmer...

“The cool thing about this book is that it’s great for keeping the programming process fresh. The book helps you to continue to grow and clearly comes from people who have been there.”

         —Kent Beck, author of Extreme Programming Explained: Embrace Change

“I found this book to be a great mix of solid advice and wonderful analogies!”

         —Martin Fowler, author of Refactoring and UML Distilled

“I would buy a copy, read it twice, then tell all my colleagues to run out and grab a copy. This is a book I would never loan because I would worry about it being lost.”

         —Kevin Ruland, Management Science, MSG-Logistics

“The wisdom and practical experience of the authors is obvious. The topics presented are relevant and useful.... By far its greatest strength for me has been the outstanding analogies—tracer bullets, broken windows, and the fabulous helicopter-based explanation of the need for orthogonality, especially in a crisis situation. I have little doubt that this book will eventually become an excellent source of useful information for journeymen programmers and expert mentors alike.”

         —John Lakos, author of Large-Scale C++ Software Design

“This is the sort of book I will buy a dozen copies of when it comes out so I can give it to my clients.”

         —Eric Vought, Software Engineer

“Most modern books on software development fail to cover the basics of what makes a great software developer, instead spending their time on syntax or technology where in reality the greatest leverage possible for any software team is in having talented developers who really know their craft well. An excellent book.”

         —Pete McBreen, Independent Consultant

“Since reading this book, I have implemented many of the practical suggestions and tips it contains. Across the board, they have saved my company time and money while helping me get my job done quicker! This should be a desktop reference for everyone who works with code for a living.”

         —Jared Richardson, Senior Software Developer, iRenaissance, Inc.

“I would like to see this issued to every new employee at my company....”

         —Chris Cleeland, Senior Software Engineer, Object Computing, Inc.

“If I’m putting together a project, it’s the authors of this book that I want. . . . And failing that I’d settle for people who’ve read their book.”

         —Ward Cunningham

Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement 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;
  • Avoid the trap of duplicating knowledge;
  • Write flexible, dynamic, and adaptable code;
  • Avoid programming by coincidence;
  • Bullet-proof your code with contracts, assertions, and exceptions;
  • Capture real requirements;
  • Test ruthlessly and effectively;
  • Delight your users;
  • Build teams of pragmatic programmers; and
  • Make your developments more precise with automation.

Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices 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.




Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4.2 out of 5 stars

Most Helpful Customer Reviews

58 of 60 people found the following review helpful By A Customer on 8 Jan 2000
Format: Paperback
Many years ago, I visited a friend and slept in their spare room. I found a book on their shelves called "Programming Pearls". (You've probably heard of it; it's a classic.) I sat up half the night reading it.
A few days ago, I visited a bookshop and bought this book. I sat up half the night reading it. In a few years, I think it might be as famous as "Programming Pearls". It certainly reminds me more of "Pearls" than does any other book I can think of.
The book is a whirlwind tour of a wide range of interesting topics. (Examples, chosen at random by opening the book to random pages: "tracer bullets", a variety of exploratory programming; the advantages of plain-text representations of data; how to handle resources like memory and open files; how to apply the old GUI technique of separating "models" and "views" to things that have nothing to do with user interfaces; how to organise a project team; the value of exceeding expectations.)
The writing is clear and lively. The authors have a keen sense of humour and a fine feel for apposite quotations.
The book is structured as a series of 46 sections, in 8 chapters. Along the way, they give 70 brief tips (random examples: "Don't Repeat Yourself"; "Estimate to avoid surprises"; "Write code that writes code"; "Separate views from models"; "Don't use wizard code you don't understand"; "Expensive tools do not produce better designs"; "Sign your work"). There's a pull-out card in the back of the book that contains all the tips, and a few "checklists" too.
I only found one typo. The typography is pretty good, although I happen to detest the main typeface they've used.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
55 of 57 people found the following review helpful By J. M. Dennison on 12 Mar 2003
Format: Paperback
Like most guides, methodologies, or insights this book is best taken as something thought-provoking, rather than prescriptive. It covers a lot of ground in a relatively short space, applying its basic principal to day-to-day software engineering as opposed to just programming.
The key principal is one that I (and most people) probably subscribe to, perhaps even subconsciously, which is called 'DRY', which stands for 'Don't Repeat Yourself'. The difference is that the authors explain how to apply this to _all_ aspects of your job, not just the obvious one which is code re-use and sharing.
In general, the message seems to be 'invest time in the short term to automate and increase efficiency in the long term'. A sensible message, but one that many people (and I most definitely include myself here) avoid doing because of the initial time and effort involved in learning the required technologies and implementing the automation (Emacs and Perl for example).
Other advice I particularly agreed with was the importance of recognizing limitations of methodologies and diagram-types, and using them as a guide and communication medium rather than as an end in themselves. I also really liked the sections on decoupling, which has a nice introduction to JavaSpaces - a really cool paradigm for certain classes of problem.
In summary, this is not really a reference book - instead it's a 'memory-jogger', reiterating many things you already know at some intuitive level, but fail to follow - up due to external pressures or just plain homeostasis.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
72 of 75 people found the following review helpful By Normann Aaboe Nielsen on 4 Mar 2002
Format: Paperback
I am an old hand in the programming theater now - I started as a professional in 1979. I have read many books and attended many conferences and discussions on the subject of programming. Some books were OK, most was too filled with specific coding details to be of any value. Until now, I have only read two books that I feel is any good in describing the programming activities. The first book is only in Danish and was released in 1979 (I still have it). The second book is this one!
I will imidiately agree with some of the negative reviewers that the book states "the obvious". But that is the whole point, dammit! I do know that I should not do so-and-so, but I still do the bad thing occasionally. The book shows me - gently! - other ways.
Some may be irritated because of the elementary stuff and simple language (and "no examples"), but if you need examples, you have perhaps not that many years of practical experience. I, at least, do not feel the need.
Some say that the book is part of the eXtreem Programming paradigm. Well, no - I think the book to be unrelated to a particular school of thoughts. Instead it is a book that every programmer can relate to.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
24 of 25 people found the following review helpful By Symbianist on 22 Jan 2005
Format: Paperback
I liked the book. It's light reading and has sensible advice. But my enthusiasm wore off slightly from the middle onwards. I found it somewhat repetitious. It does help to have the same ideas reinforced (particularly "Tracer bullets", "Stone soup" and "DRY: Don't repeat yourself") but after a few different applications of the same points, I got the idea, and I found the book laboured.
It's a good book though and worth buying for a regular reality check. I think reading it solidly cover to cover once over may not be the best way to use it. To get the most from it, it's probably best to skim over quite quickly, to get to know where the information is, then kept on your desk to dip into regularly when you have ten minutes or so to spare.
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews



Feedback