“Apprenticeship makes a difference because it instills a lifelong passion to master the craft. It instills a passion for perpetual learning and, in the process, enables the apprentice to become a great developer.” – Pete McBreen
I do agree with this statement that was at the beginning of the chapter. As an individual, whenever I hear the word “Apprentice”, I always wonder and think about the “Master” because that is who the apprentice learns from. After reading through this chapter, I tried to tie all the concepts back to the title of the book Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. An apprentice should always try to learn and understand the concepts that the master is trying to teach. Understanding and learning the concepts is one thing. Learning how to implement and use the concepts is another. The techniques that you learn from a master can sometimes, if not most times, be found found in textbooks or they can’t be basically self-taught. Every master can have different styles, which is why a “master” is very valuable and special in a sense. To me, that is an Apprentice and Master relationship. When the apprentice is trying to perfect their craft with the aid of their master, it instills something very special within the apprentice’s work and makes them have the desire to want to learn and create more. This quote by McBreen is very important to me and makes sense to me the most. To relate it to myself, I feel that the Master is the contents of which I am trying to learn, and the Apprentice or Journeyman is myself.
There is a quote that also sparked my interest because it is a statement that I fully acknowledge. “One of the lessons we’ve learned from the Agile development movement is that just telling people to do things doesn’t create lasting or sustainable change. When the people you’ve advised encounter a situation that isn’t covered by the rules, they’re lost. However, if those same people have imbibed the values that underpin the rules, they can come up with new rules to fit any situation. Our goal here is not simply to hand people a rule book, but to give them the ability to create new practices for new contexts, which in turn drives the discipline of software development forward.” This supports the thought of critical thinking in a sense that thinking outside of the rules in order to create new ones is the foundation of continuing the evolution of software development. If developers encounter a situation that certain rules do not cover and they become lost, software development cannot progress forward.
As I am currently aspiring to become a future video game developer, I expect that there are going to be new rules that are going to be created constantly. I know that I am going to learn and to develop certain “crafts” to be very efficient in that environment of work because there will be many things to adapt to. As Pete McBreen points out, there are many developers out there today in the field. The important question is are there enough “good” ones? When I head out there in the field, I would want to be recognized as one of those “good” developers.
From the blog CS@Worcester – Ricky Phan by Ricky Phan CS Worcester and used with permission of the author. All other rights reserved by the author.