Course Outline

Day 1 — Robust Python Foundations & Tooling

Modern Python Features and Typing

  • Typing basics, generics, Protocols, and TypeGuard
  • Dataclasses, frozen dataclasses, and attrs overview
  • Pattern matching (PEP 634+) and idiomatic usage

Code Quality and Tooling

  • Code formatters and linters: black, isort, flake8, ruff
  • Static type checking with MyPy and pyright
  • Pre-commit hooks and developer workflows

Project Management and Packaging

  • Dependency management with Poetry and virtual environments
  • Package layout, entry points, and versioning best practices
  • Building and publishing packages to PyPI and private registries

Day 2 — Design Patterns & Architectural Practices

Design Patterns in Python

  • Creational patterns: Factory, Builder, Singleton (Pythonic variants)
  • Structural patterns: Adapter, Facade, Decorator, Proxy
  • Behavioral patterns: Strategy, Observer, Command

Architectural Principles

  • SOLID principles applied to Python codebases
  • Hexagonal/Clean Architecture and boundaries
  • Dependency injection patterns and configuration management

Modularity and Reuse

  • Designing library vs application code
  • APIs, stable interfaces, and semantic versioning
  • Handling configuration, secrets, and environment-specific settings

Day 3 — Concurrency, Async IO, and Performance

Concurrency and Parallelism

  • Threading fundamentals and the GIL implications
  • Multiprocessing and process pools for CPU-bound tasks
  • When to use concurrent.futures vs multiprocessing

Async Programming with asyncio

  • Async/await patterns, event loop, and cancellation
  • Designing async libraries and interoperability with sync code
  • IO-bound patterns, backpressure, and rate limiting

Profiling and Optimization

  • Profiling tools: cProfile, pyinstrument, perf, memory_profiler
  • Optimizing hot paths and using C-extensions/Numba where appropriate
  • Measuring latency, throughput, and resource utilization

Day 4 — Testing, CI/CD, Observability, and Deployment

Testing Strategies and Automation

  • Unit testing and fixtures with pytest; test organization
  • Property-based testing with Hypothesis and contract testing
  • Mocking, monkeypatching, and testing asynchronous code

CI/CD, Release, and Monitoring

  • Integrating tests and quality gates into GitHub Actions/GitLab CI
  • Building reproducible containers with Docker and multi-stage builds
  • Application observability: structured logging, Prometheus metrics, and tracing

Security, Hardening, and Best Practices

  • Dependency auditing, SBOM basics, and vulnerability scanning
  • Secure coding practices for input validation and secrets management
  • Runtime hardening: resource limits, user rights, and container security

Capstone Project & Review

  • Team lab: design and implement a small service using patterns from the course
  • Testing, type-checking, packaging, and CI pipeline for the project
  • Final review, code critique, and actionable improvement plan

Summary and Next Steps

Requirements

  • Strong intermediate-level Python programming experience
  • Familiarity with object-oriented programming and basic testing
  • Experience using the command line and Git

Audience

  • Senior Python developers
  • Software engineers responsible for Python code quality and architecture
  • Technical leads and MLOps/DevOps engineers who work with Python codebases
 28 Hours

Delivery Options

Private Group Training

Our identity is rooted in delivering exactly what our clients need.

  • Pre-course call with your trainer
  • Customisation of the learning experience to achieve your goals -
    • Bespoke outlines
    • Practical hands-on exercises containing data / scenarios recognisable to the learners
  • Training scheduled on a date of your choice
  • Delivered online, onsite/classroom or hybrid by experts sharing real world experience

Private Group Prices RRP from €9120 online delivery, based on a group of 2 delegates, €2880 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.

Contact us for an exact quote and to hear our latest promotions


Public Training

Please see our public courses

Testimonials (5)

Provisonal Upcoming Courses (Contact Us For More Information)

Related Categories