Learning from many masters
Saturday, May 5th, 2007The top masters studied with many different martial artists, frequently within the same art or style.
This is valuable because, although there is The Art in its utter totality, very few people have ever mastered all of its aspects. Even those that have may only consciously emphasize, demonstrate, or teach certain limited facets of that whole. For instance, Sun Lu Tang and Fu Zhen Song ostensibly both taught the same style of Bagua Zhang (Cheng), but Sun was known for his subtlety of movement while Fu pushed emphasis on studying the ripple of power. As a result you have to look hard to find the similarities in the styles to realize that the have the same roots.
My impression is that studying Sun style Bagua teaches you to make your movements natural, economical, and subtle, and studying Fu style teaches you how to throw cars around with them.
An example from Kung Fu
Consider two of my teachers: Andy Dale and Joel Hartshorne. They’ve both taught me the same forms and applications, but always from different perspectives. Studying with both of them is really important to me, because each of them has things of value to point out in the art that the other usually doesn’t cover.
I think that if kung fu was taught in colleges that Andy would teach both undergraduates and work with PhD students, and Joel would be teaching graduate classes. Andy is exceptionally great for learning the overall form choreography, intent, and applications. Joel is usually excellent for studying the energetics and underlying physics of the moves in deep detail.
One of the “problems” with studying with Andy is that he’s so damned good that it’s hard to tell that he’s doing anything besides walking through the forms unless he’s actually got his hands on you. His circles are small and his movement is completely natural. You end up either having to have him intentionally and (for him) grossly exaggerate his movements, or looking at some of his senior students - the ones still exploring the the power in the movements - in order to actually get a sense of what’s going under under the skin.
Ironically, although Andy has been doing this for a lot longer, Joel himself is almost totally absorbed in the deeper details of the movement himself as he strives to perfect his own art. Consequently he tends to really pay attention to those aspects in his students, because the energetics of the moves is of his own primary concern. Andy, on the other hand, has really mastered these aspects and internalized them.
The point I’m trying to make here is that although they are both great teachers, I don’t think that I would have learned as much studying from just one of them, even if it was just Andy. I think that you need those different perspectives in order to get the big picture.
Applications to Software
In the exact same way, developers can benefit greatly from working with people outside of their own immediate circle. Even people far behind us in experience may have some little gems that we’ve never considered before that makes our art that much better. That said, I think that in addition to keeping an open mind, you should also think for yourself. Just because someone else prizes something highly doesn’t mean it’s not stupid. Keep the good stuff and don’t be afraid to lose what doesn’t work.
I think that we owe it to ourselves to welcome opportunities to work with strangers. If the opportunity doesn’t easily present itself, perhaps getting involved in an open source project, or founding one and looking for others to join you, might provide that opporunity.
My own teachers
I feel that I’ve had great luck in finding many high caliber mentors over the years and that I owe them all a great deal. The software masters I’ve worked with include:
Greg Bollendonk, Lockheed Martin Astronautics: emphasis on process, completeness, attention to detail, what to do when shit blows up, personal integrity, and a hell of a lot more. Greg was my first boss, with something like 15 or 20 years experience. I also worked for a year as Greg’s junior assistant in flight operations, which was a hell of a pairing experience. Greg is easily one of the single biggest influences in my career. Taught me the expression “You won’t fail. I won’t LET you”.
Steve, Paul, and Eric, Lockheed Martin Astronautics: software architecture fundamentals, UML, testing methodologies, team work.
Charles Chen and Jim Tomlinson: design patterns, UML, architecture.
Dennis Doherty, 360 Powered, Blue Scooter, and Arcessa: emphasis on pragmatics of the art, simplicity, minimalism. When to say ‘no’ to design patterns, excessive abstraction, premature optimization.
Ed Buchwalter: Emphasis on precision, formal methods, discipline in coding, test methodology.
Jar Lyons: pragmatic systems engineering, automation, reproducible regression testing.
There are a lot of other people I’ve learned from, but these individuals were instrumental in molding me. That’s my story. Who were your mentors?
