before we begin sowhat should you work on firstthat thing you thought of as you read the previous two paragraphs working your way through the design patterns in this book is another good way of finding potential growth areas just start with the singleton pattern and work your way through stand on the shoulders of giants there are people who do amazing things in the programming space these people often give talks at developer conferences and sometimes have presence online look at what these people are talking about try to understand how they approach novel problem type along with them as they demonstrate solutions get into their head and figure out what makes them tick try to solve problem like you imagine one of them would do ithow does the solution you come up with in this way differ from the one you came up with on your ownreally great developers are passionate about programmingand it should not take lot of prodding to get them to talk about the finer details of the craft seek out the user groups where this type of developer hangs out and strike up lot of conversations be open and keep learning pick personal projects that force you to use design patterns you have yet to master have fun with it most of alllearn to love the processand don' get caught up on some perceived outcome rather than spending time becoming better programmer how do you do thisbegin the same way leonardo da vinci began when he decided to make painting his vocation copythat is right begin by identifying some interesting problemone that is already solvedand then blatantly copy the solution don' copy/paste copy the solution by typing it out yourself get your copy to work once you dodelete it all now try to solve the problem from memoryonly referring to the original solution when your memory fails you do this until you are able to reproduce the solution flawlessly without looking at the original solution if you are looking for solutions to problems that you can copy and learn fromgithub is gold mine