When learning a skill it's worth getting fast on things that take less than a minute. These are typically things you'll do a lot of. Removes the cognitive overhead when learning more abstract things. When learning a subject ask the simplest question that can explain some fundamental principle you don't understand. Continue to expand the domain of questions that have easy decision processes, such as rules or laws that. Learn to distinguish between what you know and what you kind of know (and might be cargo culting). Take pleasure in being wrong. Write posts in a way that are falsifiable.
Go at least one level deeper on a topic to identify the building block. The surface levels can change pretty fast, but the fundamentals stay relevant longer. (via @amodm). Scott Young in Ultra Learning mentions a related thing that for skills to be transferable one has to identify abstractions that are common across fields and this requires going deeper.
Use spaced repitition techniques to reinforce earlier learnings to long term memory
Use writing to clarify your thinking. Read in support of your writing, which means be comfortable not reading content cover to cover, but skipping to the relevant portion to the part you’re writing at the moment. Get feedback on your writing. Be proactive in finding holes in your argument, don’t hesitate changing your position if the arguments in favor. It’s worthwhile switching sides (or to “invert” in Charlie Munger’s language) regardless of your current position to make sure you understand the opposing viewpoint correctly. Publish the work to get more feedback. See Learn by writing
Experts Recognize, Beginners Reason
To understand a concept keep switching between concrete to abstract to concrete. This is also referred to as a "Semantic Wave" a concept defined by Australian Scientist Karl Maton. For example, when learning a new programming language, start with a simple program, then try to understand the underlying concepts, then try to apply those concepts to a different problem. (via How to build a learning machine)
Reading a lot of code will help someone become a more efficient programmer.
Seeking to succeed (rather than avoid failure) and believing that ability is changeable are important factors in resilience and learning.