An excerpt from how-whatsapp-scaled-to-1-billion

This is an interesting discussion on Hacker News for a process to learn new things quickly.

Here are some of the top answers summarized.

  • For a new programming language, there are a couple of standard things you should try to implement.

    Write several programs where you

    • Read/write to a file
    • Turn a structured object into JSON
    • Parse JSON into an object
    • A basic script that can be run from the CLI, parses flags/args, reads stdin
    • Send a HTTP request
    • Implement a very basic web server

    When you’re doing these exercises, do not copy/paste any code.

    You should be typing out the code yourself.

  • Try to bias towards reading (blogs, documentation, code, books, etc.) over watching video tutorials. Reading is a lot faster than watching video and you can be far more efficient with your time.

  • A 3 step process for learning new frameworks is to divide it up into a week’s work (10 - 15 hour total commitment)

    • Prepare - Spend 1 hour Monday through Thursday reading documentation, books, and watching content. This way you’ll have time to sleep on the concepts.
    • Plan - On Friday, spend 1 hour preparing a small project idea for the weekend that will use all the concepts you learned over the week.
    • Project - Spend 4 - 6 hours building the project over the weekend.