Excuse me while I feel about that for a moment
Dave Hoover is creating and collating Apprenticeship Patterns for software development. I don't want to discount the material gathered so far, it's just that I feel that something is missing. The current set of patterns seem to emphasise developing abstract and logical thought over developing an ability to work collaboratively with people. This doesn't fit with my experience that most of the problems with software projects are in fact people problems and not software problems. (How many "masters" would point that out to their "apprentices" I wonder?)
At the AYE conference last year, Dave and I found that we shared the same NF temperament, one that is quite different to the NT temperament more common in software developers. On the basis of this common ground I therefore proposed a "feeling" apprenticeship pattern, which I hope will find its way into the "thinking"-dominated pattern language that Dave is creating...
Feel your feelings: Building software is a creative and therefore emotional act, especially when you're working together with other people. You will feel uncertainty, pressure, disappointment, relief, joy, and a host of other emotions. But when these feelings are stirred what do you do with them? If you try to hide them do they really stay hidden, or do they come out in other ways, e.g. rising to anger or goofing around? Staying aware of your feelings, becoming aware of other people's feelings, and learning to work with emotions instead of ignoring them, will amplify the effectiveness of any skills you learn.
(I also wrote this a slightly different way. Discover yourself while you learn your craft: the journey you take as an apprentice is as much about yourself as is it is about building software. If you have the courage to discover the person behind the personality - what drives your behaviour, how it is perceived by others, and why that might be - then you will amplify the effectiveness of any skills you learn).