In the last years, I read a lot of books about software development, programming, and techniques to improve. All of them were great, but none was so useful as Pedro Santos’s book.
During my career, I have worked with many software developers. Most of them knew about the existence of the Extreme Programmingtechniques, but most of them also haven’t given them a shot. Some of them even said that they use TDD and pair programming, to discover later that they do not. For most people, these techniques are the optimal way of working that we will never reach, like an asymptote of our professions. This concept is, of course, wrong, and we all should be using all agile techniques 100% of the time. As a result of not using the best possible methods, the quality of the existing software products is far from acceptable.
Why are we not smart enough to see that we should use the best possible way of doing our job? The complexity of our products soon becomes unbearable, and bugs and regressions appearing everywhere non stop. We are even afraid of making changes because something else will break.
A colleague of mine said once that is “unprofessional” not to use the techniques that guarantee the best results, and I fully agree. We want our doctors, lawyers, and accountants to use the best possible tool to get the best results. So we should. So we need to learn how to better work, and reading about it is one of our best resources.
What I think is interesting about this book is its approach to learning. It is a mix of a text book and a workbook. A textbook because it contains the theory, but in a straightforward and clear hands-on explanation. But, it is also a workbook because you have the exercises in the form of Katas. The author encourages you to do to apply the concepts in the book while developing the Katas.
Initially, I read the book without doing all the work. I already knew 90% of the material, since I have been applying most of the techniques myself. But I found it so exciting and fun that I decided to rework the book and doing all the Katas to better experience what Pedro tries to share with us. Deliberate practice is one of the coolest tools that we have.
During this year, instead of learning the cool new language or framework, become “PRO” by reading and applying the Agile Techniques described in Pedro’s book.