Good day again my fellow reader! Today, I have read a chapter and some excerpts from the book, Apprenticeship Patterns. This book focuses on changing the mindset of the reader in regard to learning the art of programming. The traditional mindset of learning programming is more of a being talked at model. A teacher will talk at the students, and the students will repeat what the teacher says through classwork, homework, quizzes, and tests. This method of teaching does not lend itself well to programming where problems can crop up out of nowhere, and curveballs are always just around the corner. Apprenticeship Patterns puts forward the idea that for software craftsmanship, the apprenticeship model is a more fitting model to create well trained software craftsmen.
The apprenticeship model that Apprenticeship Patterns champions, is the classic model from the medieval era of apprentices, journeymen, and masters. The apprentice begins learning and doing small tasks and over time, will graduate to bigger and larger tasks and responsibilities. An apprentice, when he is ready will graduate into a Journeyman. A journeyman studies directly under the master. In addition, a journeyman is tasked to travel from master to master, expanding their knowledge in the craft and learning multiple styles from multiple different masters. This rounds out the path of a journeyman and eventually, they will attain the rank of a full fledged master. They will then continue the tradition and take on apprentices and journeymen just as their masters before them.
This cycle of apprentice to journeyman to master is a cycle that worked well in the medieval times but in today’s world, this model no longer fits anymore. I do agree with the statement that the apprentice’s apprenticeship was the sole responsibility of the apprentice alone and their success ultimately depended on them. This holds true today for the modern student but to a lesser extent as a student does not learn in the same method as the traditional apprentice. For the traditional apprenticeship to be revived in today’s modern times, there would be a drastic change in today’s society and in how the educational institutions operate. I am not sure how a modern apprenticeship for software craftsmanship would look like, but I believe that it would definitely produce a high level of software craftsmen.
The other chapter introductions discussed patterns that a software apprentice would go through in their educational journey. The first few patterns form a solid base for the apprentice to learn and grow in their journey. The next couple chapters have patterns that continue to grow the apprentice and nurture them into the position of a journeyman. These patterns take the journeyman outside of their comfort zone and allow them to grow through agitation of what they are comfortable with. The final patterns take the journeyman into a master by having one constantly learn and creating a feedback loop to keep one learning. These patterns look very interesting and I do hope that I will be able to apply some of them to my learning journey as well.
Let us see where these patterns lead us and see you next time!
From the blog CS@Worcester – Computer Science Discovery at WSU by mesitecsblog and used with permission of the author. All other rights reserved by the author.