How To Learn

How To Learn

ALWAYS:

  1. Journal - progress and todo

  2. Take notes - summarise and structure

  3. Brainstorm Questions - answer them later

  4. Decompose

Journal

Simple bullet points for each day.

Especially important to track progress if training Live Coding, LeetCode, Interview Questions.

Coding As A Game

  • You learn the rules of the game to be able to build stuff.

  • Just like any game, you can try to learn part or all the rules before playing. But learning the rules while playing is probably best.

Decompose

  1. Break Down Challenges in tiny separate parts you can practice in isolation - "isolated games" - i.e. tiny leetcodes, tiny tutorial

  2. Then try integrate it in a common context — "small games" - i.e. larger leetcode, larger tutorial, or small play-project

  3. Then try integrate it in a sequence - "medium games" - i.e. project

Go from step 2 to 1 if step 2 is too difficult. Same for step 3, go back to step 2 if step 3 too difficult.

Very similar process to when learning to juggle.

Bainstorm Questions

Ton of questions is totally ok. For each topic:

  • What

  • Why - technical reason

  • When - real-life use-cases

  • How - basic code example

  • Difference - between similar or related concepts i.e. X vs Y vs Z

  • Pair - this alway/often goes with that

  • Unpair - this never goes with that

  • Trade Offs - balancing act

  • History - when introduced to language

  • Vocab - informal jargon, formal, vocab hierarchy

  • Corner Cases

Always try to improve memorisation by using:

  • One Liners

  • Analogies

  • Mental Models

  • Shocking, Weird or Funny facts

LeetCode As A Gym

Going to the gym may not make you the best player, but it will increase your condition and raw power

Similarly, LeetCode won't make you the best dev, but it will increase your performance

Publish

  • Code on Github

  • Retrospectives on LinkedIn

  • Retrospectives on Hackernoon

Last updated