before we begin in programmingyou want to learn different ways to solve problems you want to find different challenges that force you to attack the same type of problem with different constraints keep working at it until you understand the problem and the set of possible solutions inside out in essencedeliberate practice has these componentseach practice session has single focus the distance (timebetween attempt and feedback is as short as possible work on something that you cannot yet do follow in the path of those who have gone before you single focus the reason you only want to focus on one thing during specific training session is that you want devote all your attention to the element that you wish to improve you want to do whatever it takes to do it perfectlyeven if it is only once thenyou want to repeat the process to get another perfect responseand then another every practice run is single reinforcement of the skill you want to reinforce the patterns that lead to the perfect result rather than those that have less desirable outcomes in the context of this booki want you to target single design pattern at time really seek to understand not only how the pattern worksbut also why it is used in the first place and how it applies to the problem at hand alsothink about other problems that you might be able to solve using this design pattern nexttry to solve some of these problems using the pattern you are working on you want to create mental box for the problem and the pattern that solves it ideallyyou will develop sense for when problems would fit into one of the boxes you have masteredand then be able to quickly and easily solve the problem rapid feedback one of the pieces of deliberate practice that is often overlooked is the rapid-feedback loop the quicker the feedbackthe stronger the connectionand the more easily you learn from it that is why things like marketing and writing are so hard to master the time between putting letters on page and getting feedback from the market is simply