Writing software for 10+ years. Eschew hype; focus on performance.

Living in Switzerland 🇨🇭 since 2017.

Learning framework for dummies

First, Lelouch from X, presumably named after Lelouch vi Britannia from Code Geass, did a great job documenting a lot of the necessary knowledge to self-learn on their personal blog, including their switch from marketing to Computer Science / Machine Learning. It applies to programming as well.

If you want a bit more structure, start with Lelouch's content.

On this post I want to share something a bit less brainy.

It is just a loop I want you to encourage to think about, which when applied, will inevitably lead to mastery. In this case of programming but I'm sure it could be adapted to anything.

  1. Pick an achievable target, e.g. "make a todo app in Python"
  2. Set a timer, 30 minutes, or 1-2 hours
  3. Aim to achieve the target within the timer
  4. When the timer is up, assess, did you finish on time?
  5. If yes, repeat cycle but with a shorter timer or a more ambitious now-achievable target
  6. If not, repeat cycle with same or a simpler target, and same timer length, but first write down your learnings, observations and strategy for achieving it next time

Invariably, without fail, this is an upwards cycle towards mastery.

It might sound vague, but it is just one application of Deliberate Practice.

To any autodidact, or person self-learning programming, or the guitar, or whatever you like, this is the basic loop. Repeat this loop every day, multiple times if you have time, and you will get good given enough loops, no matter how smart or dumb you are.

Observe any master or self-taught expert, this is effectively what they did, one way or the other.

The mindset this requires, and the mindset it induces, is a long term mindset which on its own leads to mastery. It's "how can I get better next time?" with no concern for how poorly you've done so far, or how long it'll take to get to mastery. Because it is only concerned with the next step.

Just a caveat, it is not rare for people that follow this method to not feel like they're good. To not realize they're good. Because it's self-taught, so there is no test or comparison with somebody else to tell you whether you are good or not. So I recommend you simply focus on "am I achieving what I want to achieve with this skill?" and ignore any other signal.

Get it done, become a master.

Don't I need to learn the fundamentals first?

Funnily enough, you tend to learn them naturally. Because they're fundamental, you cannot avoid them.

If you missed something serious, you can go back and fix it later.

But once you're pretty OK, learning the fundamentals is not that hard.

Consume copious content

I suggest you spend around 1/5 or 1/4 of your time consuming content about what you're learning. Fun content. Doesn't have to be educational, just has to keep you engaged.

Special note on language learning

This loop is induced automatically by your brain when you consume any content in the target language, there's not much you have to do here besides being interested in the language. Grammar drills will actively harm this loop if done beyond some basics to start understanding the language (key word understanding, I don't recommend attempting to speak before you understand, it harms your long term ability to speak at a higher level).