Choose your character

It shows in the top bar and on your profile. Change it any time.

Courses / Programming

Python for software engineers

Build, test and debug Python programs in a code editor with real execution and hidden tests.

Start lesson 1Practice interviewTake the assessmentPractice the first unit of every course. No account needed.
67lessons
350checked exercises
16projects, cases and exams
Prepares you for Python software engineering and coding interviews

Projects, case studies and mock exams

Project · BeginnerRelease-list CLI project

Harbor Media keeps release artifacts in a text file assembled by several teams.

6 steps
Case study · BeginnerScheduling incident-log case

Larch Scheduling is preparing a release of its appointment-routing service.

5 steps
Project · IntermediateLibrary lending project

Build a library loan service with ownership and reservations.

6 steps
Project · IntermediateIncident log parser project

Build a checked incident summary from imperfect service logs.

6 steps
Project · IntermediateMocked REST client project

Build a deterministic client for a supplied mock API.

6 steps
Project · IntermediateLegacy settlement refactor

Refactor a settlement calculation with executable protection first.

6 steps
Project · AdvancedMedia metadata cache

Cedar Media repeatedly loads metadata for recently viewed clips.

6 steps · 40 min
Project · AdvancedLogistics event service

Fern Logistics receives a mixture of parcel jobs, control events and retried deliveries.

6 steps · 40 min
Project · AdvancedLegacy checkout refactor

Juniper Retail has a checkout calculation that grew by adding conditions to one loop.

6 steps · 40 min
Project · ExpertTravel request limiter

Harbor Travel needs a limiter that explains every admission decision.

6 steps · 40 min
Case study · ExpertMedia delivery incident

Cedar Media's support team sees failed delivery rows and wants to isolate a noisy tenant.

5 steps · 20 min
Mock exam · ExpertService implementation job test

This original job-test simulation gives you a service team's small implementation queue.

8 questions · 55 min
Mock exam · ExpertDesign and internals job test

This second original job-test simulation shifts the emphasis to language behavior and small domain designs.

8 questions · 60 min

Write Python for application development and technical interviews. Start with values, references and function calls, then build classes, typed interfaces and standard-library programs. Each lesson gives you a worked example and a sequence of coding tasks with boundary checks.

Projects build CLI tools, a mocked REST client, log parsers, caches, rate limiters and asynchronous services. Your code carries from one project step to the next. Practice sets, design interviews and timed job tests use fresh fictional data.

Python runs in your browser. File exercises use a virtual filesystem, external APIs use local fixtures, and concurrency lessons state where host threads and processes differ. Type annotations are taught alongside runtime contracts; this workspace does not run a static type checker.

Beginner

FreeNo account or card needed. Every lesson in this unit is yours to practice.

Values and references

Write predictable functions over values, collections, and independent copies.

5 lessons

Functions and iteration

Build reusable functions, closures, wrappers, and lazy iteration pipelines.

7 lessons

Resources and libraries

Handle failures, close resources, and use standard-library data formats and modules.

6 lessons

Intermediate

Domain models

Model Python values, invariants, inheritance, and loan ownership.

6 lessons

Standard library tools

Transform application data with collections, iterators, heaps, parsers, and virtual files.

6 lessons

Reliable service boundaries

Protect service code with tests, typed contracts, logging, and bounded mock clients.

7 lessons

Advanced

Performance and caches

Count work, profile calls and build a cache with explicit invalidation and eviction.

5 lessons

Concurrency and event services

Separate thread and process models from executable coroutine and queue work.

5 lessons

Maintainable services

Refactor policy boundaries and preserve structured operational evidence.

5 lessons

Expert

Traffic and failure control

Control quotas, cancellation and bounded delivery with recoverable outcomes.

5 lessons

Domain modeling

Implement ownership, allocation and guarded transitions in bounded designs.

5 lessons

Interview and job-test readiness

Defend language and service invariants on fresh timed and untimed work.

5 lessons

Your Work Gym account

Save your progress and pick up on another device. Your browser's progress comes with you.

We'll email you a link. It works once and expires in 15 minutes.

You can keep practicing without an account.