Volume 3 — Professional Software Engineering¶
Turning scripts into systems
The difference between someone who writes Python and someone who ships it: packaging, testing, type checking, linting, version control, code review and CI/CD on GitHub.
Available now
The lessons in this volume are written and available below.
What you will be able to do¶
- Package and publish a Python project properly
- Write tests that catch real regressions, not just raise coverage
- Build a GitHub Actions pipeline from scratch
- Containerise a service and deploy it
Chapters¶
- Packaging and dependency management with uv
- Testing with pytest
- Code quality: ruff, mypy and quality gates
- Git and GitHub Flow
- Pull requests and code review
- GitHub Actions end-to-end
- Pre-commit hooks
- Releases, versioning and GitHub Pages
- Dependabot and branch protection
- Reusable workflows
- Docker for Python
- Kubernetes for Python services
Lessons available now¶
These lessons come from the Version 1 course and are complete.
Python Tooling & Data Fundamentals
- Packaging & Dependency Management with uv
- Testing with pytest
- Code Quality: ruff, mypy & Quality Gates
- NumPy & pandas Essentials
CI/CD Foundations
- What CI/CD Actually Is
- Anatomy of a Pipeline
- GitHub Actions for Python, End-to-End
- The Enterprise CI/CD Landscape
CI/CD Across Cloud, On-Prem & Hybrid
- Deploying to the Cloud: AWS, GCP & Azure
- On-Premises & Self-Hosted Deployment
- Hybrid Infrastructure: Bridging Both Worlds
- Infrastructure as Code, GitOps & Secrets
Designing Python Systems at Scale
- System Design Building Blocks
- Caching, Queues & Event-Driven Architecture
- Observability & Site Reliability Engineering