No products in the cart.
How Coders Get To Carnegie Hall
23
Nov
Last week I had the very exciting privilege of being a speaker at Microsoft’s Ignite conference. This is a technical conference for computer developers in Australia. They called for sessions for a track called ‘Hack@Ignite: Unique Sessions that give you Bad-Ass Superpowers”. Basically, they wanted a series of non-technical talks that could offer something to technical people.
I submitted a session called “How Coders get to Carnegie Hall”. The idea was that I would talk about the way musicians learn, practice and prepare for performance, and how we overcome performance anxiety. This is applicable to many of the delegates, as they often have to ‘perform’ when they present to their clients.
It went over really well, and I even got to have a digital piano on stage! Here is a summary of the talk I gave:
“For those of you who don’t know, Carnegie Hall is a famous recital venue in New York City. If you’ve played there, you’re said to have really made it. There’s a well-known story of a tourist who was wandering around NY, wanting to find this famous place. Eventually he went in to a local shop to ask directions. When he said ‘excuse me, can you please tell me how I can get to Carnegie hall?” The shopkeeper replied, ‘Practice!’
“It’s true. Musicians do have to practice. But it’s not just a matter of learning the notes. You also have to play those notes in front of other people, and this is the hardest part – taking yourself outside your comfort zone. In this session I’m going to talk about efficient practice and the techniques musicians use to overcome performance anxiety.
“So as you can see I have a keyboard here which is very cool. When I first asked the organisers if I could possibly have a keyboard on stage they said ‘Yes of course!’. Then after a pause they said ‘Oh you mean a piano keyboard’.
“I thought I would play something that everyone knows [plays Happy Birthday, encourages people to sing].
“Alright so I think that went pretty well. There were a few things that could have gone wrong, like playing the wrong notes or completely forgetting how the melody goes, or being put off by the fact that I’m being scrutinised by a bunch of geeks wondering why I’m up here playing happy birthday… but luckily none of those things happened and overall I think it was a good performance.
“Actually, I shouldn’t say luckily. The fact that it went well does not have anything to do with luck. There is only one reason why a performance goes well… and that is that you’ve put in the hours to properly prepare. My music teacher at the Conservatorium high school used to say ‘If you want to give a magnificent performance, you have to PRACTICE giving a magnificent performance’. So there are really two types of practice: 1. Getting it right and 2. Getting it right IN FRONT OF OTHERS.
“The more you perform, the better you get at it. Instead of feeling nervous, you’re able to harness that nervous energy in order to create excitement in your performance. When I was performing HB just then, I wasn’t at all nervous, because I felt very prepared. I’ve done it A LOT. In fact by treating it as a simple fermy problem, I calculated that since I play it on average once a week for my students, plus once every couple of months at social gatherings, and have done so for over 30 years… this means I have performed HB over 1700 times in my life. It makes sense that I’m not nervous about it.
“Steve Jobs certainly understood this. He was renowned for rehearsing his presentations over and over, perhaps doing hundreds of practice runs, deliberately putting himself in nerve-wracking situations, presenting for all sorts of audiences and requesting feedback from his most fear-inducing critics. As a result, he was an incredible presenter.
“Whenever you see a good presenter, or listen to a great performance of any kind, you can be sure a great deal of effort has been expended. No-one is born being able to play the piano, no-one is born being a whiz at coding. Everyone who is good at what they do has come through three stages of learning: cognitive, associative, and autonomous. The really ‘talented’ people are those who have worked their butts off to not only get to the autonomous stage, but to stay there and keep increasing their skill set.
“We’ve all been through these 3 stages when learning how to drive a car:
1. The cognitive stage begins when you first get your L’s, as my daughter has just done. She is learning about accelerator vs. brake, thinking about letting the steering wheel correct itself, she has to remember to depress the clutch so she doesn’t crunch the gears. She has to stay away from traffic while she learns these things, she can’t conduct a conversation while driving (much as she wants to), and she has to concentrate very hard on the new skill of driving.
2. A provisional driver, such as my older son, is well into the associative stage of learning. He is not thinking about his every manoeuvre; now he can watch other traffic, anticipate other drivers, listen to the radio. Even though he and most P-Platers think they know it all, there’s still a fair way to go before he is through this stage, and there are rules in place for him limiting speed, the number of passengers he can take, and use of his phone.
3. We experienced adults are all in the autonomous stage of learning to drive. We can easily carry on a conversation, eat, drink, check email and do a variety of things while navigating to exactly where we need to be.
Musicians go through these 3 stages when learning to play a piece, and my husband Andrew (who is a total geek and an avid coder) and I have discussed how coders also go through these stages.
So I thought we could compare how I would learn a piece such as Happy Birthday vs. how he would go about writing some code in C#.
Musician | Coder | |
Cognitive | Learn the notes (show score) | Learning the syntax of the language, how to construct commands |
Associative | Achieve fluency of notes and expression | Concentrating on optimising the piece of code you are writing, not thinking about how to actually use the language |
Autonomous | Make necessary changes to performance to accommodate surroundings e.g. talk while playing, encourage singing, worrying that no-one is singing | ‘State of Flow’: thinking about implications of the code you’re writing and how it fits in to the entire system |
“In order to move through these stages, you have to DO the activity a lot. I’m sure you’ve heard of the 10,000-hour rule, made famous by Malcolm Gladwell in his book Outliers, which claims that you need 10,000 hours’ exposure to an activity in order to become an expert at it. 10k hours equates to 3 hours’ practice every single day for 10 years. Bill Gates had done his hours by the time he was a teenager. The Beatles had done theirs as a band early on in their career.
“Did you know that in 2010 a boy named Marc Yu did a recital in Carnegie Hall – aged 10. He was labelled a child prodigy. This makes it sound like he just happened to be born with an amazing talent of playing piano. But when you read his biographies you learn that he started piano when he was 2, and by the time he was 7 years old he practiced up to eight hours a day. He had easily done his 10k hours by the time played in Carnegie Hall.
“The problem with this formula is that it makes it seem like all you need to do is put in 10k hours and you’ll play at Carnegie hall, or be a rock star, or own Microsoft. It’s not true, of course. Successful and famous people have had a lot of luck come their way. There are lots of people who work very hard and don’t ever have any luck. But there are very few people who become successful purely through luck, without ever working hard. To summarise: the 10k hours are necessary, but not sufficient.
“There is another factor to all of this – the quality of the hours of practice. You’ve all heard the saying ‘practice makes perfect’. Well, not necessarily. A more accurate statement is ‘practice makes permanent’. It’s possible to do things over and over and get really good at it… but that doesn’t mean that what you are doing is RIGHT.
“I always encourage my students to look at the maths: “If you play it say 4 times wrong and 1 time right, what are the chances you’ll get it right the next time you play it?” They can usually come up with the right answer, which is 20%. They know this from sport practice: the coach would not be happy with only 1 goal out of 5! They have to learn to practice efficiently – which means going back and converting the 80%.
“A child who can practice efficiently will move from the cognitive stage to associative stage, where music becomes much more fluent. It’s at this stage that most pianists feel they are ready to play for others. So they come to their lesson and play their piece for me. They feel prepared, but then they make a mistake, and exclaim “oh, I got it right at home!”
“Piano teachers are always hearing this line. The thing is… it’s true, they probably DID get it right at home, but even if they were getting it right 95% of the time, when they perform in front of others it’s always that 5% that emerges, which is extremely frustrating for them! This is because there is a huge difference between practicing and performing. At home, they are relaxed. When they come to their lesson, the piano is different, the room is different, I am sitting right there… it’s a completely different set of conditions. Any tiny little weaknesses are going to show themselves if it has only been ‘tested’ in the home environment.
“Good performing requires moving from the associative to the autonomous stage. This means a lot of practice at home PLUS a lot of performing – deliberately creating situations where performing is a little nerve-wracking – to see if the practice holds up under pressure.
“Athletes go through this all the time. They have to train under all sorts of conditions. There is no point turning up for a tennis final on grass if you’ve only ever played on clay. Swimmers who train in their everyday gear then have to get used to their super-tight race suits as the race approaches. A marathon runner will make sure they can go the distance in various different climates, altitudes and weather conditions.
“The same is true when coding, Andrew tells me. It’s important to test under all conditions before, let’s say, demonstrating some code to a client. While the piano student complains ‘But I got it right at home’… the equivalent phrase for a developer is ‘ But it worked on mymachine’.
[Lots of laughs from audience. It really is the equivalent phrase for them!]Image: @delic8genius
Hi Sammy.
I love this story. You are so brilliant at engaging people and explaining concepts in a totally creative way and making it fun.
Love your work.