When "It Works" Is Not Good Enough • Live Workshops
You write code. It works. And that’s great.
But do you feel that “it works” isn’t good enough? You need to understand Python’s “behind the scenes” to write robust and efficient code. If you’re keen to step up your Python coding, then I’ve got a series of live, hands-on workshops coming up. I think you’ll find them interesting and useful.
Here they are:
Note: workshops have already taken place
Python’s Plumbing: Dunder Methods and Python’s Hidden Interface
Pythonic Iteration: Iterables, Iterators,
itertoolsTo Inherit or Not? Inheritance, Composition, Abstract Base Classes, and Protocols
Each live workshop will run for 2 hours+ (we’ll keep going if you have more questions!) My live teaching style is quite similar to how I write. So, expect a relaxed, friendly, and fun session. And you have permission to jump in and ask questions at any point.
Here’s a bit more about each workshop. You can sign up to whichever workshop you wish or all three of them. Up to you.
Pythonic Iteration: Iterables, Iterators, itertools
What happens in a for loop? There’s a lot more than you see on the surface. And if you’re using too many for loops in your code, maybe you’re missing out on some more Pythonic iteration options.
In this workshop, you’ll finally get to grips with the difference between iterable and iterator. You’ll master the Iterator Protocol and you’ll see how there’s always an iterator somewhere behind every iteration. And you know lots of weird iteration patterns, often consisting of nested for loops? You probably don’t need them. Python has special iteration tools hidden in the standard module, including the itertools treasure trove.
To Inherit or Not? Inheritance, Composition, Abstract Base Classes, and Protocols
When you learn object-oriented programming, you learn about inheritance. And that’s cool. But when should you use inheritance? Are there alternatives? [Spoiler alert: yes, there are]
The workshop explores inheritance, yes, but also composition. We’ll explore examples to understand when to use one or when to use the other (or when to use both). This discussion will lead us to some key design principles and how abstract base classes can help. But what if you don’t want to use inheritance? ABCs can’t help, but protocols (the typing.Protocol one) can step in to give you a duck typing-friendly way to organise your code.
The workshops are on Zoom but I won’t use the webinar format–that’s too ‘one-way’ for my liking. Instead, I’ll run them in a standard Zoom meeting where you can jump in and ask questions at any time. It’s friendlier that way!
You’ll also get access to the recording of the session.
Any questions? Just reply to this email and ask.
Join the Workshops
Each workshop is $45. Or you can get both remaining workshops for $75. That’s 4+ hours of live, hands-on, interactive learning…
Here are the dates and times for each workshop. Each workshop runs for 2+ hours. I’m showing times in a few time zones:
1. Python’s Plumbing: Dunder Methods and Python’s Hidden Interface
Thursday 26 February 2026 • London 9:00 PM • New York 4:00 PM • Los Angeles 1:00 PM • Berlin 10:00 PM • UTC/GMT 9:00 PM
2. Pythonic Iteration: Iterables, Iterators, itertools
Thursday 12 March 2026 • London 9:00 PM • New York 5:00 PM • Los Angeles 2:00 PM • Berlin 10:00 PM • UTC/GMT 9:00 PM
3. To Inherit or Not? Inheritance, Composition, Abstract Base Classes, and Protocols
Thursday 19 March 2026 • London 9:00 PM • New York 5:00 PM • Los Angeles 2:00 PM • Berlin 10:00 PM • UTC/GMT 9:00 PM
Book your place on both remaining workshops in one convenient, cost-effective bundle:
BOOKING CLOSED
So, in summary:
Live workshops to master core Python and improve the quality of your code
2+ hours each, live, interactive, hands-on
Ask questions during the sessions—your questions always lead to interesting discussions
See you at the workshops…



I think the courses are very reasonably priced (although I come from a high income country, so it will be different in other regions). But programming is more like my hobby, so sadly besides of family and my day job I don't have the time for live courses.
Best!