It took me 2 months to learn the basics of programming. In this post, I am going to explain to you how to do the same thing by following a step-by-step process.
Programming is not that difficult, in the end. It all depends on which level we are talking about. If you wish to build asynchronous neural networks hosted on an EC2 instance, well, this may not be your first project, but running simple simulations and getting data from the internet only requires simple logic and about 30 lines of code.
Do I need to have math skills to learn coding?
The initial project you are likely going to manage in your first 2 months of programming is relatively simple and does not require any knowledge of math, advanced logic, or statistics. Math knowledge is only necessary when you already know how to write exceptional code, and you wish to step up your level.
In such a case, the best thing to do is start learning data science (follow or step-by-step guide to learn data science, with our own syllabus), which is a subject that involves both statistics, probabilities, and coding knowledge. For python alone, you can follow our dedicated guide.
The 80/20 rule for coding: why it takes so little to learn it?
A computer language is vast. It takes years to master it and follow up with all the updates and different functions that are added to the syntax. If you are unlucky, some computer languages may also perish. However, you can only learn 20% of the language to do 80% of the stuff you need to do (realistically it may be around 30-35% ).
The rest of the language are methods, some internal libraries and more complex ways of making objects, for example.
Where do I start?
If you haven’t joined our coding community yet, this may be a good chance to enter. You can join our community on discord. Remember that to learn to code, all the resources are FREE: everything you find on the internet regarding coding does not deserve to be charged, because everything is basically open source, now.
First of all, you need a place where to code. There are two choices:
- On remote
When you start, do never choose local. The configuration of the python environment on your computer, although it has been simplified over the years, is still very messy and you may get frustrated if something is not working.
On the contrary, if you choose to work with an online coding environment like Google Colab or Online Visual Studio Code, you will have everything ready in less than 1 minute. Remember that at the beginning of your learning path, you will only need to type a few lines of code, not making and deploying software on the internet. This can be easily done with a notebook.
This is how I learned coding in the first place: I followed a Youtube Playlist. Although I specialized in Python, which is one of the most popular computer languages for software engineering, the same principle still applies to all other computer languages.
After 2 years of experience as a Machine Learning specialist, I can give you a few tips that I had to learn the hard way (unfortunately):
I constantly take notes on the code I learn. You may remember one computer language in your mind, but when you have to deal with 3, including libraries and Cloud, things can easily get out of hand. You have to find a way, like I did, to have a note system organized, being able to add new concepts to your note bank whenever you are learning them.
I personally use Microsoft Word, because there are too many pages to manage (over 3000 in my entire note bank), but you can also try something simpler like Notion.
Organize your projects
The death of every programmer is seen in how he manages his data. The most painful thing you will NEED to learn is to keep track of all the projects you have made following a precise schema and folder order. Good employers always lookout for people who know how to do this in programming.
Learn the depth of the language
Following the 80/20 principle of a computer language, you will need to learn the basic concepts to get started, but soon or late you will need to learn the remaining part of the language to deal with more complex projects. So, don’t get stuck. For example, there are several features to create objects on Python that you can only learn when becoming an expert.
Keep the repo updated
Every good programmer I know keeps his repo updated with new projects and commits. You can create a free one on Github, which is the most prominent repository community in the world. Later on, you will need to familiarize yourself with all the ways to interact with your repo via terminal.