Python environments, packages, typing and project structure
Functions, classes, iterators and error handling
Data structures and practical complexity awareness
File, JSON and tabular data handling
SQL querying, joins, aggregations and window functions
Relational data-quality checks
Git branches, commits, pull requests and code review
Tests, logging, configuration and secret handling
HTTP, REST, status codes, authentication and API clients
Pydantic-style schemas and structured validation
Notebooks for exploration versus modules for repeatable work
Reproducibility: dependencies, seeds, data versions, run metadata
HANDS-ON LAB
Build a Python service that reads fictional operational records from a database, validates them, computes summary features and exposes a documented API endpoint.
WORKPLACE SCENARIO
An AI team has inherited a notebook that only runs on its author’s laptop. Convert it into a versioned, tested and configurable project.
INJECTED FAILURE
The input schema changes, one column contains malformed values, and a secret has been placed in a configuration file.