Stage 0 — Prerequisites (1 week)
- A laptop with Python 3.12+ installed.
- VS Code or PyCharm.
- Basic command-line literacy.
Stage 1 — Python Core (3-4 weeks)
- Syntax, data types, control flow.
- Functions, default args,
*args/**kwargs. - Built-in types — list, tuple, set, dict, frozenset.
- Comprehensions + generators.
- File I/O (
open,with,pathlib). - Error handling — exceptions,
try/except/else/finally. - Modules + packages + virtual environments (
venv).
Project: CLI todo app stored as JSON.
Stage 2 — OOP and Idiomatic Python (2 weeks)
- Classes,
__init__,__repr__. - Inheritance, MRO,
super(). - Dunder methods —
__eq__,__hash__,__iter__. @property,@classmethod,@staticmethod.- Dataclasses (
@dataclass). - Type hints +
mypy/pyright.
Stage 3 — Standard Library Power Tools (1 week)
collections—defaultdict,Counter,deque.itertools—chain,groupby,product.functools—reduce,lru_cache,partial.pathlib,os,subprocess,argparse.datetime+zoneinfo.
Stage 4 — Testing + Tooling (1 week)
- pytest + fixtures + parametrise.
- black + ruff for formatting + lint.
- mypy or pyright for type checks.
- Git + GitHub PR workflow.
- Poetry or uv for dependency + venv management.
Stage 5 — Pick a Specialisation
Pick ONE branch to start; loop back later for others.
Branch A — Web Backend (6-8 weeks)
- HTTP + REST fundamentals.
- FastAPI (modern) or Django (batteries-included).
- ORM — SQLAlchemy or Django ORM.
- Authentication — JWT / OAuth / session.
- Database — PostgreSQL + indexes + Alembic migrations.
- Caching with Redis.
- Background jobs — Celery or RQ.
- Deployment — Docker + Nginx + Gunicorn/Uvicorn.
Capstone: Build a SaaS API with auth, async jobs, payments.
Branch B — Data / ML (8-10 weeks)
- NumPy + Pandas.
- Visualisation — Matplotlib + Plotly.
- Scikit-learn for classical ML.
- PyTorch OR TensorFlow for deep learning.
- MLOps — DVC, MLflow, FastAPI serving.
Capstone: End-to-end project — collect data, train model, serve via REST API, monitor drift.
Branch C — Automation / Scripting (4 weeks)
- Web scraping —
httpx+BeautifulSoup+playwright. - File / spreadsheet automation —
openpyxl,pandas. - API integrations — Slack, Notion, Google Drive.
- Scheduling —
cron/APScheduler/Prefect.
Capstone: Build an end-to-end ETL pipeline that ingests, cleans, and reports.
Stage 6 — Async Python (2 weeks)
asynciofundamentals — event loop,await,Task.httpx/aiohttpfor async HTTP.- Async DB drivers (
asyncpg,motor). - Patterns —
gather,as_completed, semaphores.
Stage 7 — Performance (2 weeks)
- Profiling —
cProfile,py-spy,line_profiler. - NumPy vectorisation.
- Cython / Numba for hot loops.
- C extensions via
cffi/pybind11. - PyPy as a drop-in alternative interpreter.
Stage 8 — Production Skills (ongoing)
- Logging (
structlog), observability (OpenTelemetry). - Error tracking — Sentry.
- Containerisation — Docker + Docker Compose.
- CI/CD — GitHub Actions.
- Cloud — AWS / GCP / DigitalOcean.
Time investment
Full-time: 5-7 months to junior-ready.
Part-time (10 hr/week): 12-15 months.
