Get in Touch
 Duration 28 hours

Course Outline

Day 1 — Solid Python Fundamentals & Developer Tools

Contemporary Python Features and Type Safety

  • Foundations of typing, generics, Protocols, and TypeGuard.
  • Dataclasses, frozen dataclasses, and an overview of attrs.
  • Pattern matching (PEP 634+) and idiomatic implementation.

Code Quality and Developer Tools

  • Code formatting and linting utilities: black, isort, flake8, and ruff.
  • Static type analysis using MyPy and pyright.
  • Pre-commit hooks and optimized developer workflows.

Project Management and Packaging

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

Day 2 — Design Patterns & Architectural Methodologies

Design Patterns within Python

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

Architectural Principles

  • Application of SOLID principles to Python codebases.
  • Hexagonal and Clean Architecture concepts, including boundary definition.
  • Dependency injection strategies and configuration management.

Modularity and Code Reuse

  • Distinguishing between library design and application code.
  • API design, stable interfaces, and semantic versioning.
  • Managing configuration, secrets, and environment-specific settings.

Day 3 — Concurrency, Asynchronous IO, and Performance

Concurrency and Parallelism

  • Threading fundamentals and the implications of the Global Interpreter Lock (GIL).
  • Multiprocessing and process pools for CPU-intensive tasks.
  • Selecting between concurrent.futures and multiprocessing appropriately.

Asynchronous Programming with asyncio

  • Async/await patterns, event loops, and cancellation mechanisms.
  • Designing async libraries and ensuring interoperability with synchronous code.
  • IO-bound patterns, backpressure management, and rate limiting.

Profiling and Optimization

  • Profiling tools: cProfile, pyinstrument, perf, and memory_profiler.
  • Optimizing critical paths and utilizing C-extensions or Numba where suitable.
  • Measuring latency, throughput, and resource consumption.

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

Testing Strategies and Automation

  • Unit testing and fixture management with pytest; organizing test suites.
  • Property-based testing using Hypothesis and contract testing.
  • Mocking, monkeypatching, and testing asynchronous code.

CI/CD, Release Management, and Monitoring

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

Security, Hardening, and Best Practices

  • Dependency auditing, SBOM fundamentals, and vulnerability scanning.
  • Secure coding practices for input validation and secret management.
  • Runtime hardening: resource constraints, user permissions, and container security.

Capstone Project & Evaluation

  • Group lab: design and implement a small service incorporating course patterns.
  • Testing, type-checking, packaging, and CI pipeline setup for the project.
  • Final review, code critique, and development of an actionable improvement plan.

Summary and Future Steps

Requirements

  • Proficient intermediate-level proficiency in Python programming.
  • Working knowledge of object-oriented programming concepts and fundamental testing practices.
  • Practical experience with command-line interfaces and Git version control.

Target Audience

  • Senior Python developers.
  • Software engineers tasked with maintaining Python code quality and architecture.
  • Technical leads, as well as MLOps and DevOps engineers, who manage Python-based codebases.

Select an available course date

  • Format Online
  • Language Polish
  • Course Public course
  • Start Date 2027-01-11
  • Duration 4 days (28 hours)
BOOK - 1300 EUR

Net price per participant

Testimonials (2)

Upcoming Courses

Related Categories