There are theoretical physicists who can do everything they do with a pencil and a piece of paper. I’m not one of them. The calculations I do are long, complicated, or tedious enough that they’re often best done with a computer. For a calculation like that, I can’t just use existing software “out of the box”: I need to program special-purpose tools to do the kind of calculation I need. This means each project has its own kind of learning curve. If I already have the right code, or almost the right code, things go very smoothly: with a few tweaks I can do a lot of interesting calculations. If I don’t have the right code yet, things go much more slowly: I have to build up my technology, figuring out what I need piece by piece until I’m back up to my usual speed.
I don’t always need to use computers to do my calculations. Sometimes my work hinges on something more conceptual: understanding a mathematical proof, or the arguments from another physicist’s paper. While this seems different on the surface, I’ve found that it has the same kinds of learning curves. If I know the right papers and mathematical methods, I can go pretty quickly. If I don’t, I have to “build up my technology”, reading and practicing, a slow build-up to my goal.
The times when I have to “build my technology” are always a bit frustrating. I don’t work as fast as I’d like, and I get tripped up by dumb mistakes. I keep having to go back, almost to the beginning, realizing that some aspect of how I set things up needs to be changed to make the rest work. As I go, though, the work gets more and more satisfying. I find pieces (of the code, of my understanding) that become solid, that I can rely on. I build my technology, and I can do more and more, and feel better about myself in the bargain. Eventually, I get back up to my full abilities, my technology set up, and a wide variety of calculations become possible.