Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers) 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Customers who viewed this item also viewed
Customers who bought this item also bought
From the Publisher
Where We’re Going
Every good journey begins with a map, and ours appears in the front portion of this book. Despite the linear flow of a book, these topics are entwined and interrelated, as the map shows.
After all, everything is connected to everything else. But it’s somewhat difficult to appreciate that idea with a linear read of a book. You can’t always get a sense of what’s related when faced with countless 'see also' references in the text. By presenting the map graphically, I hope you get the opportunity to see what’s related to what a little more clearly.
With that in mind, the following is roughly where we are headed, despite a few side trips, tangents, and excursions on the way.
Journey from Novice to Expert
In the first part of the book, we’ll look at why your brain works as it does, beginning with a popular model of expertise.
The Dreyfus model of skill acquisition provides a powerful way of looking at how you move beyond beginner-level performance and begin the journey to mastery of a skill. We’ll take a look at the Dreyfus model and in particular look at the keys to becoming an expert: harnessing and applying your own experience, understanding context, and harnessing intuition.
This is Your Brian
The most important tool in software development is, of course, your own brain. We’ll take a look at some of the basics of cognitive science and neuroscience as they relate to our interests as software developers, including a model of the brain that looks a lot like a dual-CPU, shared-bus design and how to do your own brain surgery of a sort.
Get in Your Right Mind
Once we have a better understanding of the brain, we will find ways to exploit underutilized facets of thinking to help encourage better creativity and problem solving, as well as harvest and process experiences more effectively.
We’ll also take a look at where intuition comes from. Intuition, the hallmark of the expert, turns out to be a tricky beast. You need it, you rely on it, but you also probably fight against using it constantly, without knowing why. You may also be actively suspicious of your own and others’ intuition, mistakenly thinking that it’s 'not scientific.'
We’ll see how to fix that and give your intuition freer reign.
Debug Your Mind
Intuition is a fantastic skill, except when it’s wrong. There are a large number of 'known bugs' in human thinking. You have built-in biases in your cognition, influences from when you’re born and from your cohort (those born about the same time as you), your innate personality, and even hardware wiring problems.
These bugs in the system often mislead you by clouding your judgment and steering you toward bad, even disastrous, decisions.
Knowing these common bugs is the first step to mitigating them.
Now that we’ve gotten a good look at how the brain works, we’ll start taking a more deliberate look at how to take advantage of the system, beginning with learning.
Note that I mean learning in the broadest sense, covering not only new technologies, programming languages, and the like, but also your learning of the dynamics of the team you’re on, the characteristics of the evolving software you’re building, and so on. In these times, we have to learn all the time.
But most of us have never been taught how, so we sort of wing it as best we can. I’ll show you some specific techniques to help improve your learning ability. We’ll look at planning techniques, mind maps, a reading technique known as SQ3R, and the cognitive importance of teaching and writing. Armed with these techniques, you can absorb new information faster and easier, gain more insights, and retain this new knowledge better.
Gaining experience is key to your learning and growth—we learn best by doing. However, just 'doing' alone is no guarantee of success; you have to learn from the doing for it to count, and it turns out that some common obstacles make this hard.
You can’t force experience either; trying too hard can be just as bad (if not worse) than slogging through the same old motions. We’ll take a look at what you need to create an efficient learning environment using feedback, fun, and failure; see the dangers of deadlines; and see how to gain experience virtually with mental grooving.
Managing your attention and focus is the next critical step in your journey. I’ll share with you some tricks, tips, and pointers to help you manage the flood of knowledge, information, and insights that you need to gain experience and learn. We live in information-rich times, and it’s easy to get so swamped under the daily demands of our jobs that we have no chance to advance our careers. Let’s try to fix that and increase your attention and focus.
We’ll take a look at how to optimize your current context, manage those pesky interruptions better, and see why interruptions are such cognitive train wrecks. We’ll look at why you need to defocus in order to focus better in the mental marinade and manage your knowledge in a more deliberate manner.
Finally, we’ll take a quick look at why change is harder than it looks, and I’ll offer suggestions for what you can do tomorrow morning to get started.
I’ll share what I think lies beyond expertise and how to get there.
""I've recommended it to anyone who will stand still long enough to listen to me. I was familiar with some of the ideas and techniques from my various readings on the science of learning, but its invaluable to have them gathered in one concise book, especially one geared towards developers.""--Dr. Paul V. Gestwicki, Professor & Director of Undergraduate Programs, Ball State University
""I've always been looking for something to help me improve my learning skills, but i've never found anything as effective as this book.""--Oscar Del Ben, Software Developer
""Absolutely terrific! I'm only beginning the 3rd chapter and I've already found the book VERY, VERY useful. It makes me look at what I am doing and how I do it in a different light.""--Carol Saah, Java Software Developer
About the Author
There was a problem filtering reviews right now. Please try again later.
Now that I have that portion off my chest, I will discus the book as a whole. The authors give a huge amount of tips and advice for improving our thinking. Much of the book is focused on coxing the L-mode (creative) part of our thinking to come forward. All the advice is objective, with a huge amount of source references. It is plainly stated by the authors that not all of the tips/advice will be useful to all users, but instead suggest that you try as many as you can and use those that have positive results.
I would recommend this book to anyone who is interested in become more objective and valid in their thinking. Since reading the book, I feel I am able to incorporate new knowledge much easier. I can also recall information with increased ease. The principles covered in this book can be applied to all thinking and learning, but the information in the book is given largely through computer/programming analogy. This may cause it to be harder to understand for those unfamiliar with these topics.
This reviewer enjoyed Hunt's discussion on the Dreyfus model of skill acquisition, which outlines five discrete stages through which one must pass on their journey: the novice, the advanced beginner, the competent, the proficient, and the expert. It is always interesting to read about this journey, and although many seem to choose five stages for models, somehow it makes sense to do so (this reviewer for example usually thinks of the career of a software professional as a series of progressive stages: coder, programmer, software developer, software engineer, and software architect). Hunt follows up this presentation writing that "by misunderstanding the Dreyfus model, we can rob them of their expertise. It's actually easy to derail an expert and ruin their performance. All you have to do is force them to follow the rules". The author continues by stating that "intuition is the tool of the expert in all fields, but organizations tend to discount it because they mistakenly feel that intuition 'isn't scientific' or 'isn't reasonable'. So, we tend to throw out the baby with the bathwater and don't listen to the experts to whom we pay so much. Conversely, we also tend to take novices and throw them in the deep end of the development pool - far over their heads." To sum up his points, Hunt states that "this is the progression from novice to expert, away from detached and absolute rules and into intuition and (remember systems thinking?) eventually part of the system itself". Very well said.
The chapter entitled "Get in Your Right Mind" was also well done. After a high-level discussion on the different modes of brain processing in the previous chapter, Hunt continues by investigating how these modes might apply to the reader. Contrary to some other reviewers here, this reviewer enjoyed some of the author's sidebars, including one named "Sh**ty First Drafts", in which Hunt shares a quote from author Anne Lamott: "Perfectionism is the voice of the oppressor, the enemy of the people. It will keep you cramped and insane your whole life, and it is the main obstacle between you and a sh**ty first draft. I think perfectionism is based on the obsessive belief that if you run carefully enough, hitting each stepping-stone just right, you won't have to die. The truth is that you will die anyway and that a lot of people who aren't even looking at their feet are going to do a whole lot better than you, and have a lot more fun while they're doing it". And although much of the information in the chapter entitled "Learn Deliberately" might be found elsewhere (including from one's own experience), Hunt well presents information on why one's ability to learn might be the most important element of success, starting with what learning is and is not actually all about: "Many HR departments haven't figured this out yet, but in reality, it's less important to know Java, Ruby, .NET, or the iPhone SDK. There's always going to be a new technology or a new version of an existing technology to be learned. The technology itself isn't as important: it's the constant learning that counts". This reviewer especially appreciated the author's follow-up on this topic later in the chapter, where he states that "one major difference between knowledge investments and financial investments is that all knowledge investments have some value. Even if you never use a particular technology on the job, it will impact the way you think and solve problems".
This book offers a great deal more than a common "how to" book in that Hunt provides a great deal of context associated with the topics that he covers. With many direct references to other books and material, I found myself noting a lot of the books that Hunt references as books for future reading.
Anyone with a desire to maximize the manner in which they think and learn, or a desire to understand these processes better, stands to benefit from this book. Highly recommended due to its real-world uses and implications, combined with its rich and interesting historical content.
Top international reviews
I'm nearly finished, worth the time.
Well, this book opened my eyes to a completely different style of thinking...
I now begin to understand, where the creative power within Google, Apple and the like comes from.
Up until now, I could not see the connection between a bean bag or table tennis table in the office and the creative process.
The book explains:
- the process from moving from Novice to Expert
- How to begin to harness the power of the creative side of the brain
- How to 'really' read and learn from books
- Along with numerous exercises and tips
I am busy starting out, trying to find out how I can build "morning pages" and other exercises into my hectic morning routine.
Don't be put off by "Pragmatic Programmers", there is an awful lot of useful stuff for anyone seeking to "refactor", upgrade, re-configure or even CHANGE the way go about things through enhancing their creative side.
An excellent, useful and most of all readable book.
The book is very well laid out and walks through the ideas in quite a logical manner. Some of the techniques I had read about previously, although many new techniques that I was not previously aware of! Mainly that your brain needs some time off!
I would recommend this to any new programmer or young professional starting out in their chosen field.
On the other hand, the first half of the book is worth the read and the price of the book.