Tuesday, October 12, 2010

[Book Review] Apprenticeship Patterns - Guidance for the Aspiring Software Craftsman

First off - A Huge "Thank-You":
To both of Dave Hoover and Adewale Oshineye, for writing this Jewel-of-a-Book:
"Apprenticeship Patterns - Guidance for the Aspiring Software Craftsman"
I Especially loved the long snaking road set in an emerald green landscape. "A Thing of Beauty is a Joy Forever"

It was the missing view of the jig-saw puzzle.A birds eye-view of a completed jig-saw puzzle.
The beauty of it - everything fitting in perfectly.

I'd been regularly using some of the patterns for as long as I can remember. Study The Classics and quite a few others. But somewhere there was a gnawing thought - That I was missing something.
It's been a long and wearying quest - "There's gotta be a better way".

Until I found this book:  
"Apprenticeship Patterns - Guidance for the Aspiring Software Craftsman"
It was like an Emerald Oasis emerging from the burning sands (almost seemed like a mirage at first)

Looking back now I find that it gave me these things:
1) The missing patterns,
2) The Reason - why I needed the other patterns in the first place,
3) The Re-Assurance -  that I was on the right path after all (if only partially) and
4) The Synergy - Patterns working together as a whole

Some things took a while to register though:
1) While reading the book, I noticed something peculiar. Most of my friends also used patterns I did not. But earlier, whenever I tried including their ways I had a problem.
It always felt like trying to using my left hand. (I'm a righty!!) I couldn't see Why or How these patterns could work for me too.

2) It was then that I realized that you need to be comfortable learning and using each pattern on its own. (Empty The Cup). To get used to it and let it grow on you, grow in you. Once its becomes a part of you, you can easily re-combine it with other patterns.

3) I had to actually stop doing everything else as I was fully absorbed in it. Reading, Re-Reading, Reflecting, Digesting and Assimilating its riches.

4) I strongly suspect, this process is going to take quite a few years. To apply it and let it become second-nature. A kind of Organic growth.

Share What You Learn:
1) I've tried to capture the essence of what I saw in the book. I've put it into a blog post called Steps to Technical Mastery. It's meant as a recommendation to fellow Apprentices or Beginners in Software.

2) I've tried to to address the what, how and why of the book, (as per my current level of understanding).

3) It took nearly a month before I got around to writing it all down. Too much to digest I guess. My learning style is to see the whole picture all-at-once in a Top-Down way.

4) Tools used were mostly MindMaps to try and get at the root of the Patterns. Why and How were they so effective?!! Then I just let the writing flow for a few hours.

5) As I was writing curiously I found I was still trying to come to terms with the book. With what it does and how it does it. Basically, it changes the rules of the game and the way it's played. A Pattern Tag Team is the closest thing I can come up with. A crude and effective description but it'll have to do - for now.


And Thanks to ALL the people who contributed their comments and helped put this book together.
God Bless You.
It's late and I've edited this post quite enough for the day. Publish or Perish.

Readers Section:
You can use the buttons below for sharing this post with your friends.
Any comments/suggestions on the blog are most welcome.It's still piping-hot off the oven.
Any thoughts like for instance:
  • What did you like/dislike about this article?
  • What were the defining moments of YOUR journey through this book?

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.