Section 5 of 9

Python Roadmap: Beginner → Expert

Six-stage Python path optimized for a TypeScript developer, with projects and free resources.

Context for you: coming from TypeScript, Python’s learning curve is mostly idiom, not concepts. You already know closures, async, typing, modules. Stages 1–2 can compress to ~3 weeks; the real work is stages 4–6.

Stage 1 — Core Syntax & Semantics (1–2 weeks for a TS dev)

Topics: variables/dynamic typing, list/tuple/dict/set, slicing, comprehensions, functions (*args/**kwargs, default-arg gotcha), f-strings, truthiness, None, exceptions (try/except/else/finally), file I/O, venv + pip. TS→Python mapping: interface → TypedDict/dataclass/pydantic; === → == (and is for identity); map/filter → comprehensions; npm → pip + venv (or uv/poetry). Projects: CLI expense tracker (JSON persistence); log-file parser that summarizes an Nginx/Express access log. Free resources: Official Python Tutorial (docs.python.org/3/tutorial); “Automate the Boring Stuff with Python” (free online, automatetheboringstuff.com); Corey Schafer “Python Tutorials” playlist (YouTube).

Stage 2 — Idiomatic Python & Standard Library (2–3 weeks)

Topics: iterators/generators (yield), itertools, functools (lru_cache, partial), decorators, context managers (with, contextlib), pathlib, collections (Counter, defaultdict, deque), dataclasses, type hints + mypy, enum, walrus operator, structural pattern matching (match). Projects: rewrite Stage-1 projects idiomatically; build a decorator-based retry/timing utility; typed config loader with dataclasses + mypy --strict. Free resources: Corey Schafer decorator/generator videos; official typing docs; CS50P (Harvard’s “CS50’s Introduction to Programming with Python,” free on YouTube/edX) for structured reinforcement.

Stage 3 — OOP, Testing, Tooling (2–3 weeks)

Topics: classes, dunder methods, properties, ABCs vs Protocol (structural typing — closest to TS interfaces), inheritance vs composition; pytest (fixtures, parametrize, monkeypatch), coverage; ruff (lint+format), uv or poetry for dependency management; project layout (src/ layout, pyproject.toml). Projects: library-management or bank-account domain model with 80%+ pytest coverage; publish a tiny package to TestPyPI. Free resources: pytest official docs; Corey Schafer OOP playlist; “Automate the Boring Stuff” later chapters.

Stage 4 — Backend Python (3–4 weeks — leverage your Node/Express experience)

Topics: asyncio (event loop — you know this mental model from Node), async/await, httpx; FastAPI (routing, Pydantic v2 validation, dependency injection, JWT auth — direct RBAC skill transfer), SQLAlchemy 2.0 + Alembic migrations, background tasks, Docker for Python apps. Projects: re-implement one of your Express+MySQL APIs (from resume) in FastAPI + MySQL/Postgres with JWT/RBAC + pytest; containerize it. Free resources: FastAPI official tutorial (fastapi.tiangolo.com — exceptionally good); SQLAlchemy 2.0 docs; testdriven.io free articles.

Stage 5 — Data & Numerical Python (3–4 weeks; prerequisite for AI work)

Topics: NumPy (arrays, broadcasting, vectorization), pandas (DataFrames, groupby, joins, time series), matplotlib/seaborn basics, Jupyter notebooks, reading CSV/Parquet/SQL sources. Projects: exploratory analysis of a Kaggle dataset (e.g., IPL matches or NYC taxi); ETL script: MySQL → pandas → cleaned Parquet + summary charts. Free resources: “Python for Data Analysis” author Wes McKinney’s free online edition (wesmckinney.com/book); Kaggle Learn micro-courses (Pandas, Data Visualization — free with exercises); Corey Schafer pandas playlist.

Stage 6 — Expert / Specialization (ongoing)

Topics: performance profiling (cProfile, timeit), concurrency trade-offs (threads vs processes vs asyncio; GIL — being removed in free-threaded 3.13+ builds, still default-on in 2026), C-extensions awareness (why NumPy is fast), packaging, design patterns in Python, metaclasses/descriptors (read-only knowledge), and the on-ramp to AI: openai/anthropic SDKs, LangChain/LlamaIndex basics (bridges to Task 8 roadmaps). Projects: async web scraper with rate limiting; small LLM-powered CLI tool using an API SDK; contribute one PR to an open-source Python repo. Free resources: “Fluent Python” concepts via talks by Luciano Ramalho on YouTube [UNVERIFIED — book itself is paid]; Real Python free articles; Anthropic/OpenAI cookbook repos on GitHub (free).

Total realistic timeline for you: 3–4 months part-time to Stage 5; Stage 6 is continuous.

Python is the English of the programming world — simple to read, spoken everywhere, and the default language of AI. If your career plan involves AI at all, Python is non-negotiable, the way English is non-negotiable for international business.

The journey, in cooking-school terms:

  1. Stage 1 — Learn the kitchen basics. Chopping, boiling, following a recipe. In Python: writing simple instructions, storing information in lists, reading files. You build: a small personal expense tracker.
  2. Stage 2 — Cook like a local. Anyone can boil pasta; Italians do it properly. Python has “proper” ways to write things that mark you as fluent. You build: cleaner versions of your first tools.
  3. Stage 3 — Kitchen discipline. Professional kitchens label everything and taste-test constantly. In code this means organizing projects and writing automatic tests that catch mistakes before customers do.
  4. Stage 4 — Run a restaurant. Build real web services — the behind-the-scenes machinery when an app logs you in or fetches your data. (The user already does this in another language; here it’s just new equipment, same restaurant.)
  5. Stage 5 — Become the market analyst. Python’s superpower: digesting huge spreadsheets of data in seconds — sales records, user behavior — and turning them into charts and answers. This is the doorway to AI work.
  6. Stage 6 — Master chef. Speed-tuning, teaching others, and connecting Python to AI models — the skills the market pays a premium for.

Best free teachers: Harvard’s CS50P course (free, on YouTube), the book “Automate the Boring Stuff with Python” (free to read online), and Corey Schafer’s YouTube channel. Total time for an experienced developer: about 3–4 months of evenings. For a true beginner: closer to 6–9 months.

Diagrams

TS → Python skill transfer

Node.js / TypeScriptPython equivalent
Node event loopasyncio
ExpressFastAPI
npm / package.jsonuv / pyproject.toml
TS interfaceProtocol / pydantic
Jestpytest
ESLint + Prettierruff

~60% of your Node.js mental model transfers directly.

Sources

  1. Official Python Tutorial
  2. Automate the Boring Stuff with Python (free online)
  3. CS50P — Harvard CS50’s Introduction to Programming with Python
  4. Corey Schafer YouTube channel
  5. FastAPI documentation
  6. Python for Data Analysis, 3rd ed. open edition
  7. Kaggle Learn
  8. Real Python (free tier)