The Ultimate Python Roadmap For Everyone
Do you want to become a Web-Developer, Machine Learning and Deep Learning Engineer, Data Scientist, DevOps Engineer, and more using Python? Then this is the only article you will ever need to start your learning journey.
Note: I have a GitHub repository with all the resources and links that I have mentioned in this article with additional resources as well, so make sure to check it out — save it, star it or fork it for your references.
My Learning Journey
I started learning Python 4 to 5 years ago. I was interested in Machine Learning, particularly Computer Vision and Natural Language Processing. I did a lot of research on how and from where to start. I don’t want others to go through the same, so wrote this article. Here’s how I self-taught Python in just a couple of months.
Follow these steps exactly, and I guarantee you that they will help you advance your coding journey.
- I signed up for a Python Course on Codecademy and spent 1 hour a day. Doing just the course won’t help you, so keep reading below and follow the other steps as well! After going through each Module in the course, I watched YouTube videos by CS Dojo and Corey Schafer, both of them have outstanding videos.
- I then read a book called, "Python Crash Course" on the topic I learned from the Course and Videos (30 mins). This book is wonderful, it has everything from complete basics of Python to topics like Data Visualisation, APIs, Web Development (Django), etc.,
The book had 1-2 projects to practice. This book teaches you stuff that the course and videos don’t, so make sure to read everything. You will pace through the book easily because you already know a lot from the course and videos.
-
I later solved challenges from Hackerrank for 10 minutes to make sure that I understood the concepts that I learned. I spent around 2 hours a day. Not only that, but I took notes for everything so that I can go through everything once in a while (which was very helpful later).
-
After doing everything above, I started doing projects from the book Automating The Boring Stuff With Python (which is a fantastic book!).
- Later I started to learn Algorithms and Data Structures. I used the book called, Introduction to Algorithms. It’s a beginner’s friendly book but contains advanced stuff in later chapters. I spent around 1–2 hours a day and took a few months to complete. If you are into DevOps or SRE, you can skip this step. But it’s always good to know DSA. CS Dojo has a big playlist of videos on DSA. By the way, if you are interested in learning DSA, subscribe to my Newsletter on my Website – Narasimman Tech. I will be publishing many Data Structures and Algorithms articles with in-depth explanations.
- After learning Data Structures and Algorithms, I started my Machine Learning and Deep Learning journey, which is the reason I learned Python. Kaggle has free courses, like Python, Data Visualisation, ML, Neural Networks, and a lot. Check it out:
Follow me on Twitter. I write short threads on quick tips and tricks about Python.
Additional Tips:
The Official Documentation - The Python Official has everything to get started with Python. They have a beginner-friendly tutorial as well. https://docs.python.org/3/
Learn Git - Learning Git is useful for all software developers. I used a book called, Pro Git by Ben Straub and Scott Chacon. It is an easy book to learn Git and GitHub. To get started with Git easily, take a look at my other article,
Learn the standard library - Python has a lot of powerful inbuilt packages, and it's important to master them. But not all of them, but like - os, math, random, time, datetime, csv, etc.,https://docs.python.org/3/library/
Learn Linux - Linux is popular among developers because it allows you to work more effectively and quickly.
If you don’t know how to get started with Linux or you are a beginner Linux user. I’m writing a beginner-friendly book about how to get started using Linux for someone who has never used Linux or someone who is a beginner and wants to learn more. Subscribe to get notified when I publish the book and get 35% OFF, especially for you!
Important Python Libraries:
Knowing the following python libraries can be very useful for any Python-related Job.
- NumPy
You can learn from the Official website. https://numpy.org/learn/ - Requests
The Official website has a nice guide to get started. https://docs.python-requests.org/en/latest/ - Pandas
You can learn pandas from the official website, https://pandas.pydata.org/docs/getting_started/intro_tutorials/, and additionally, you can read a book called Python for Data Analysis. This book teaches you a lot, including NumPy as well. Also, Kaggle has a free course and Codecademy has a paid course.
Data Visualization:
- Matplotlib
- Seaborn
You can learn these libraries from Kaggle for free, or Codecademy has paid courses.
Friendly Reminder: Please Consider Following me if you like my article, 😊! Also, subscribe to my Weekly Newsletter on my website to get Premium articles straight to your Inbox!
Career Specific Paths and Resources
Python is a multipurpose language. You can use it to automate in DevOps, Develop Web Apps, create CLI Applications, build Machine Learning Models, use it for Data Analysis, and more.
DevOps and SRE:
Why Python for DevOps?
Python is a popular programming language because of its simple syntax, which makes it easy to learn. Python comes pre-installed in almost all Operating Systems, so it's easy to run Python programs. It also has a massive collection of powerful libraries and a large community.
Resource and Tips:
I’m a DevOps Engineer by profession currently. I use Python Scripts to automate countless tasks daily. You don’t have to learn everything about Python, learn the basics that I mentioned above and some libraries. I read a wonderful book called, Python for DevOps: Learn Ruthlessly Effective Automation. This book teaches everything that you need to learn about Python for DevOps. I highly recommend this book to anyone interested in DevOps.
If you want to learn about DevOps tools and Technologies, follow me and subscribe to my newsletter because I will be publishing many articles about DevOps in the upcoming months. Also, take a look at my other article,
Web-Development:
Python is very popular for web development. Companies like Google, Spotify, IBM, Instagram, and other big corporations use Python Frameworks to build their applications. Python offers many frameworks, among them there are two popular Python Frameworks - Flask and Django. Flask is a lightweight Framework whereas, Django is a full-stack Framework. I would suggest you learn Django first as it comes with numerous features and widely used than Flask.
Resources:
Django:
The Official Website: https://www.djangoproject.com/start/
Codecademy: https://www.codecademy.com/learn/paths/build-python-web-apps-with-django
Flask:
The Official Website: https://flask.palletsprojects.com/en/2.1.x/quickstart/
Codecademy: https://www.codecademy.com/learn/paths/build-python-web-apps-flask
Artificial Intelligence - Machine Learning, Deep Learning and Neural Networks
I started learning Python for Machine Learning and Deep Learning, and I spent a year building ML models. Python is the de-facto programming language for any AI technology. There are two popular Python Frameworks you might want to consider learning if you want to become an ML Engineer or Deep Learning Engineer:
- TensorFlow
If you don’t know, TensorFlow was created by Google, and now it is open-sourced. The official TensorFlow website has a learning path that you can follow. I enrolled in a Course on Coursera called TensorFlow Developer Professional Certificate. Additionally, I read a book called Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. This book is wonderful, you can easily understand concepts with basic python knowledge, and you have to know how to use NumPy, matplotlib, and pandas.
- PyTorch
PyTorch was developed by Meta (formerly Facebook) and now it is open-sourced as well. One of the best resources is tutorials from the official website:
I would recommend you to read the book, Deep Learning with PyTorch by Eli Stevens, Luca Antiga, and Thomas Viehmann. This book is fantastic for advanced learners, tho’.
Learn any one of the Framework first and try to master it, it may take a couple of months or years, and you may learn the other Framework. If you are getting started, I would suggest you learn TensorFlow first, because it has many beginner-friendly resources and is a little easy to get started. Additionally, you can get an official Google TensorFlow Developer Certificate to verify your skills. It costs $100 to register for the exam. I used the same TensorFlow course from Coursera that I mentioned above to prepare for the exam:
Here’s a course if you are ready to learn advanced concepts in TensorFlow:
Additional Resources:
- Read the book Deep Learning by Aaron Courville, Ian Goodfellow, and Yoshua Bengio. This book is one of my favorite and the first book when I was getting started with ML and Deep Learning. This book starts with basics and covers advanced topics and algorithms. These books have everything to get started with AI.
- As I have mentioned above, Kaggle has many free courses to get started with Machine Learning and Deep Learning. https://www.kaggle.com/learn
- Learn a Database, start with Postgresql or MySQL and then MongoDB or Apache Cassandra and Graph-based database like Neo4j.
- Learn Data Visualization and Data Manipulation tools that I have mentioned above.
Data - Science, Analysis, and Engineering
Python is also popular among Data Scientists, Data Analysts, Data Engineers, and other Data related roles. There are numerous libraries and tools available like pandas for data manipulation and analysis, matplotlib, and seaborn for data visualization. I did a Data Engineering Professional course on Coursera by IBM 6 months ago:
It was nice and easy to get started. I sat for around 2 hours daily, and I completed the course in 3 months. This course is sufficient to get started, if you want to do a portfolio project, browse through this course:
I completed a Data Science course on Coursera 2 years back. This course is for someone who wanted to get started as a Data Scientist:
Data Analytics Course:
Conclusion
Don’t worry about anything and start learning the one that you are passionate and excited about and the one that motivates you. Once you get started and keep going and pace through the curriculum, you’ll get an idea about what to do next. Keep learning and gain valuable knowledge. I wish you all the best with this new and exciting adventure!
Check out my GitHub Repo for all the links mentioned in this article, with additional resources as well:
Apart from Python, if you want to learn about Google’s Golang, follow me on Twitter and subscribe to my newsletter. I have planned to share countless articles on Golang.
Additional Resources:
If you wish to become a Next Gen Developer, have a look at this eBook!
Follow me on Medium and Subscribe to my Newsletter:
Follow me on Twitter for Python tips, tricks, and resources.