I really want to be a better musician. Someday, I will be. I know what it takes: practice.
I want to get really good. I want people to hear me play and say to themselves “hey that guy really knows how to play.” I want to be able to sit down with other musicians and make things happen. I want to understand music in a lot deeper way than I do now. That’s going to take a boatload of practice.
Say the day comes I’m really motivated about this. My life has morphed such that this is my top priority. I’m gonna get good at this. I’m gonna do whatever it takes.
There is a weird barrier in my way. I can’t practice eight hours a day. I’m not good enough to practice eight hours a day.
Physical barriers are a part of it. You need finger strength (or lung strength or arm strength). You need skin that can take it. You need specific kinds of muscular endurance.
But that’s small compared to the mental barriers. Frustrations will build up very quickly. I won’t be able to play certain parts. I won’t be able to figure out what I need to know to even start trying to play that part. I won’t have enough things to practice because I don’t know enough to have the pool of things to practice be very large. I don’t even know what I don’t know. I will fatigue easily.
I can still practice, but less. An hour a day. Two hours a day. Maybe split up into little chunks here and there. It’s gotta be that way so my brain can digest it all. So I can reset my fatigue timer.
There are some tricks. I can listen to a lot of music. Having the tunes you want to play solidly in your head helps you play them. I can practice on my own in addition to taking lessons. I could take take a music theory class. I could get some friends together and try and start a band. Those contexts are all different, so they will, in a sense, reset my frustration and fatigue timers.
In time, practice will start to snowball. I know more tunes, so I can practice more tunes. I know more theory, so I can apply more theory. I know more styles, so I can play around with more styles. My fingers have some intuition, so they will start doing things more effortlessly. My muscles are more used to the actions, so they won’t get tired. I’ve broken through enough barriers that I know where to turn when I come across another one.
Now I can practice eight hours a day. It’s easy. I look forward to it. My practice is even more fruitful, because my brain is able to draw more connections. I start understanding more interesting things about music. How one tune feels like a long lost sister to another. How a melody and harmony work together. How an unexpected chord feels. I can refine my movements. I can pinpoint my bad habits.
This is true of all things. A first time snowboarder likely can’t throw eight hours a day at snowboarding and breeze through the learning curve. You can’t take twelve thousand photographs in a single day and become a great artist.
You also can’t learn web development overnight. The path is full of frustrations. It takes time to know what you don’t know. It takes time to build up your barrier-busting reflexes. It takes time to understand what is connected to what. It takes time to know when to reach for tools, where you can be most productive, where your talents can be applied.
The tricks to improve more quickly are similar: vary the context. Read. Listen to talks. Code something small. Peck away at coding something big. Look at other people’s code. Try to figure out what’s happening on your favorite websites.
Snowballing will happen! You’ll understand more. You’ll feel like your time yield more results. The work will feel more rewarding and potentially fun. You’ll be able to spend more time learning because that learning isn’t so frustrating. The learning will be stronger because these news ideas will fit into the fiber of everything you already know, rather than a loose thread ready to float away.
How insightful Chris. The perfect analogy.
And the root notes remain constant.
Even those of us with music degrees do not necessarily practice 8 hours a day. There is a point of diminishing returns. One thing that is taught in music school is how to practice. Knowing what to focus on and when are big parts of the learning/improvement cycle. Paying attention to detail with extreme focus is required to get your technique right.
A person also needs a certain amount of tenacity and a modicum of stubbornness to work up to 5-6 hours practice per day. This applies to web development, too.
Play on!
This is a great, super-encouraging post.
while I agree with the general point of this post, there’s a difference learning something that keeps changing and evolving as rapidly as web development. i have 17 years work experience as a web developer. in the last couple of years i’ve had a growing frustration of not being able to keep up. i feel that new tools, workflows and best practices come and go so fast that i can just barely grasp how to use them before something new comes along. even for a fairly simple campaign site, there’s so many tools to configure and get up and running that the actual work seems to be obscured. there’s git, vagrant, docker, gulp, bower, sass, babel, react, browser sync, source maps, polymer, linting, minification, revisioning, svg, srcset, oauth, cdn, blah blah blah. my snowball has taken the shape of a monster trying to crush me.
learning how to play an instrument seems like a breeze in comparison.
But that’s only because you don’t know what you don’t know (about music), feeling there’s only so much you have to learn to master playing an instrument. There’s a whole lot.
Fortunately (for Chris and others like him), the lot is vastly reduced if you don’t aim at being a professional.
I’d say this goes for web development as much as for music.
Thank you for saying that. I have been doing the web thing since 2000 and its insane how much everything has changed. There is now way I can keep up. I read enough to know what exists but not enough to be able to implement. And then if I do have to implement I am doing a mad dash to cram in months of practice in weeks time.
One thing that really really helped me understanding CSS was writing Thunderbird Addons. They all use CSS3 in order to modify the UI of the actual desktop app, and you can do a lot of useful things with a little knowledge on CSS3 and the box model.
The other advantage is that the Mozilla (xul runner) apps are usually fairly up to date in what they support without even using vendor-prefixes.
It’s definitely true.
The first week that I tried to learn how to snowboard, I only tried it in the morning hours. A friend used the board in the afternoon and I got to ‘rest’ while skiing (I already had skiing experience). Another guy didn’t have skis and tried and tried to learn snowboarding 8 hours a day during that week.
While my friend and I were able to run down a whole slope without falling after a week, the other guy who practised at least twice as much hours was still being dragged up by the lift and was more on his knees and a** than standing up…
Practise in stages: learn, rest & repeat
There’s also the matter of how good you are at learning a certain skill. The guy who practiced 8 hours a day probably knew he was worse at it than some others, that’s why he chose the long days. Talent is a part of the equation too. Small but still a part.
Eventually life (and people you got around) will also throw at you some curveballs and you’ll have to start over exactly when you were close to reach a milestone.
Very much inspiring… Chris I am a big fan yours …
This is super motivating and inspiring! Thank you Chris!
The first word a web developer needs to understand – kaizen
Thanks for this and all your leadership.
When I first started programming, I never felt like I was practising. I would go home after school, read my programming books, and continue to tinker with my programs and create new ones. But it wasn’t practice – I was just doing what I love to do.
In my opinion, if you feel you need to “practice” web development, you’re simply in the wrong field. Web development should be a passion, not an end goal. Web development should drive you to constantly improve your abilities because you love doing it, not because you’re practising.
Web development is not something that you start out doing for 1 hour a day, then eventually work up to 2 hours, and 4 hours, and so on. It’s not a physical skill that your body needs to be conditioned for. Regardless of your skill level, there’s always more that you can do – more than enough to fill each 8 hour day (barring other responsibilities, of course).
It’s all about mastering a craft and that is – as I find – always a fascinating process.
Thanks for this, it’s always nice to hear the ‘rock stars’ in my industry talk about struggles. I’m still struggling with becoming a better developer, but I can really relate to this with one of my hobbies that I took up because of all the frustrations I was feeling from struggling with web dev! I see how I’m better at it and understand more.
So in a roundabout way, this helps me understand, though unfortunately I got better at my hobby and still not so much at my job :-/
I found that there is a ton of value in the resting stage of a practice cycle. I don’t know if there is real science behind it, but it seems like my muscle memory needs time to form (or something else sciency). I experimented with changing up my practice-to-rest ratios and I’m fairly certain that the rest plays a huge role.
When learning a new strumming pattern for guitar, for instance, (something I’m exceptionally bad at – rhythm is not my strong suit), I found that no matter how long I practiced I still learned the pattern in about the same amount of overall time. I pared it down to 10 minutes of practice with about 8 to 12 hours of rest in between, and in 2 or 3 of those sessions I generally had it down. The takeaway for me there was that I eliminated almost all of the normal frustrations I felt with longer practice lengths. When I were to come back to it, it just seemed to “work” now.
I’ve been trying this with other things in my life, and it really seems like the principle is holding true (for me, anyway). Pretty cool.
As a future musician and a present so-so coder I’d like to say this article is a spot on in every single word. Thank you, Chris!
High tide, low tide and then sea is calm again. I just had one of those frustrating moments after a few weeks yesterday. It can be a beautiful thing when you hit a roadblock, though… Watching yourself get frustrated, then taking a step back, going for a walk, coming back, creating a reduced test case, debugging again, and staying calm through it. Not easy if you have tight timelines or a client breathing down your neck. But the beauty of writing code is you’re constantly hit with roadblocks, even as you get better at it. There’s so many lessons for living a good life inside this.
Are you un-allegorically learning to become a better musician? If yes, what instrument?