On a Linux System, Mac, or WSL in Windows.
Use a simple text editor and terminal for a while.
Learn Python 3.7.
Use only the command line. This will help you learn Linux while learning the rest.
Start learning Python.
Best book to start with if you studied C or Basic or something like that in school, is Dive Into Python3, available for free as a website.
If no basic or C or any programming language exposure before,. Automate the Boring Stuff is good, available for free as a website.
By the time you have covered either books, you will know more than enough to know what to do next to learn more and from where.
Eventually start building small Python projects, and use Git and Linux with them.
When you are comfortable using basic Class and objects in Python, then depending on the project, learn the necessary Python libraries, as the need arises.
The libraries that you should eventually master in Python, beyond the language's built in modules, are Requests and Flask.
For the most part, while learning all this, you will only need to learn a few basic Git commands. So don't try to "master" Git in one go.
Once you are comfortable with all this - basic Linux and Git, advanced beginner level Python; learn basic SQL commands, which you can use with python's sqlite module. Use Sqlite files as practice to lightweight databases and refine your Linux, Python, and Git.
This includes Python Design Patterns and software architecture basics.
Look up the basics of Clean Code and follow them. Read Clean Code by Robert Martin or Martin Fowler.
When you get stuck, quickly solve the problem using Google and doing what's necessary, but then read a little more, in-depth, right then. Do this every time you lookup something, so you can learn in small pieces and build on and with this knowledge. Practice reading official documentation not just blog posts and articles.
Don't overdo it to the point of boredom.
The idea is to keep working on your project, and going a little in-depth on the things you had to look up.
Including Linux + Git through constant use, all the time in the background.
Then learn basic Docker.
Then learn basic PostgreSQL.
Increase the scope of you projects as you learn.
Top comments (0)