Pragmatic Thinking & Learning
Refactor Your Wetware
by Andy Hunt
Version: P9.0 (May 2014)
Copyright 2008 The Pragmatic Programmers, LLC. This book is licensed to the individual who purchased it. We don't copy-protect it because that would limit your ability to use it for your own purposes. Please don't break this trustyou can use this across all of your devices but please do not share this copy with other members of your team, with friends, or via file sharing services. Thanks.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC.
Every precaution was taken in the preparation of this book. However, the publisher assumes no responsibility for errors or omissions, or for damages that may result from the use of information (including program listings) contained herein.
About the Pragmatic Bookshelf
The Pragmatic Bookshelf is an agile publishing company. Were here because we want to improve the lives of developers. We do this by creating timely, practical titles, written by programmers for programmers.
Our Pragmatic courses, workshops, and other products can help you and your team create better software and have more fun. For more information, as well as the latest Pragmatic titles, please visit us at http://pragprog.com.
Our ebooks do not contain any Digital Restrictions Management, and have always been DRM-free. We pioneered the beta book concept, where you can purchase and read a book while its still being written, and provide feedback to the author to help make a better book for everyone. Free resources for all purchasers include source code downloads (if applicable), errata and discussion forums, all available on the book's home page at pragprog.com. Were here to make your life easier.
New Book Announcements
Want to keep up on our latest titles and announcements, and occasional special offers? Just create an account on pragprog.com (an email address and a password is all it takes) and select the checkbox to receive newsletters. You can also follow us on twitter as @pragprog.
About Ebook Formats
If you buy directly from pragprog.com, you get ebooks in all available formats for one price. You can synch your ebooks amongst all your devices (including iPhone/iPad, Android, laptops, etc.) via Dropbox. You get free updates for the life of the edition. And, of course, you can always come back and re-download your books when needed. Ebooks bought from the Amazon Kindle store are subject to Amazon's polices. Limitations in Amazon's file format may cause ebooks to display differently on different devices. For more information, please see our FAQ at pragprog.com/frequently-asked-questions/ebooks. To learn more about this book and access the free resources, go to https://pragprog.com/book/ahptl, the book's homepage.
Thanks for your continued support,
Dave Thomas and Andy Hunt
The Pragmatic Programmers
The team that produced this book includes: David J Kelly (layout) Janet Furlow (producer) Ellie Callahan (support)
For customer support, please contact .
For international rights, please contact .
For my wife and children, and for everyone who becomes what they think.
Table of Contents
Copyright 2016, The Pragmatic Bookshelf.
What people are saying about Pragmatic Thinking and Learning
This book will be the catalyst for your future.
Patrick Elder |
Agile Software Developer |
By following Andys concrete steps, you can make your most precious assetyour brainmore efficient and productive. Read this book, and do what Andy tells you to do. Youll think smarter, work better, and learn more than ever before.
Bert Bates |
Cocreator of Head First, Brain Friendly Books |
Ive always been looking for something to help me improve my learning skills, but Ive never found anything as effective as this book. Pragmatic Thinking and Learning represents the best way to help you become an expert learner, improve your skills, and teach you how to improve your work efficiency by learning fast and easily.
Oscar Del Ben |
Software developer |
This is an accessible and insightful book that will be useful to readers in many fields. I enjoyed reading it!
Dr. Patricia Benner |
Professor and Chair, Department of Social and Behavioral Sciences, University of California, San Francisco |
I love books that explain that context matters. This book doesand helps you understand why. From the Dreyfus model (a source of many ahas for me) to explaining why experiential training works (the wall climbing story), Andy writes with humor and with tact so you can learn from reading and organize your own thinking and learning.
Johanna Rothman |
Consultant, author, and speaker |
Finished reading the beta last night. I loved this talk at NFJS (and the herding racehorses one), and to have it in book formspectacular. All of this material has really changed my life!
Matt McKnight |
Software developer |
This has been fun, and Ive learned a lotcant ask for more than that.
Linda Rising |
International speaker, consultant, and object-oriented expert |
Chapter 1
Introduction
Welcome!
Thanks for picking up this book. Together, were going to journey through bits of cognitive science, neuroscience, and learning and behavioral theory. Youll see surprising aspects of how our brains work and see how you can beat the system to improve your own learning and thinking skills.
Were going to begin to refactor your wetwareredesign and rewireyour brainto make you more effective at your job. Whether youre a programmer, manager, knowledge worker, technogeek, or deep thinker, or if you just happen to have a human brain youd like to crank up, this book will help.
Im a programmer, so my examples and rants will be directed at the world of software development. If youre not a programmer, dont worry; programming really has little to do with writing software in arcane, cryptic languages (although we have a curious attachment to that habit).
Programming is all about problem solving. It requires creativity, ingenuity, and invention. Regardless of your profession, you probably also have to solve problems creatively. However, for programmers, combining rich, flexible human thought with the rigid constraints of a digital computer exposes the power and the deepest flaws of both.
Whether youre a programmer or frustrated user, you may have already suspected that software development must be the most difficult endeavor ever envisioned and practiced by humans. Its complexity strains our best abilities daily, and failures can often be spectacularand newsworthy. Weve smashed spaceships into distant planets, blown up expensive rockets filled with irreplaceable experiments, plagued consumers with automated collection letters for $0.00, and stranded airline travelers on a semiregular basis.