Monday, February 6, 2023

Apprenticeship Patterns Blog 2

Chapter two of the book talks about “Emptying the cup” and what that means in a programming context is our willingness and readiness to put aside our prior knowledge and take in the new that’s being taught or learned. I found the story of the young philosopher meeting with the master zen interesting and of great value. In summary, the young philosopher couldn’t keep his mouth shut to listen to what the master zen was sharing because he believed that he had already been taught those concepts and there was therefore no need for repetition. In my opinion, this is totally wrong that because it eliminates the fact that there could potentially be a newer or better way to achieve something and there always is. One company that has been doing this for quite some time is Apple Inc. Each year during their Word Wide Developer Conference they introduce new concepts and tools in their programming platforms such as Swift programming language that replaced Objective-C for developing iOS applications.
 
Moving on to your first language, the author advises that one picks a langue, become fluent in it and hone as much skills as possible. They recommend this choice be weighed correctly as it’s upon this foundation that one’s early carrier will be built on. Build a toy project in this language where you can experiment with ideas. There is however a caution to this, and I will quote from the book, “One danger of digging deep into your first language is getting stuck”. It is crucial to consistently improve our skills by taking on smaller projects from different platforms that we may not be familiar with. I agree with this since there are known problems with some programming languages such as memory management above a certain quantity or performance issues that need to be addressed. However, for the most part, there is also work-around these types of events. I hope to use this pattern to learn as much as I can in the languages that I'm currently experimenting with.
 
Object oriented programming concepts are pretty much the same regardless of the platforms and this facilitates the learning of other languages for example if you’re comfortable programming in java, it is relevant to apply those skills in C++. Software craftsmen need to be dynamic in exploring diverse approaches to come up with solution.
 
The authors recommend developers to collaborate on projects with more experienced developers while also receiving feedback from peers. As the saying goes, “birds of the same feather, flock together”, it is imperative that the apprentice spend time working on small projects with senior developers to build their skillsets before moving onto bigger projects. The authors caution on overly depending on experts and rightly so, as this may slow the learning process.

No comments:

Post a Comment

Apprenticeship Pattern Blog 7

 This blog is an extension of chapter 6 of the apprenticeship patterns which talks about creating your own curriculum. The message is that t...