On Practice

Spurred by the discussion of Kata at QCon London, and reminded by a nice tribute to Pablo Casals in the Guardian this weekend, some thoughts on practice in music and software development. To start with, here’s Casals: when asked why, at the age of 93, he still practiced for three hours each day, he replied:

“I’m beginning to notice some improvement.”

This says much the same (though in the characteristically pithy way that comes with age and extreme eminence) as Pat Metheny notes in his commencement address to the Berklee School of Music class of ‘96. It’s worth quoting at length, because it says a great deal about a great musician’s combination of focus and humility:

…[a]s much as I can stand here and claim to be a successful player, with Grammy awards and winning polls and now honorary degrees and all that stuff; one very fundamental thing has not changed, and I realized that it will never change, and that is this–that the main thing in my life, even as I stand here right now, right this second, is that I really need to go home and practice.

Saying this, of course, is obvious. We all need to practice and improve, and we will all need to practice and improve. But I do think that when I was younger, there would be a day when I would sort of “get it”, and that everything would be cool, and I would have arrived at that promised land of being a great musician and I would just be. And I can see now, that that is never going to happen.

The thing for me, and the good news, is I realize that for whatever benefits I’ve gotten from being a musician in a material sense, or in the form of recognition, the fundamental reward that I still get the most satisfaction from, is the process of what being a musician is. It is that need and desire to want to go home and practice that’s the coolest thing. The part where you start with nothing, have a musical idea or vision or aspiration, and through discipline and organization and preparation, and especially inspiration, you finally end up with the capacity to do something that you didn’t know you could do.

My music practice has settled into a structure as follows. Technical warm up, then studies, then work on repertoire. The technical warm-up varies in detail, but always I work to a principle of overlapping patterns: for example something I’ll often do is play a chromatic scale up a single string: using a 3-finger pattern in the left hand (0234-shift-234-shift…) up to the 15th fret and down again, with a 4-finger pattern in the right hand (i m a m, i m i a or i a m a), but phrased in groups of 5:

What I want to focus on here isn’t this sort of practice, though, but the next set: studies. People often associate this with playing fast, elaborate, technically challenging stuff, but there’s another strand to study play, which is to play the simplest things with complete mindfulness. There’s a good description of this in Gleen Kurtz’s book Practicing: A Musician’s Return to Music, talking about a tiny, simple but beautiful étude by Fernando Sor (Op 60, no. 16):

It’s not a piece guitarists will rush to put into a programme (though it’s a sweet encore): as with a lot of Sor’s simpler music it has something of the atmosphere of late Mozart about it. The challenge in its use as a study is to be in a state of mind and body in which you play it perfectly: no squeaks, no fluffs, none of the annoying little accidents that remind you that the guitar is a physical object being played in a physical world by an imperfect body. My challenge in this piece, my bugbear which means I play it again and again until it’s right, comes between bar 15 and 16 - the C on the fifth string (played with left hand 3) moves down to a B (2 or 1), but unless you take that finger off cleanly, there’s a tiny scratch as the tip of the finger slides momentarily against the string.

I talk about this in detail because it seems to me that something is misunderstood in the parallels people draw between musical practice, martial arts practice and coding practice. I’m not experienced enough in martial arts to make a judgement (two years of Judo at school, a long time ago…), but the core element of practice in music, and it seems to me in martial arts katas, is to focus concentration on recalcitrant physicality. Bodies are physical, continuous, software is just so damned discrete. I can’t, for example, imagine getting the same benefit, and certainly not the same pleasure, from warming up with the Bowling Game Kata every day for twenty years, as I do by playing the simplest Sor, Bach, and other studies (Casals played movements from the Bach cello suites every day for all his playing life. “Beginning to notice some improvement…”). Learning the refactoring shortcuts in Eclipse or IntelliJ by repeated practice is one thing (after me: alt-cmd-l, alt-cmd-m, alt-cmd-i), internalizing emergent patterns of design is another, but these bears as much relationship to mastery in music (and I’ll contend, in martial arts) as getting a high score on Guitar Hero does to playing a real instrument.

3 Responses to “On Practice”

  • Cees de Groot responded:

    Indeed. My hardest “study” piece is the the first movement of Beethoven’s Sonata 14 (”Mondschein”). It’s arguably the simplest piece of music in the massive volume I have containing all of his Sonatas, but you must have full concentration and it only works if it’s *perfect*.

    Code Katas are a neat idea, though. They let you abstract away from daily business stuff and force you to really concentrate on a simple design and getting it right. Which is maybe hard at roughly the same level.

    That they don’t perfectly map, I don’t care too much about that. It’ll be some time before the Royal Albert Hall fills up with watching a giant screen with Eclipse on it, anyway ;-)

  • Paul Dyson responded:

    [Dons flame-Gi] Dave, judo is a sport, not a martial art.

    Love the phrase ‘recalcitrant physicality’. Yes, kata helps with this and also with recalcitrant mentality; the first five non-novice karate kata are called ‘Heian’ - ‘peaceful mind’. *Honing* body and mind is only part of the purpose though … when learning kata you’re taught to believe this is real combat against real opponents and you’re actually preparing yourself for that eventuality. Most serious karate-ka have one or two kata they practice both for the love of the form itself and the challenge of achieving “some improvement” in it … my own was Bassai, which I used to practice 20-30 times a week for around three years.

    Is the Bowling Game Kata this? Somehow I doubt it.

    It seems martial arts are the analogy du jour for software practice. Not for the first time I think software people have latched onto something that has a degree of respectability, seriousness and history they wish to associate with. Having said that, if the various coding kata and programming dojo ideas contribute to an improvement in software practice and teaching, maybe I should just grind my teeth and let it pass. Unfortunately, I wonder whether that improvement will actually happen or whether the proponents just think it might because of a shallow understanding of how learning and practice work in another domain (c.f. Shu-Ha-Ri).

  • David responded:

    Good points, Cees, Paul.

    Hearing some people talk about these things, I think they think that coding should be a performance art. Albert Hall, here we come. Cees, I don’t need to call it a ‘Kata’ to get a great deal of enjoyment out of a programming puzzle or exercise, and maybe (horror) even to try solving it a few times. I wonder how many people are really (I mean really) doing Kata in coding, in the way that Paul talks about, or in the way musicians practice their scales and studies.

    One of the design skills that’s realy important (and which the current thouht about ‘kata’ doesn’t do) is the ability to solve the same problem under different sets of constraints: one of the skills it’s always seemed to me is sorely missing in development is the ability to generate several different solutions to a problem and judge between them.

    Paul, point taken re sport/art. And I like the phrase “recalcitrant mentality” too!.

Add your own comment...