Learning skills is hard, and takes a lot of effort to learn them well. I have used these following steps to learn various things such as speaking, data visualization, Excel, writing. It is painful going through this process, but in the end, the joy of knowing a skill easily removes that pain.
Here’s your roadmap:
Learning to Learn
- Understand why you want to learn a skill. There is nothing more important in this process than understanding why you want to learn something. Your motivation to learn that skill will decide your outcome. Research has shown, and it makes sense intuitively, that intrinsic motivation is much better for learning because you are motivated by the self-improvement that learning will bring as compared to salary increase that this skill may bring
- Pick a "for dummies" book for learning this skill. Read through this book quickly; understand the topic. This read will not only introduce the skill to you but also reinforce your learning objectives.
- Get a couple of complete reference or advanced books. If you are still committed to learning this skill, stack your bookshelf with advanced or complete reference books on that skill. Read the chapters that interest you first, and then you can go back to other topics
- Practice examples from books. In your own words/code/style practice the examples from the book. Do not skip this critical step. Just reading about a skill won’t teach you those skills. Practice.
- Participate in forums to help others. The best way to learn is by teaching. There’s a forum for everything. Stackoverflow is a great forum for various programming-related topics. It even has sister sites on topics like English and home improvement
- Find projects to work on. Practice on real examples. Textbook examples are usually straightforward and without the real-world mess. Nothing will sharpen your skills than working on real projects. This is a great way to build solid relationships as well: offer help for free.
- Compile your notes. As you are going through the process, make sure to take good notes and once you are at the end of the process, summarize your notes and go through them one more time. This will reinforce your learning, and you’d be less likely to forget your newly learned skill. Write in a simple language: it will force you to understand the topic in depth.
Of course, once you learn a skill, continue to find uses for it; otherwise, it would be difficult for you to stay sharp in that skill.
Bonus tip: apply microlearning techniques. You can make digital flashcards using tools such as Mnemosyne and Anki. But these tools go beyond plain flashcards: they use spaced repetition to adjust the frequency of flashcards you see next. If you memorized a concept (i.e. a flashcard), it may not appear as frequently.