Python Developer Roadmap in 2021 🗺
Tags: python, productivity, beginners, codenewbie
Published: 2020-12-23 04:27:46

Do you want to become a Python developer but don't know where to start? If that's the case, you're in the right place. In this roadmap, I will show you everything you need to know in order to become a python developer. Let's jump right into it!

## Table of Contents

- Foundation 🐍
- Terminal/Command Prompt + Git/GitHub 💻
- Advanced Python 🐍
- Popular Libraries 📙
- Computer Science 🤓
- Web Scrapping 🗄️
- Web Development 🌐
- Scripting 📜
- Ethical Hacking 🤐
- Machine Learning/Data Science 🤖

## Foundation 🐍

- Python 3 vs Python 2
- Code Editors (choose one)
  - Vim
  - VSCode
  - Sublime Text
  - PyCharm
  - Atom
  - Juypter Notebook
  - Google Colab
- How Python Works
- Python Interpreter
- Running Python Code
- Data Types and their Operations and Use
- Numbers, Operators, Operator Precedence
- Variables
- Type Conversion
- Indentation
- Logical Operators
- Conditionals - If, Else, Else if, Truthy, Falsey
- Loops: for, while, loop control statements (break, continue, etc)
- Functions: scope, parameters, arguments, return
- Built-in Functions
- Commenting: single-line, multi-line, docstrings

## Terminal/Command Prompt + Git/GitHub 💻

- Basic Bash Commands
- Git Basics
- GitHub Basics
- Source Control

## Advanced Python 🐍

- OOP
- Classes
- Dunder
- Methods
- Inheritance
- Decorators
- Functional Programming
- Lambda Functions
- Map, filter, zip, reduce
- Errors
- Error Handling: try, except
- File I/O
- Regex
- Testing, unittest
- Import
- Modules
- Packages
- Pip
- Virtual Environments
- Debugging

## Popular Libraries 📙

- Tkinter
- Requests
- Pillow
- PyQT
- Pygame

## Computer Science 🤓

- Time Complexity
- Space Complexity
- Big O Notation
- Data Structures
- Algorithms

## Web Scrapping 🗄️

- Beautiful soup
- Selenium
- Scrapy

**Project Ideas 🔥:**
- Hacker News Scraper
- Dev.to Scrapper
- Amazon Price Tracker
- Jobs Portal Scraper
- COVID-19 Web Scraper

## Web Development 🌐

- Django
- Flask
- Zappa
- Dash

**Project Ideas 🔥:**
- Login System
- Portfolio
- Blog Site
- Todo App
- Ecommerce website

## Scripting 📜

- DevOps: Docker, Kubernetes, Gradle, etc
- System Admin

**Project Ideas 🔥:**
- Automate the Boring Stuff
- Create a Calculator
- Contact Book
- Directory Tree Generator
- Expense Tracker

## Ethical Hacking 🤐

- SQL injection
- Session hijacking
- Man in the Middle
- Networking
- IP Adress
- Exploitation
- Social Engineering 
- Pen Testing
- Footprinting
- Firewall

**Project Ideas 🔥:**
- Hacking wireless networks
- Create a vulnerable site and hack it
- Password cracker
- Web Application Pen Testing
- Break A Caesar Cipher

## Machine Learning/Data Science 🤖

- Tensorflow
- PyTorch
- Keras
- Scikit-learn
- Numpy
- Pandas
- SciPy
- Matplotlib
- Seaborn
- Neural Networks
- Machine Learning Algorithms
- Data

**Project Ideas 🔥:**
You can check out the article I created covering 30 project ideas within the field of machine learning and data science.
{% link https://dev.to/hb/30-machine-learning-ai-data-science-project-ideas-gf5 %}

## Conclusion

Thank you for reading! I wish you the best in your journey in learning and mastering Python!

**Henry**

Cover Image: Getty Images