I have two passions into which I love to invest my time: go and volleyball.

Go is a strong contender for world's oldest game.  It's a strategy game played on a wooden board with black and white stones.  Volleyball is, of course, volleyball

I started these activities right around the same time, eighteen months ago.    Since then, I've gotten quite a bit better at both.  I'm not quite a grizzled vet yet, but I'm on my way.

The process by which we gain new skills fascinates me, and I've paid careful attention to exactly how I got better at these two activities.  Despite their differences, the answer to both is the same: proper practice.

When I say proper practice I mean engaging in activities that drill you on the fundamentals of your task.  Proper practice in go is solving go problems.  Go problems lay out a situation that could occur in a game and ask you to find the very best move, over and over again in hundreds of scenarios.

Proper practice in volleyball is called peppering.  To pepper, you stand six or seven paces from a partner and pass, set, and hit the ball back and forth between you as accurately as possible.  In a peppering session it's not uncommon to have hundreds of repetitions of these actions. 

Having carefully observed my process of improvement in these activities, I've noticed two things I think are worth sharing.

First, nothing improves you faster than dump-trucks full of repetitions.  When I go to pass the ball to my setter in a game, there is simply no substitute for having done that particular move a thousand times before in the field by my house.  Those thousand reps are the key to my consistency. 

Second, proper practice is working on the hard stuff.  Go problems are broken out by skill level, and after a while, the answers to beginner problems come instantly; they're burned into your firmware.  These are not the problems to practice with.  The ideal problems are those you can solve only with some effort.  It is exactly while you are exerting this effort that you are getting better

I think you can use these ideas to help discover proper practice for nearly any activity.  Consider them litmus tests to see if you've found a worthwhile routine.  Ask yourself: are you getting in lots and lots of reps of things that are hard for you?

If so, you're about to get a whole hell of a lot better.

(If you liked this post, you might enjoy a similar piece I wrote called On the Fundamentals of Programming)