Skip to content

Latest commit

 

History

History
356 lines (261 loc) · 29.8 KB

File metadata and controls

356 lines (261 loc) · 29.8 KB

Python Mastery Roadmap — Beginner → Job-Ready Professional

Companion file: Python_Projects_and_Interview_Prep.md (200 projects, 100 interview Qs, 100 coding problems, LeetCode/HackerRank/Codewars/Project Euler tracks).

Table legend: ⏱ Time | 🎯 Difficulty | 🔑 Prereq Recurring channel/site links: Corey Schafer · freeCodeCamp · mCoding · ArjanCodes · NeetCode · Real Python · Exercism · Codewars · HackerRank


STAGE 1 — FUNDAMENTALS

Topic Free Resource Docs Practice 🎯
Install + VS Code/PyCharm setup Corey Schafer – setup python.org/downloads Run "Hello World" 30m Easy
Running programs (REPL vs script) freeCodeCamp full course docs.python.org/3/tutorial 30m Easy
Variables & data types Corey Schafer – Variables Built-in types Exercism Python track 1h Easy
Input/output, f-strings Corey Schafer – Formatting PEP 498 Codewars 8kyu 1h Easy
Operators & type conversion freeCodeCamp Expressions HackerRank 10 Days of Python 1h Easy
Strings & string methods Corey Schafer – Strings str methods Codewars string kata 2h Easy
Comments, basic debugging freeCodeCamp pdb docs Debug 3 broken scripts 1h Easy
Basic math ops Corey Schafer channel math module Build a calculator 1h Easy

Book: Automate the Boring Stuff (free, Al Sweigart). Stage total: ~8h | Mini project: BMI/tip calculator | Mistakes: = vs ==, input() returns str, indentation errors.


STAGE 2 — CONTROL FLOW

Topic Free Resource Docs Practice 🎯
if/elif/else, nesting Corey Schafer – If Statements Compound statements Codewars 8kyu 1h Easy
match-case (3.10+) mCoding – match PEP 636 Refactor an if-chain to match-case 1h Med
for/while, range, enumerate Corey Schafer – Loops Loop constructs HackerRank 2h Easy
break/continue/pass freeCodeCamp same Build FizzBuzz 1h Easy
Loop patterns Print patterns/pyramids 2h Med

Stage total: ~7h | Mini project: Number-guessing game | Challenge: Text hangman | Compare: for (known count) vs while (condition-based).


STAGE 3 — FUNCTIONS

