As we move forward in this Ampath project, I have found myself dissatisfied with how unimpressive my command of the technology available (or the lack thereof) is turning out to be. As I browsed the list of apprenticeship patterns, “Confront Your Ignorance” leaped out at me the moment I noticed it. If there is a better way that I can directly combat my weakness in Angular, PouchDB and WebStorms, then I would certainly like to know what it is. Confront Your Ignorance, it turns out, is concerned with exactly that.
The problem that Confront Your Ignorance seeks to address is an all-too-common one: When exposed to a new technology, a developer may become uncertain of how to go about learning the ropes. What’s more, it may be that people around them are already well-versed in the basic tasks you seek to perform, and there is a certain expectation that the unlearned developer also has the same knowledge. This can make it even more difficult to orient oneself in a direction that maximizes potential for learning, or learning the technology’s features in an effective order.
The solution provided is to identify a specific tool, skill or technique, and actively fill the gaps in knowledge regarding exactly that. Over time, as more is learned about the particular thing, it can be determined by the developer whether it is worth digging deeper for more in-depth knowledge, or if it would be more productive to direct attention to a different gap in knowledge that needs filling.
While I have not directly encountered an instance of this pattern in practice, I can absolutely identify the need for it in my current project. My group is in the process of learning to use PouchDB, Angular, the Jasmine testing framework, and several other technologies to develop this offline storage service. Up to this point, we have had a considerable degree of indirection, and the utility of Confronting Our Ignorance is obvious to me. In the coming weeks, I will more than likely pick a specific role within the group, and dedicate myself to learning about whichever role I happen to pick. Down the road, I expect to put this into practice whenever learning new languages or environments. Hopefully, if used in conjunction with Expose Your Ignorance (which I intend to read next), this will prove to be a highly effective mechanism for addressing whatever knowledge I lack.