Python for software engineers
Build, test and debug Python programs in a code editor with real execution and hidden tests.
Projects, case studies and mock exams
Harbor Media keeps release artifacts in a text file assembled by several teams.
6 stepsCase study · BeginnerScheduling incident-log caseLarch Scheduling is preparing a release of its appointment-routing service.
5 stepsProject · IntermediateLibrary lending projectBuild a library loan service with ownership and reservations.
6 stepsProject · IntermediateIncident log parser projectBuild a checked incident summary from imperfect service logs.
6 stepsProject · IntermediateMocked REST client projectBuild a deterministic client for a supplied mock API.
6 stepsProject · IntermediateLegacy settlement refactorRefactor a settlement calculation with executable protection first.
6 stepsProject · AdvancedMedia metadata cacheCedar Media repeatedly loads metadata for recently viewed clips.
6 steps · 40 minProject · AdvancedLogistics event serviceFern Logistics receives a mixture of parcel jobs, control events and retried deliveries.
6 steps · 40 minProject · AdvancedLegacy checkout refactorJuniper Retail has a checkout calculation that grew by adding conditions to one loop.
6 steps · 40 minProject · ExpertTravel request limiterHarbor Travel needs a limiter that explains every admission decision.
6 steps · 40 minCase study · ExpertMedia delivery incidentCedar Media's support team sees failed delivery rows and wants to isolate a noisy tenant.
5 steps · 20 minMock exam · ExpertService implementation job testThis original job-test simulation gives you a service team's small implementation queue.
8 questions · 55 minMock exam · ExpertDesign and internals job testThis second original job-test simulation shifts the emphasis to language behavior and small domain designs.
8 questions · 60 minWrite 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
Values and references
Write predictable functions over values, collections, and independent copies.
Functions and iteration
Build reusable functions, closures, wrappers, and lazy iteration pipelines.
Resources and libraries
Handle failures, close resources, and use standard-library data formats and modules.
Intermediate
Domain models
Model Python values, invariants, inheritance, and loan ownership.
Standard library tools
Transform application data with collections, iterators, heaps, parsers, and virtual files.
Reliable service boundaries
Protect service code with tests, typed contracts, logging, and bounded mock clients.
Advanced
Performance and caches
Count work, profile calls and build a cache with explicit invalidation and eviction.
Concurrency and event services
Separate thread and process models from executable coroutine and queue work.
Maintainable services
Refactor policy boundaries and preserve structured operational evidence.
Expert
Traffic and failure control
Control quotas, cancellation and bounded delivery with recoverable outcomes.
Domain modeling
Implement ownership, allocation and guarded transitions in bounded designs.
Interview and job-test readiness
Defend language and service invariants on fresh timed and untimed work.