The Working Python Developer
You can write code, but can you work like a developer? Real tools, testing, and messy problems, the way teams actually build. You leave able to do the job, not just pass a course.
A multi-session, live, cohort-based program from foundations to a working, intermediate level, ending in a substantial portfolio capstone.
You leave writing the way a working developer does: idiomatic, typed, tested Python with classes, real pytest suites, real pandas analysis, and a real SQL database, plus a shipped tool you designed and can defend by running its tests live. Door three (The Application Builder) takes this to a deployed web service.
Weekday afternoons from 4 PM, first batch 27 July 2026, ages 16 to 30. Pick your slot below and we email you the moment the cohort is set.
Pick a cohort to register securely, or ask your school to arrange a private cohort.
Session 1: The object model, properly
about 110 min- HookDoor two opens: the model completes9 min
- DemoEvery value is an object11 min
- PredictTHE IDENTITY BET8 min
- DemoSame contents, two objects11 min
- DemoThe shelf, now rigorous: immutable means never edited11 minStretch and water break (10 min)
- PredictThe trap: the default that remembers7 min
- Live codeThe map, the crossing, the trap, the fix16 min
- PracticeProve it: shallow, deep, and safe20 min
- Mastery checkSay the object model in your own words9 min
- ReflectCard twelve goes in the logbook8 min
Session 2: Functions are values
about 110 min- HookThe last holdout joins the object model9 min
- DemoA function travels like any value13 min
- PredictTHE BET: the machine that returns a machine8 min
- DemoThe reveal: a is a function11 min
- DemoThe tower, and the one honest amendment11 minStretch and water break (10 min)
- DemoLEGB: where Python finds a name10 min
- Live codeThe payoff: sorting, your way15 min
- PracticeMachines of your own16 min
- Mastery checkSay the function-as-value truth back9 min
- ReflectCard thirteen: the machine that returns a machine8 min
Session 3: OOP I: model the thing
about 110 min- HookWhen data and its moves travel together9 min
- DemoThe first class, read line by line13 min
- PredictThe bet: how many arguments?7 min
- DemoThe dot call unmasked11 min
- DemoEach instance owns its scratchpad10 minStretch and water break (10 min)
- Live codeBuild the thing: the account grows guards16 min
- DemoClass or dict? The decision9 min
- PracticeBuild your thing18 min
- Mastery checkSay the class truth in your own words9 min
- ReflectCard fourteen: the blueprint card8 min
Session 4: OOP II: speak Python
about 110 min- HookTeach your class to speak Python9 min
- DemoThe address card, then __repr__11 min
- PredictTHE BET: are twins equal?8 min
- DemoThe reveal: __eq__ teaches ==11 min
- DemoThe protocol idea: len rings a doorbell11 minStretch and water break (10 min)
- Demo@property: computed, but reads like data11 min
- Live codedataclasses: the modern default15 min
- PracticeMake yours speak17 min
- Mastery checkSay the protocol truth in your own words9 min
- ReflectCard fifteen: the speaking-class card8 min
Session 5: OOP III: grow without pain
about 110 min- HookTwo growth tools, one judgement10 min
- DemoA subclass reuses and extends12 min
- PredictTHE BET: what does super().__init__ do?8 min
- DemoThe reveal: one object, two initialisers13 min
- Live codeThe design crime: Car(Engine), then the fix12 minStretch and water break (10 min)
- DemoOne loop, many shapes13 min
- PredictThe decision: IS-A or HAS-A?7 min
- PracticeBuild the right tool, both ways18 min
- Mastery checkSay the growth judgement in your own words9 min
- ReflectCard sixteen: the growth card8 min
Session 6: Iterators and generators
about 110 min- HookOpen the hood of every loop you own8 min
- PredictThe bet: the fourth next()7 min
- DemoThe protocol, then the dismantled for loop14 min
- PredictThe headline bet: does the body run?7 min
- Demoyield: the pause button13 minStretch and water break (10 min)
- DemoLazy versus eager: weigh a million squares13 min
- Live codeA pipeline, one value at a time15 min
- PracticeYour turn: walk it, then build it lazy16 min
- Mastery checkSay the machinery in your own words9 min
- ReflectCard seventeen goes in the logbook8 min
Session 7: Decorators and context managers
about 110 min- HookWrap it: one shape, two power tools8 min
- PredictThe bet: three prints, one order7 min
- DemoBuild the wrap by hand, then add the sugar14 min
- Demowraps, and the decorator you will use forever12 min
- Demowith: cleanup that cannot be forgotten12 minStretch and water break (10 min)
- DemoThe short form: one yield in the middle9 min
- Live codeThe toolsmith build: measure, wrap, cache15 min
- PracticeYour turn: one wrap of each kind16 min
- Mastery checkSay the wrap in your own words9 min
- ReflectCard eighteen goes in the logbook8 min
Session 8: Typing as a habit
about 110 min- HookYour code has readers now8 min
- DemoA naked function earns its labels12 min
- PredictThe bet: pass an int where str is promised6 min
- DemoThe reveal, and the tool that does complain12 min
- DemoThe vocabulary you will write daily13 minStretch and water break (10 min)
- DemoHints meet your classes and your dicts11 min
- Live codeLabel a program from your own past15 min
- PracticeYour turn: label the doors16 min
- Mastery checkSay the labels in your own words9 min
- ReflectCard nineteen goes in the logbook8 min
Session 9: The modern toolchain
about 110 min- HookFrom script to project8 min
- DemoWhat a real project looks like11 min
- PredictThe bet: two projects, one shared Python7 min
- Demovenv and pip: the universal baseline13 min
- Demouv: the modern path13 minStretch and water break (10 min)
- DemoThe identity file, and the one polish tool12 min
- Live codeYour checklist, built live, plus one real file14 min
- PracticeYour turn: the checklist from memory15 min
- Mastery checkSay the toolchain in your own words9 min
- ReflectCard twenty goes in the logbook8 min
Session 10: pytest I: prove it works
about 110 min- HookA program you trust to change8 min
- Demoassert, and the shape of a test12 min
- PredictThe bet: what does pytest print for a wrong assert?7 min
- DemoReal pytest, offline, on this machine13 min
- DemoRed to green, and the parametrize line11 minStretch and water break (10 min)
- DemoThe taste of test-first10 min
- Live codeMake it green, then trust the net15 min
- PracticeYour turn: test something you own17 min
- Mastery checkSay the proof in your own words9 min
- ReflectCard twenty-one goes in the logbook8 min
Session 11: pytest II: test like a pro
about 110 min- HookA suite you trust8 min
- DemoA fixture builds what your tests need12 min
- PredictThe bet: once for all, or once each?8 min
- Demoparametrize, deepened: ids and many params11 min
- Demomonkeypatch: pin the moving thing11 minStretch and water break (10 min)
- DemoCoverage, and what not to test10 min
- Live codeA fixture feeding a parametrized test, for real15 min
- PracticeYour turn: a fixture and a parametrized test18 min
- Mastery checkSay it like a pro9 min
- ReflectCard, and next: data8 min
Session 12: Data in, insight out
about 110 min- HookAsk the data a question8 min
- DemoStructured data at scale: CSV and JSON11 min
- DemoA DataFrame, and picking columns14 min
- PredictThe bet: what does df[df.marks > 80] give back?8 min
- DemoBoolean filtering and grouping12 minStretch and water break (10 min)
- Demodescribe, sort, and a little honest cleaning11 min
- Live codeOne honest analysis, end to end15 min
- PracticeYour dataset, your question14 min
- Mastery checkSay the data moves in your own words9 min
- ReflectCard, and next: where data lives8 min
Session 13: SQL and sqlite3, for real
about 110 min- HookData that outlives the program8 min
- DemoReal SQL on sqlite3: make it, fill it, ask it16 min
- DemoOne honest JOIN across two tables11 min
- PredictThe bet: the glued-in name7 min
- DemoInjectionInspector: feel the break, then fix it12 minStretch and water break (10 min)
- DemoThe index: scan every row, or descend once10 min
- Live codeTwo tables, a JOIN, and the safe query16 min
- PracticeYour schema, your queries13 min
- Mastery checkSay the database rules in your own words9 min
- ReflectCard, and next: the capstone8 min
Session 14: Capstone: the professional kit
about 110 min- HookWhat door two made you8 min
- DemoThe plan: a project that uses the band10 min
- DemoThe shape of the kit, assembled9 min
- PredictYour smallest version, in one sentence7 min
- CapstoneThe build: forty protected minutes40 minStretch and water break (10 min)
- PracticeRun your partner's tests, kindly14 min
- Mastery checkThe showcase14 min
- ReflectCard, the certificate, and door three8 min