Thoughts on Apprenticeship Patterns at first glance
Apprenticeship Patterns: Guidance for Aspiring Software Craftsman by Adewale Oshineye and Dave Hoover is a really fascinating book that I’ve read throughout the weekend for my software development capstone class. At first, the book seems to be a lot more intimidating as I did not know what to expect from it, but while reading the first chapter and the introduction of five other chapters, there are some interesting contents that I found.
For the first chapter, or the introduction for the entire book, it starts off with the author of the book trying to tell how he started with BASIC and Java afterward and failed to find any interests in them due to the fact that they are not really beginners friendly and I think this applies to a lot of new developers that are constantly trying to get into the field but unable to do it by themselves. He then proceeds to move on to tell about how he found his success years later in Perl and use that leverage to dive deeper into software development such as Extreme Programming and Agile, which I think would encourage new developers to be patient on learning the basic and reading through this book may put them in the right path. I really like this story as it holds true for myself and it reminds me when I failed to learn Pascal, which in that time was described to be one of the easiest languages to start, when I was younger, and it really made me question myself to fit in this field. The author goes on to explain what apprenticeship and craftsmanship as known by everyone and how it is applied to software development. I honestly like how he ties this concept into software development to describe it to be a really long-term process, as we have to learn from other people through being an apprentice and a journeyman to be able to “masterwork” their ability, not just putting together codes and it is certainly not common to think software development in this way.
When I read the second chapter introduction, I think that it has a really great story in the introduction to make help us put aside everything that we know, or empty our mind and be exposed to the material of this book because we might be able to learn something new, whether we are new to software development or not. It is a good transition into the main content of the books that can either help beginners to understand further about concepts of software development, or veteran to solidify these concepts.
With chapter three, the message from the author is pretty clear that it can be really scary to not know a lot at first and we can also find it intimidated to know that there are a lot of people that know much better about what we are doing and it is important to be able to learn from them.
For chapter four and five, I think the authors are trying to say that there will always be more to learn and improve even when we excelled in a lot of fields. I think these chapters should be the most relevant one for graduating student like us as we might know a lot already and even be very good at it, but there will also be a lot more to learn when it comes to work in a real project for a real company.
And finally, with chapter six, the authors suggest that all developers should have their own curriculum to always expand our knowledge in the field. It is important to be able to find resources to read and learn on our own time and it is up to us to catch up with never ending developing technology. It is certainly an interesting chapter to read about to be more efficient on improving ourselves.
Overall, I think it should be a really useful book to read and it certainly be useful with a lot of aspects that it covers for each chapter. I am pretty excited to read more about it.