More Apprenticeship Patterns

Ken AuerSeptember 30, 2014

Two of the recent Academy class members are about to start their second phase of Residency. Braxton Plaxco, who has been working under Tim Irwin, introduced how he has applied some of the Apprenticeship Patterns to his work so far. Now, we will hear from another of our Residents, Kyle Smith, who has been working under Ken Auer on a pretty exciting application we'll talk about soon.

Apprenticeship Patterns: Skillset Expansion

I've been reading Apprenticeship Patterns by Dave H. Hoover and Adewale Oshineye. I was recently able to apply a few patterns: Confront Your Ignorance and Breakable Toys. I'm hoping I will also get a chance to apply The White Belt through how I'm applying the other two patterns.

My friend Braxton and I recently took on an internal project for RoleModel that we're building using Node and CoffeeScript. This is allowing us to apply each of these patterns.

Confront Your Ignorance

If there are some gaps in your skills, work to fill in those gaps, one by one. One good way to do this is to build Breakable Toys.

My main project at RoleModel is mostly client-side JavaScript. Thus, I found a very obvious gap in my skills when it came to server-side programming.

Meanwhile, Braxton had done more server-side than I had, but not as much client-side, plus he wanted to learn CoffeeScript.

To fill in these gaps, we took on this internal project which we decided to build in Node using only CoffeeScript. Our plan is that Braxton will work on the client-side, while I work on the server-side.

Breakable Toys

Attempting things that may be beyond your skills, things you may fail at, is a great way to learn, but when you're in a situation where failure is not an option, you need to build a "toy" project where failure is safe.

The deadline for my main project is coming up soon, which puts more pressure on everyone involved, creating an environment where failure could easily cause a lot of harm. Working on this second project, since it's very low-pressure, gives me an environment where I don't have to be afraid of failing.

The White Belt

When approaching new situations, while still retaining your previous confidence, intentionally set aside what you already know and force yourself to learn the solution, rather than relying on your previous experience to provide the solution.

I expect that building the server-side portion of this project and working in CoffeeScript will give me plenty of opportunities to set aside the experience I've gained through client-side programming over the past few months.

Photo by Robert Keane on Unsplash