How to learn coding?

Submitted by chaky on Wed, 11/02/2022 - 09:29

code

Some of you may struggle to learn coding.

1.  Coding is about practice.  It cannot be learned through reading or listening, but only active learning.  I learned a lot through watching YouTube and Udemy, but I learned best when I am actually following the video and actually doing it.    Just do it.   Don't complain.

2.  Be patient.  It takes 1 year to start feeling comfortable,  3 years to feel skilled and confident, 5-10 years to feel competent that you can solve some new problem.   So coding is a LONG journey.  The winner is the one who is patient and learn hard.   The loser is usually those that is very active in the beginning, and give up midway.

3. Learn coding through project, NOT syntax.  Start a project you are passionate about, and learn through it.  You will truly understand what is "coding".      You can also start build your career by building up your GitHub profile.

4.  Learn through githubs.   Once you feel a bit more comfortable, this is the time to learn MANY examples in the GitHub and medium.com.    Try to copy them and change.    For example, copy TicTacToe and adapt it for Bomberman.....

5.  This may sound silly, but buy either a linux-based machine or MacBook.    It's much better for coding, and you can learn much more system/network skills.   I recommend M1 MacBook Air 16GB.  It's cheap and has everything you need. 

6.   Go to monkeytype.com and learn typing daily.   40wpm is a good start, 60wpm is quite ok, 80wpm is sufficient.   You can boost your productivity by typing fast.    One of my student improve from 20wpm to now 80wpm.

7.   Master only one language first.   Please don't be like a greedy man trying so many languages.   Master one language deeply so you can truly understand the essence of programming.   I recommend Python.

8.  Minimize StackOverflow and ChatGPT in the beginning.  Learn to read documentations. 

9.  Learn data structures and algorithms.  For example, you should know the differences between using a tree vs. graph vs. priority queue. Read the book "clean code".   It will completely change how you write code.

10. Learn system design.  Search YouTube videos "System design with X", such as YouTube, Twitter, etc.   It will help you when you finally venture into architecture design, and cloud computing using AWS / Azure.