Amazon.com
Programmers are craftspeople trained to use a certain set of tools (editors, object managers, 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. Most programmers arrive at the so-called tricks of the trade over time, through independent experimentation. In The Pragmatic 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 also 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 more light-hearted. In the debugging section, it is noted that, "if you see hoof prints think horses, not zebras." That is, suspect everything, but start looking for problems in the most obvious places. There are recommendations for making estimates of time and expense, and for 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. --David Wall
Topics covered: A useful 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. This approach is presented with the help of anecdotes and technical problems./p>
Reviews From AMAZON.COM
Required Reading for ALL junior programmers
The preface says "this booked is aimed at people who want to become more effective and more productive programmers", but after reading this book, I think the book should be required reading for all junior programmers. In around 300 page, this book isn't heavy reading like code complete 2, but it gives a brief overview of almost every philosophy which every programmer should embrace, ideas such as DRY, lower coupling, MVC paradigm. I strongly recommend this book to every junior programmer (if you're an experienced one you should already know everything this book talks about)
Great book to have in your top drawer.
This book won't teach you how to program. This book won't teach you any theory. This book won't teach you any history.
What this book will teach you is everything you knew was true but were afraid to hear from someone else: That you are not as good a programmer as you thought you were. Throughout this book you will encounter examples of mistakes all of us make, some that can be ignored, some that will completely turn your code upside down in no time.
The good part is that it gives you hints and recommendations on how to avoid making those mistakes, and how to improve your code and make coding a little more pleasant for you and others who might work on it.
Even if you already know most of what you see here, it is always good to refresh those thoughts so that you don't fall unexpectedly into a bad habit.

ISBN:020161622X