Chapter 6 of “The Clean Coder” primarily focused on practice. Martin explained the different types of practice including Kata(practicing on individual skills), Wasa(practicing in pairs with another person), and Randori(free-form practice). With these three sets of practice techniques he compares each to martial-arts. He states that much like martial-arts, you will never get two exact sets of problems(or opponents) and you don’t practice against a particular style, but instead practice technique so you know how to handle each unique situation. By practicing how to break down and tackle these problems, when one appears you know which direction to take to assess it.
I am sure when Martin first began practicing, his sources were limited. In today’s technology age, there is an abundance of sources to practice skills such as online sites like LeetCode, Project Euler, etc. and even open-source projects you can contribute to on github. The best type of practice is your own personal projects because you experience the entire software engineering process from gathering requirements, to development, and even testing. No matter how you practice, as long as you do it you should be fine. Even Michael Jordan, the greatest basketball player of all time spent his time in the gym practicing his craft. Software Development isn’t any different in that sense.
From the blog CS@worcester – My Progression as a Developer by xg2016 and used with permission of the author. All other rights reserved by the author.