Software Engineering Training Program#
This training program teaches you to build production-ready web APIs with Python using FastAPI. It is structured as four progressive tiers — Foundations, API Development, Data Persistence, and Security & Testing — followed by quick-reference cheatsheets and a final project exam.
Program Structure#
Foundations#
Web fundamentals, OS concepts, and asynchronous programming — the building blocks every FastAPI engineer must understand:
File descriptors, sockets, and the OS networking model
HTTP and web concepts
Python asyncio: event loops, coroutines, and cooperative concurrency
Threading, the GIL, multiprocessing, and process forking
CPython internals
Learn: Foundations
API Development#
Building web APIs with FastAPI — request handling, data validation, and dependency injection:
FastAPI introduction: routes, request handling, OpenAPI docs
ASGI internals: how Uvicorn and FastAPI communicate
Path parameters, query parameters, headers, cookies, and request bodies
Pydantic models for data validation and response control
Dependency injection with
Depends()
Learn: API Development
Data Persistence#
PostgreSQL database setup, async sessions, schema migrations, and CRUD patterns:
PostgreSQL with SQLAlchemy setup and model definition
Async database sessions with SQLAlchemy
Alembic database migrations
CRUD operations and application structure
Learn: Data Persistence
Security & Testing#
Securing and testing production APIs:
JWT fundamentals: HS256, RS256, token validation
OAuth2 authorization framework and Google authentication
FastAPI authentication patterns (OAuth2 password flow, route protection)
Unit testing with pytest, TestClient, and async mocks
Learn: Security & Testing
Final Project Exam#
An end-to-end project that integrates all four tiers — building a complete authenticated CRUD API with database persistence.
How to Use This Program#
Work through each tier in order — Foundations → API Development → Data Persistence → Security & Testing.
Read the Knowledge pages to understand concepts.
Complete the Practice assignments in each tier.
Sit the Final Project Exam after completing all four tiers.