Moving Out Of The Pre-Practice Stage

A day or so ago something encouraging happened. I was working my way through a book on coding and I managed to solve an exercise in about 15 seconds, counting debugging. Now, granted, the problem was extremely easy:

If you’ve done any programming at all you’ll probably scoff at how trivial this problem is, but I’m not bragging about it’s difficulty. Rather, I think it means I’m beginning to get to the stage where I can actually start learning how to program.

Having gotten pretty decent at a number of things in my life, I’ve had time to observe the arc of skill acquisition. There’s a very uncomfortable stage right when you begin learning how to do something which is sufficiently distinct from learning at later stages that I’m calling it “pre-practice”.

Take chess as an analogy. When you’re still working on remembering how the pieces move and what their names are, you’re not practicing chess. Sure, we generally use that verb, but until you have fully internalized piece movement, you can’t think in any real sense about deeper concepts like controlling the center of the board, to say nothing of the abyss that is chess opening theory.

Or guitar. In the weeks when you first pick up the instrument your fingers are going to hurt when you press down on the fretboard and just holding it is going to feel awkward; you can tell it’s going to be a while before Stairway.

Up until now I’ve been pre-practicing programming. I’m sure I’m not done with this stage yet, especially since my programming has all been in python, but I’m getting closer. In solving the problem named above I was above to conceive a solution immediately because I’ve become familiar with a lot of basic programming concepts, implement it quickly because I’ve developed a pretty good muscle memory for typing in python, and debug it because I’ve written and read enough code that I can spot a missing semicolon pretty quickly.