Although my capstone course CS-448 focuses on mimicking a live agile setup to understand how software engineers work, there is still a focus on understanding how to become industry professionals outside of hands-on experience. Part of this extraneous understanding is reading the book on Software Apprenticeship Patters, most notably the first chapter on understanding the stages of craftsmanship.
I was hooked immediately into this chapter, as what I found my knowledge lacked in the most; was that I had very little understanding of some soft-skills Software Engineers should have. What was first apparent to me was that I am firmly in the apprentice stage of craftsmanship. I am focused on trying to become better at not only completing my tasks assigned and problems to solve, but understanding how to do them faster. Being an apprentice means to share this focus, and often I find myself forgetting (along with many others) that we will continue to learn after our graduation.
The understanding I’ve gained on patterns to work with my apprenticeship has driven me to change my mind on how to approach work in computer science. I have always had a drive to learn, but learning even as I work will be important for my growth. The reading has helped me to understand I should want to experiment and be proven wrong especially, rather than getting something wrong being treated as a failure.
I disagree with the software pattern about walking the long road. While I greatly enjoy coding and computer science, the idea of consistently dedicating myself to learning every day seems daunting. I value competence and pride in my skillset, and of course learning is required for that; however I worry that such dedication removes my ability to balance other hobbies along with my work.
Overall what seems most relevant to me is the first chapter. It is the most robust of those I read, and it contains the most information to introduce software apprenticeship. It covers what apprenticeship is, as well as the levels of software craftsmanship. With understanding these, it also introduces the idea of Software Apprenticeship Patterns, which is the focal point of the book.
From the blog CS@Worcester – WSU CS Blog: Ben Gelineau by Ben Gelineau and used with permission of the author. All other rights reserved by the author.