Python for Experienced Developers

  • Basic

  • 30 lessons

  • 14 hours

Deepen your Python skills: OOP, typing, async, profiling, and tests for reliable backend services.

Course overview

This course helps experienced developers deeply understand Python's internals and confidently apply advanced language features in backend development. You will master special methods, descriptors, metaclasses, typing, asyncio, profiling, debugging, and architectural practices. Every topic is reinforced with hands-on tasks in the UPSHELL trainer with automated solution checks.

You will learn
  • Design expressive and stable Python APIs

  • Apply asyncio, threads, and processes appropriately

  • Optimize code for memory and execution time

  • Test and debug complex backend modules

Table of contents

Python Internals: Core Theory

Practice

Data Model and Special Methods

Practice

Iterators and Generators

Practice

Context Managers

Practice

Descriptors in Practice

Practice

Metaclasses and __init_subclass__

Practice

Functions as First-Class Objects

Practice

Decorators without Magic

Practice

Signatures and Introspection

Practice

Advanced Typing

Practice

Dataclass, attrs, Pydantic

Practice

Designing Python APIs

Practice

Memory and Garbage Collection

Practice

slots, struct and Compact Data

Practice

CPU and Memory Profiling

Practice

Optimizing Python Code

Practice

Logging and Tracing

Practice

Debugging Complex Failures

Practice

Threads, Processes and GIL

Practice

Asyncio Fundamentals

Practice

Cancellation, Timeouts, Backpressure

Practice

Asyncio Synchronization

Practice

Mixed Sync and Async Code

Practice

Testing Async Applications

Practice

Exceptions and Error Handling

Practice

Pytest Advanced Techniques

Practice

Mocks, Fakes and Contracts

Practice

Packages and Modules Architecture

Practice

Plugins and Extensible Code

Practice

Mini Project: Backend Core

Practice

  • image-loading

  • image-loading

  • image-loading

  • image-loading

Frequently Asked Questions

A subscription to the platform gives you unlimited access to all courses, as well as access to an online trainer with practical exercises.

Additionally, with a Premium subscription or higher, you also get access to all pet projects and the opportunity to take technical interviews with an AI mentor.

You can cancel your subscription at any time, and you will still have access to the platform for the paid period. You can do this through your personal account in the 'Subscription Management' section.

Yes, you can upgrade to a new plan at any time. We will provide a discount based on the unused time of your current plan. You can change your plan in your personal account.

To request a refund for a paid plan, please contact us at support@upshell.io. We will process your refund for the unused portion of your subscription within 5 business days.

Get access to 23+ courses for backenders with Subscription

Get access to *23+ courses* for backenders with *Subscription*
Have an account?