Topic Free Resource Docs Practice 🎯
def, parameters, return Corey Schafer – Functions Defining functions Codewars 2h Easy
Scope (LEGB) mCoding – scope Scopes & namespaces Predict-output quizzes 1h Med
Default/keyword args, *args/**kwargs Corey Schafer More on functions Build a flexible logger function 2h Med
Lambda functions Corey Schafer – Lambda Lambda expr Sort dicts using lambda 1h Med
Recursion NeetCode – recursion Exercism recursion exercises 3h Med-Hard
Docstrings & type hints Real Python – Type Checking typing, PEP 257 Add type hints to Stage 1–2 code 1h Med

Stage total: ~10h | Compare: recursion vs iteration | Mini project: temperature converter | Challenge: recursive maze solver.


STAGE 4 — DATA STRUCTURES

Topic Free Resource Docs Practice 🎯
Lists & methods Corey Schafer – Lists Lists HackerRank 2h Easy
Tuples Corey Schafer – Tuples same 1h Easy
Sets Corey Schafer – Sets Sets Dedup problems 1h Easy
Dictionaries Corey Schafer – Dicts Dicts Word-frequency counter 2h Easy-Med
Comprehensions Corey Schafer – Comprehensions Comprehensions Rewrite 10 loops as comprehensions 2h Med
Nested structures, sort/search Real Python – Sorting sorted() Sort dicts, nested JSON 2h Med
collections module mCoding – collections collections Rebuild script using Counter 2h Med

Compare: List (mutable, ordered) · Tuple (immutable) · Set (unique, unordered) · Dict (key-value). Stage total: ~12h | Mini project: Contact book | Challenge: Word-frequency analyzer.


STAGE 5 — FILE HANDLING

Topic Free Resource Docs Practice 🎯
Read/write, with Corey Schafer – File Objects File I/O Log parser 2h Easy
CSV Corey Schafer – CSV csv Parse a real CSV export 1h Easy
JSON Corey Schafer – JSON json Save/load app config 1h Easy
Pickle Real Python – Pickle pickle Serialize a custom object 1h Med
Pathlib mCoding – pathlib pathlib Rewrite os.path code 1h Med
Directories, compression Real Python – zipfile shutil, zipfile Batch-rename + zip a folder 2h Med

Stage total: ~8h | Mini project: Bulk file renamer | Challenge: Folder backup + zip automation.


STAGE 6 — EXCEPTION HANDLING

Topic Free Resource Docs Practice 🎯
try/except/else/finally Corey Schafer Errors & exceptions Handle 5 common errors 2h Easy-Med
raise, assertions Real Python – assert raise Input validator with asserts 1h Med
Custom exceptions mCoding – exceptions User-defined exceptions InsufficientFundsError 1h Med
Logging basics Corey Schafer – Logging logging Replace all prints with logging 2h Med

Mistake: bare except: hides bugs. Stage total: ~6h | Mini project: Robust upload validator | Challenge: Custom exception hierarchy for a bank app.


STAGE 7 — OBJECT-ORIENTED PROGRAMMING

Topic Free Resource Docs Practice 🎯
Classes, __init__ Corey Schafer OOP series Classes Build a Car class 2h Med
Instance vs class vars Corey Schafer OOP pt.2 same 1h Med
Methods, encapsulation Corey Schafer OOP pt.3 Private attrs + properties 2h Med
Inheritance & polymorphism Corey Schafer OOP pt.4 Animal → Dog/Cat hierarchy 2h Med
Abstraction (ABC) mCoding – ABC abc module Abstract Shape class 1h Med-Hard
Composition vs inheritance ArjanCodes Refactor inheritance-heavy design 2h Hard
Magic/dunder methods Corey Schafer – Magic Methods Data model __str__, __eq__, __add__ on Vector 2h Hard
Dataclasses mCoding – dataclasses dataclasses Convert 3 classes to @dataclass 1h Med

Stage total: ~13h | Compare: inheritance ("is-a") vs composition ("has-a") | Mini project: Library system | Challenge: Bank account system.


STAGE 8 — MODULES & PACKAGES

Topic Free Resource Docs Practice 🎯
Import systems Real Python – Modules Modules Split a script into modules 1h Easy
Creating packages Real Python – Packages Packages Make an installable package 2h Med
Virtual environments Corey Schafer – venv venv Isolated envs for 2 projects 1h Easy
pip, requirements.txt Corey Schafer – pip pip.pypa.io Freeze + recreate an environment 1h Easy
pyproject.toml Real Python packaging.python.org Package a CLI tool 2h Med

Tool tip: uv or poetry over raw pip+venv. Stage total: ~7h | Mini project: Publish a small internal utility as a package.


STAGE 9 — INTERMEDIATE PYTHON

Topic Free Resource Docs Practice 🎯
Iterators & protocol Corey Schafer – Iterators Iterators Custom iterator class 2h Med
Generators & yield Corey Schafer – Generators Generators Rewrite heavy function as generator 2h Med-Hard
Decorators & closures Corey Schafer – Decorators Closures Timing/logging decorator 3h Hard
Context managers mCoding Context managers Custom DB-connection context manager 2h Hard
Regular expressions Corey Schafer – Regex re module regex101.com testing; validate emails/phone 2h Med
itertools/functools mCoding – itertools itertools, functools Rewrite loops using chain, groupby 2h Hard

Stage total: ~13h | Compare: generator (lazy) vs list (eager) | Mini project: @retry decorator | Challenge: Lazy data pipeline.


STAGE 10 — ADVANCED PYTHON

Topic Free Resource Docs Practice 🎯
asyncio mCoding – asyncio asyncio Concurrent scraper with aiohttp 4h Hard
Threading Corey Schafer – Threading threading Multi-threaded downloader 3h Hard
Multiprocessing Corey Schafer – Multiprocessing multiprocessing CPU-bound parallel task 3h Hard
Memory & GC mCoding gc module Diagnose a memory leak 2h Hard
Profiling & optimization mCoding – profiling cProfile Profile + speed up a slow script 2h Hard
Metaclasses & descriptors ArjanCodes Metaclasses ORM-style descriptor 3h Very Hard

Stage total: ~17h | Compare: threading (I/O, GIL-limited) vs multiprocessing (true parallel CPU) vs asyncio (I/O concurrency) | Mini project: Async scraper | Challenge: Thread-pool image resizer.


STAGE 11 — DATA STRUCTURES & ALGORITHMS

Topic Free Resource Docs/Ref Practice 🎯
Arrays, linked lists, stacks, queues NeetCode Grokking Algorithms LeetCode Easy 6h Med
Trees, heaps NeetCode – Trees LeetCode tree tag 6h Med-Hard
Graphs (BFS/DFS, Dijkstra) NeetCode – Graphs LeetCode graph tag 8h Hard
Hash tables NeetCode Two-sum family problems 2h Med
Sorting/searching Abdul Bari Implement quicksort/mergesort/binary search 4h Med
Recursion & backtracking NeetCode – Backtracking N-Queens, permutations 4h Hard
Dynamic programming NeetCode – DP Climbing stairs → knapsack 8h Very Hard
Greedy algorithms NeetCode Interval scheduling 3h Hard
Big-O complexity NeetCode – Big O Analyze your own solutions 2h Med

Stage total: ~43h — pace over weeks. Curated list: NeetCode 150.


STAGE 12 — TESTING & CODE QUALITY

Topic Free Resource Docs Practice 🎯
unittest Corey Schafer unittest Test a calculator module 2h Med
pytest (industry standard) Real Python – pytest docs.pytest.org Convert unittest suite to pytest 2h Med
Mocking Corey Schafer – Mocking unittest.mock Mock an API call in tests 2h Med-Hard
Coverage coverage.readthedocs.io same Get a project to 90% coverage 1h Med
Linters/formatters Ruff docs PEP 8 Lint + format 3 old projects 2h Easy-Med

Stage total: ~9h | Mini project: Tested + linted calculator package | Challenge: CI-ready tests for a past project.


STAGE 13 — DATABASES

Topic Free Resource Docs Practice 🎯
SQL fundamentals freeCodeCamp SQL sqlite.org/docs SQLZoo · Mode SQL tutorial 4h Med
SQLite Corey Schafer – SQLite3 sqlite3 Build a CRUD CLI app 3h Med
MySQL / PostgreSQL freeCodeCamp PostgreSQL psycopg.org Connect Python to Postgres 3h Med-Hard
SQLAlchemy / ORM Real Python – SQLAlchemy docs.sqlalchemy.org Rebuild CRUD app with ORM 4h Hard
Database design freeCodeCamp DB design Schema for a bookstore app 3h Med

Stage total: ~17h | Mini project: Todo-app with SQLite | Challenge: Full CRUD API + PostgreSQL + SQLAlchemy.


STAGE 14 — APIs & NETWORKING

Topic Free Resource Docs Practice 🎯
HTTP, REST principles freeCodeCamp – APIs MDN HTTP 2h Med
requests library Corey Schafer – requests requests.readthedocs.io Consume a public API 2h Med
JSON handling Real Python (Stage 5 link) json Parse nested API responses 1h Easy
Auth: OAuth, JWT freeCodeCamp – JWT jwt.io/introduction Token-based auth flow 3h Hard
FastAPI Official tutorial fastapi.tiangolo.com Build a CRUD API 5h Med-Hard
WebSockets FastAPI WS guide same Live chat backend 4h Hard

Stage total: ~17h | Mini project: Weather CLI | Challenge: JWT-authenticated FastAPI + WebSocket feed.


STAGE 15 — WEB DEVELOPMENT

Topic Free Resource Docs Practice 🎯
Flask Corey Schafer Flask series flask.palletsprojects.com Build a blog app 8h Med
Django freeCodeCamp Django djangoproject.com Full CRUD site w/ auth 12h Med-Hard
FastAPI (web angle) Official tutorial same as Stage 14 API-first web app 6h Med-Hard
Templates (Jinja2) Corey Schafer (same channel) jinja.palletsprojects.com Template a multi-page site 2h Easy-Med
Auth & sessions Corey Schafer Flask-Login series Flask-Login Add login/signup to blog 4h Hard

Stage total: ~32h | Compare: Flask (minimal) vs Django (batteries-included) vs FastAPI (async/API-centric) | Mini project: Personal blog | Challenge: Django e-commerce site.


STAGE 16 — AUTOMATION & SCRIPTING

Topic Free Resource Docs Practice 🎯
Selenium Corey Schafer – Selenium selenium.dev/documentation Automate login + form fill 3h Med
BeautifulSoup Corey Schafer – Scraping crummy.com/BeautifulSoup Scrape a news site 2h Med
OpenPyXL, pandas automation Corey Schafer – OpenPyXL openpyxl.readthedocs.io Auto-generate Excel reports 3h Med
Email automation Real Python – smtplib smtplib Auto-send a report via email 1h Med
PDF automation pypdf.readthedocs.io same Merge/split/extract PDFs 2h Med
Task scheduling schedule.readthedocs.io same Schedule report script daily 1h Easy-Med

Stage total: ~12h | Mini project: Automated Excel report emailer | Challenge: Scrape → clean → email pipeline, scheduled.


STAGE 17 — DATA SCIENCE

Topic Free Resource Docs Practice 🎯
NumPy Keith Galli numpy.org/doc Kaggle Learn 4h Med
Pandas Corey Schafer Pandas series pandas.pydata.org/docs Clean a Kaggle dataset 8h Med
Matplotlib/Seaborn/Plotly Corey Schafer Matplotlib series matplotlib.org/stable Visualize a dataset 5 ways 4h Med
Data cleaning & EDA Kaggle – Data Cleaning Full EDA on a messy CSV 5h Med-Hard

Stage total: ~21h | Mini project: EDA + visualization | Challenge: Cleaning pipeline for 100K-row dataset.


STAGE 18 — MACHINE LEARNING

Topic Free Resource Docs Practice 🎯
Scikit-learn fundamentals freeCodeCamp – ML scikit-learn.org/stable Kaggle Titanic 8h Hard
Regression, classification, clustering StatQuest same Kaggle competitions 10h Hard
Model evaluation, feature engineering Kaggle – Intermediate ML Improve a baseline model 6h Hard
TensorFlow / PyTorch intro PyTorch tutorials · TensorFlow tutorials same Simple image classifier 10h Very Hard

Stage total: ~34h | Mini project: Titanic predictor | Challenge: CNN image classifier.


STAGE 19 — DEVOPS & DEPLOYMENT

Topic Free Resource Docs Practice 🎯
Git & GitHub freeCodeCamp Git git-scm.com/doc Contribute to your own past projects 4h Easy-Med
Linux basics freeCodeCamp Linux Basic shell scripting 3h Med
Docker freeCodeCamp Docker docs.docker.com Containerize a Flask/FastAPI app 4h Med-Hard
CI/CD GitHub Actions docs same Test-on-push pipeline 3h Hard
Deployment Render docs · Railway docs respective docs Deploy 2 different apps 4h Med
Env vars, logging, monitoring python-dotenv os.environ Externalize secrets 1h Easy

Stage total: ~19h | Mini project: Deploy Flask app to Render with CI | Challenge: Dockerized app + CI/CD to a cloud host.


STAGE 20 — PROFESSIONAL PYTHON DEVELOPMENT

Topic Free Resource Docs Practice 🎯
Design patterns ArjanCodes – Design Patterns Refactor using Factory/Strategy pattern 6h Hard
SOLID principles ArjanCodes – SOLID Refactor a God-class 4h Hard
Clean code & architecture ArjanCodes – Clean Code Clean Code (book) Review your own Stage 7 project 4h Hard
System design basics ByteByteGo Design a URL shortener on paper 4h Hard
Security best practices OWASP Top 10 same Audit a past web project 3h Hard
Packaging & PyPI Official PyPA guide same Publish a small utility package 2h Med
Code reviews & Agile Peer-review a PR (great GSoC practice) 2h Med

Stage total: ~25h


ROADMAPS

30-Day Beginner: Wk1 Fundamentals → Wk2 Control Flow + Functions → Wk3 Data Structures → Wk4 File/Exception Handling + capstone (CLI contact book). 90-Day Intermediate: Days 1–30 above → 31–50 OOP + Modules → 51–70 Intermediate Python → 71–90 Testing + start Databases; capstone: tested, packaged CLI + SQLite. 180-Day Professional: 1–90 above → 91–120 Advanced Python + start DSA → 121–150 APIs + Web Dev → 151–180 Deploy full app w/ CI/CD; start applying to internships. 1-Year Mastery: Months 1–6 above → 7–8 finish DSA → 9–10 specialize (Data Science/ML or backend/DevOps) → 11–12 portfolio polish, open-source, mock interviews, applications.

Daily schedules: 30min = 15 concept+15 practice | 1hr = 20 concept+30 practice+10 review | 2hr = 30 concept+60 coding+30 DSA | 4hr = 45 concept+90 project+60 DSA+45 review. At 8–10 hr/week: ~1.5hr/day, 6 days/week — use the 1–2hr split, biased toward 2hr on weekends.


DOMAIN QUICK MAP

Automation → St.16 | Web Dev → St.15 | Data Science → St.17 | ML/AI → St.18 | Cybersecurity → St.20 + scapy/cryptography | DevOps/Cloud → St.19 | Finance → pandas + yfinance | Game Dev → pygame | Desktop → tkinter/PySide


TOOLS

Category Recommendation
IDE VS Code or PyCharm
Debugger Built-in VS Code debugger; pdb
Linter/Formatter Ruff + Black
Type checker mypy
Package manager uv or poetry
Must-know stdlib os,sys,json,re,datetime,collections,itertools,functools,pathlib,logging,argparse,unittest
Must-know 3rd-party requests,pandas,numpy,pytest,SQLAlchemy,FastAPI/Flask

CERTIFICATIONS

PCEP — entry point, endorsed by Cisco/Stanford/WGU, ~$59, free prep via Python Essentials 1 on Edube. PCAP — ~$295, for moving past junior roles, best paired with a portfolio. Google/IBM Professional Certificates — ~$49/month, broader data/ML-adjacent credential. Reality check: a cert complements experience, doesn't replace it — projects matter more.


CAREER: RESUME, PORTFOLIO, JOBS

  • GitHub: pin 4–6 best projects with real READMEs.
  • Resume: lead with impact, not a syntax list.
  • Freelancing: 3 portfolio pieces → Upwork/Fiverr targeting "Python automation" → recurring clients.
  • Remote jobs: target automation/backend roles → 6 months consistent GitHub activity → apply broadly.
  • Open source: goodfirstissue.dev → docs/tests before code → overlaps with GSoC prep.
  • Salaries: check Levels.fyi or Glassdoor for your region — figures shift too often to fix here.