Automatizing computational skills 
"It is a profoundly erroneous truism, repeated by copybooks and by eminent people when they are making speeches, that we should cultivate the habit of thinking of what we are doing. The precise opposite is the case. Civilization advances by extending the number of important operations which we can perform without thinking about them." ---Alfred North Whitehead
"All math instruction problems are primarily insufficient speed at a previous step.  If you can't run multiplication in your head, you can't do long division and have it make sense.  If you can't factor numbers in your head, you can't do decent fraction problems.  If math facts aren't instant, basic algebraic manipulations (2x + 3 = 17) take too long to do ... and you never learn the patterns. Algebraic fractions, quadratic factoring, the fundamental theorem of calculus, integration over the complex half-plane ... it's all the same thing.  How fast are you at the prior step?  Can you do it in your head?" ---Aretae

What specific exercises are helpful in internalizing and automatizing computational skills? I realize that the obvious answer is "drill and repetition," but I was hoping the community would have some something more specific to add, so I have a number of related subquestions.
Say, are timed drills helpful? Should one try to do simpler exercises in one's head? Does anyone have tips on how to develop the mental toughness to persist through computations that might be boring or painful in the moment even as one understands that they are ultimately necessary for building understanding? Is there some esoteric metacognitive art of debugging one's own mental algorithms: figuring out the most efficient way of doing something, and training oneself to do that thing without thinking?
Motivation
After two years of pure autodidacticism in mathematics, I'm taking a differential equations course at the local community college, and it's been more difficult than I expected. Humiliating as it is to admit, I don't seem to yet have the patience or mental toughness for large problem sets, and I worry that I may have developed a few bad study habits. I have a tendency to leisurely examine proofs and casually attempt a few exercises, without (I fear) taking care to establish the firm base of quick and reliable skills needed for higher understanding. To take one example, I can do integration by parts, but only after a noticeable hesitation; the operation is not introspectively obvious to me in the way that (say) the distributivity of multiplication over addition is introspectively obvious and hardly even feels like a step. Integration by parts still feels like a step---and I wonder if perhaps it shouldn't, supposing one really wants a deep understanding. So while I'm proud of myself for (say) having picked up a lot of cool complex analysis insights from my few months with Mathews and Howell and my quick skim of Tristan Needham, I also feel as if I am missing some fundamental skills that are needed to achieve deeper insight, and I was hoping maybe this community would have some ideas.
Obviously this is a soft question (perhaps too soft?---I dearly apologize), and should therefore be community wiki; however, I don't have the reputation to enable that. Perhaps a moderator could be so kind? I thank you-all in advance for any advice you have to offer, and remain yours.
 A: I too am a self-learner of mathematics working in a field where I have to use math professionally. In my experience speed or automatism has not been important. The trouble in using or learning math comes from not being able to figure out what line of reasoning to follow or how to adequately model a real-world phenomena. Once you have that right being slow or fast only makes a marginal difference.
Practice is important but for a different reason. It is not possible to grasp the relation between different ideas without thinking your way through many concrete instances. Also, every area of mathematics has certain tricks or idioms that are repeated again and again. You get a hang for them only through practice and exposure to good work done by others (good textbooks for beginners like me). 
Unless you are being too modest and underplaying your effort, it is a very bad idea to "leisurely examine proofs and casually attempt a few exercises". Use pen and paper. Know the strategy of the proof well enough to be able to reproduce it on your own. Do at least 90% of the exercises.
A: I quite agree with the quotes about automatizing some skills/knowledge, in the sense that it will help you, when you solve harder problems, not to have to think about it and waste your energy/time trying to gather information from your brain. 
Memory is often a negliged part of learning/reasoning, because when one learn new theorems, new properties, new words ( I'm trying to include other disciplines that are concerned with it ), it suffices to read 1-2-3 times to remember it in the next days. But after some weeks/months, most of the knowledge will be gone. 
I would highly recommend a software called Anki that helps you optimizing your memorization processes. It is based on spaced repetition, a largely proven technique for learning (and not forgetting) simple entities of knowledge. Here is a quote from the bible of anki that I found really inspiring :
"By definition, simple material is easy to remember. This comes from the fact that its simplicity makes is easy for the brain to process it always in the same way. Imagine a labyrinth. When making a repetition of a piece of material, your brain is running through a labyrinth (you can view a neural network as a tangle of paths). While running through the labyrinth, the brain leaves a track on the walls. If it can run in only one unique way, the path is continuous and easy to follow. If there are many combinations, each run may leave a different trace that will interfere with other traces making it difficult to find the exit. The same happens on the cellular level with different synaptic connections being activated at each repetition of complex material"
You can use this software for example to automatize your arithmetic, to learn basic definitions of algebraic structures, or anything that you would want to preserve in your brain. I personally use it for foreign vocabulary and geography (with images) among others. I find cloze deletion a particulary powerful technique for definitions. 
