How to self learn Python?

JOHN CHAN
3 min readJul 9, 2019

--

The Importance of Motivation

The reason I started to learn Python was to do algorithm trading. I wanted to back-test strategies and automate trades using a program. To do that, I read a lot of books, and watch YouTube videos, starting from Zero.

A programming language is a tool. Learning to use a tool without knowing what problems it can solve is sometimes depressing. Just like many students ask their teachers: why I need to learn Calculus if I am not going to use it in real life? (Of course, Calculus is useful btw)

To learn a new programming language, you need to have a problem or question in mind that can be potentially solved by using the tool. For example, you want to automate some tasks, scrape data from websites, analyze stocks, build a website, or build a smart home. In this way, you will be motivated to learn the tool because it solves your problems, instead of doubting yourself: why am I learning this? I am not going to use it!

Know your Learning Style

Picking up a new programming language can be tough even you take structured courses in University. I still remember a lot of classmates complained the VBA course was so difficult. But, I think half of that difficulty comes from the fact that students don’t know the use of it, and how it can apply to solve their problems. They lack motivation.

We all have a different learning style. For me, I prefer reading lecture notes by myself and search the Internet for answers. Some people learn the best by listening. Some learn the best by following a structured curriculum. Ask yourself some questions like:

  1. Do you prefer reading or listening?
  2. Do you prefer having control on learning speed or having someone/ exams pushes you to catch up with progress?
  3. Do you have a golden time for learning, morning for example?

For example, I prefer reading. Therefore, I will use books as my major resource. I prefer having control of my own speed. Therefore, I do not join any Bootcamp or short courses. And I study before I go to work.

There is no right or wrong in learning style. By knowing your best learning style, you will learn faster and stay motivated longer.

Learn by Doing

Students sometimes fall into a trap to read too much and do too less. I think if you ask any programmers, can I learn Python by just reading books, and watching YouTube videos? I guess 100% of them will say NO!

I remember 2 years ago when I decided to do a program to automate trades, I picked up Python for Data Analysis and read the first few chapters only. Then, I started to code, and learn along the way. Slowly, I become more comfortable in the language. Try to apply the tool you have learned whenever you can!

The next lesson learned is to start with small projects. While programming language, like Python, is so powerful. You will not master it overnight, in a year or even 2 years. Having an ambitious goal is definitely good, and even necessary, but you need to reach there step by step.

Start from something small can build up your confidence, and keep you motivated along the journey. Keep your ambitious goal, and do it step by step.

Tell Your Friends

The final trick for self-learner is to tell your friends about your plan. I think it is related to Psychology. Post your goal on Facebook, Instagram, or Twitter, and constantly update your progress (Not necessarily social media though), you will feel some pressure (in a good way) to keep learning.

--

--