After reading Chapter 1 and the introductions for Chapters 2 through 6 of Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman by Dave Hoover and Adewale Oshineye, I have a much better understanding of the “stages” of a software developer’s career. I found it interesting how the career was divided into being an apprentice, journeyman, and master and how it doesn’t necessarily relate to a job. These stages are more like checkpoints for the software developer’s career as a whole, not for the phases that may come with starting and working a job.
I like how the stages aren’t locked by experience or time but rather mindset. The apprentice is described as someone who knows there are better ways to do things and are willing to learn, the journeyman moves around working on various projects with various people readying themselves to become a master, and the master furthers the field through teaching and creating. I feel that the stages could be summarized as learning, exploring, and improving. I also like how the stages involve the roles of the previous stages; as such, a master is not exempt from learning and improving. In a field that is constantly evolving, even those with the highest expertise can learn a thing or two.
I think Chapter 4’s introduction was most relevant to me because I think it has advice that can apply to everyone in any facet of life. “Be aware of the bigger fish, the bigger ponds, the many other ponds, don’t settle for being better than the mediocre, let go of perceived competence, be better than you were yesterday.” Finding these faults, acknowledging them, and moving forward with them in mind seems to be key, not only in a software development career, but in any facet of life.
From the blog CS@Worcester – Kyler's Blog by kylerlai and used with permission of the author. All other rights reserved by the author.