Effective learning for software engineers

Apply these five strategies for effective learning:

  • Preparation: Select the materials you will learn from, choosing the best available sources per online reviews, experts’ recommendations or personal experience.
  • Exploration: Familiarize yourself with the material as quickly as possible, without going into detail. Feel free to skim through the hardest parts, make quick notes to summarize sections and write down any questions you have.
  • Practice: Apply what you have learned so far to sufficiently challenging exercises (but not too demotivating) and highlight what you do not understand so you can immerse yourself in it later. Continue this longest, most focused effort until the end of the fifth stage.
  • Immersion: Apply the Feynman technique to immerse yourself in all the concepts you found harder - collect all the essential information and break it up into chunks if you need to, write down the concept or visualize it with a drawing if it helps, restate the concept in simpler terms and few sentences as though teaching a child, and add analogies that help connect it with concepts you already understand.
  • Repetition: Transform your notes on the hard concepts to flashcards and review them every day for 10-15 minutes, then make it less frequent (once every few months).

Full post here, 5 mins read