There are books you read once, and you don’t plan to read them back again any time soon. However, some books are so influential and valuable that when you decide to study them the second time, you realize that it was the right choice, and you could make this call a few years earlier. Today I would like to show you a book that belongs to this second group — no doubts about that.

The two links to in the following blog posts are affiliate links. If you decide to purchase a book through those links, I will earn a small commission, without affecting the regular price. This way you can support the work I do on this blog. Thanks for your understanding!


I bought my paperback copy of "Pragmatic Thinking and Learning" book six years ago (March 27th, 2013), and it has blown my mind during the first read. It was written by Andy Hunt and was published by the Pragmatic Bookshelf in 2008. It introduced me to the entirely new ways of learning, practicing and crafting technical skills, the existence of I was unaware. Like most of the people, I was blindly following unpractical learning techniques we all have learned in the school. I was consuming the content without studying and experiencing it. "Pragmatic Thinking and Learning" has changed me profoundly. I started questioning the traditional learning techniques, and I started benefiting from more pragmatic and practical ways of learning.

It was one of the most influential books I read back in 2013. Six years later, in early 2019, I’ve decided to study this book again. It’s funny how many important lessons I have already forgotten. I quickly realized that getting back to this book was one of the best decisions I could make.

pragmatic thinking and learning 03

What’s inside?

Chapter one (Introduction) explains the importance of developing communication, learning and thinking skills. Software developers (and any knowledge workers) have to learn continuously to make good use of their abilities. This chapter also briefly describes the content of all the following chapters. Chapter two (Journey from Novice to Expert) uses The Five Dreyfus Model Stages to explain the differences between novices and experts. Those stages are:

  • Novice (a person who requires explicit and context-free recipes to follow)

  • Advanced Beginner (a person who wants to process fast information and is not interested in the bigger picture)

  • Competent (a person who can troubleshoot and start solving problems he/she hasn’t faced before)

  • Proficient (a person who needs to understand the big picture and can self-correct their previous poor task performance)

  • Expert (a person who works from intuition, not from reason)

The following sections of this chapter explain how to use this model effectively to success and level-up. It also reveals that the Dreyfus Model applies to all your skills - you can be Novice in some areas, while you are Proficient or Expert in a few others.

Chapter three (This Is Your Brain) focuses on our central processing unit - the brain. It describes two different processing modes: a linear mode (called L-mode) and non-linear mode (called R-mode, from rich mode). It explains how the brain works, how it memorizes the information, and how it works in the write-only mode all the time (each read is a read-write operation). Learning more about your brain allows you to use it more effectively. Especially the non-linear processing mode is critical in becoming an expert in a specific field. It also provides positive information - our brain is neuroplastic, so we can learn how to rewire it. (An example from page 70 with a blind man blown my mind).

pragmatic thinking and learning 02

Chapter four (Get in Your Right Mind) teaches us how to engage a non-linear processing mode to the linear one flow. It gives tons of examples and exercises on how to take advantage of the R-mode and how to harvest from it even more. Chapter five (Debug Your Mind) starts with explaining a bunch of cognitive biases that affect our perception and decision making. Some of them are influenced by the generation we have born in, or by our personality tendencies. They are also affected by so-called "lizard logic" - the primitive reactions that were very useful 50,000 years ago. The chapter ends with a few ideas and guidance on how to turn on the debug mode to understand better the source of our reactions to prevent (or at least limit) the destructive ones.

Chapter six (Learn Deliberately) introduces a Pragmatic Investment Plan - an approach that helps to learn more effectively. It explains various learning techniques and helps to find ones that work best in our case. It describes the SQ3R reading technique, mind mapping visualizing method[1], or "Learn By Teaching" approach, to name a few.

"Teaching clarifies your understanding and reveals many of your underlying assumptions."

Chapter seven (Gain Experience) explains how important it is to explore ("play with") the learning material before studying the facts. This exploration and experience are essential to building mental models in our brain. Those models make the learning process more effective. Chapter eight (Manage Focus) gives several practical advice on how to increase the level of attention, manage our knowledge portfolio, and optimize the process of loading information in the current context. It covers some tips and tricks that help to stay in the "zone". The final chapter (Beyond Expertise) summarizes the book and recommends to start with a plan, accept errors (inaction is the real enemy), recognize that developing new habits take time, believe in own capabilities, and always take small next steps.

What are my main takeaways from this book?

I enjoyed reading "Pragmatic Thinking and Learning", but apart from that it encouraged me to do the following things:

  • I started using the SQ3R books studying technique (survey, question, read, recite, review) to all books I read. I already used a few other books studying techniques, but the SQ3R sounds like an approach that makes the learning process more effective.

  • I created my Pragmatic Investment Plan in the three key areas for my professional career. I started by "reverse-engineering" myself and applying the Dreyfus Model stages to several skills I want to work out. I created a concrete plan using S.M.A.R.T. objectives. I also researched and experimented with different ways of absorbing the knowledge and crafting experience to progress.

  • I decided to give the mind mapping a try. A few years ago I tried it, but I failed. This time I want to use hand-drawn mind maps with the one crucial thing in mind - the documenting is more important than documentation.

  • According to the minimal user interface rule I removed a few distractions from my work environment. (I already practice "no notifications" principles for a couple of years).

  • I started exploring and playing around with the new things before getting deep into the details and facts.

pragmatic thinking and learning 04

You may ask yourself - should I read it?

It depends. If you have already read a few positions from the bibliography, you might not benefit much from reading the book, because you already know the things it covers. However, if you find yourself in a position where you feel stuck in the learning progression, and a portion of practical advises could give you a real shot of motivation, this book is definitely for you. When I started studying this book for the second time, I felt like I need some "code review" of methods and techniques I use for learning and becoming a more experienced programmer. This book offered me the guidance I needed most at the moment.

I hope you enjoyed reading this blog post and you have found valuable information in it. Don’t hesitate to leave a comment below if you have any question related to the book. I tried to express my feelings and opinions about it most accurately, but I accept that I might miss something important. Let me know, and I will do my best to help you find the answers you are looking for. Or maybe you have also read the "Pragmatic Thinking and Learning" book and you have a different opinion? Please share it with us. I’d love to hear it from you.

Szymon Stepniak

Groovista, Upwork's Top Rated freelancer, Toruń Java User Group founder, open source contributor, Stack Overflow addict, bedroom guitar player. I walk through e.printStackTrace() so you don't have to.