Python Engineering — senior fundamentals
Python is easy to start and hard to master — most of what separates a senior engineer from a script writer is a handful of deep fundamentals: how names and objects really work, laziness, the type system that grew up, the GIL, and knowing which tool the ecosystem already built. This track covers exactly that, with an interactive lab in every module — and it stays connected to the real world: the same beta-calculation case study used in Financial Engineering Programming is verified and load-tested by Python (pandas IPV, ThreadPoolExecutor harness), and those scripts appear here as the worked examples.
- 🏷️Module 1Available
The object model & mutability
Names bind to objects, assignment never copies — aliasing, is vs ==, and the mutable-default-argument trap every senior has been burned by.
🎛 Names & objects lab
- 🔁Module 2Available
Iteration, generators & comprehensions
The iterator protocol, lazy pipelines that stream a million rows in O(1) memory, and the one-shot generator trap.
🎛 Lazy vs eager lab
- 🧾Module 3Available
Typing, dataclasses & protocols
Type hints the tooling enforces, frozen dataclasses as Python's records, and Protocol — duck typing made checkable.
🎛 Frozen dataclass validator
- 🚦Module 4Available
The GIL & concurrency
Why threads don't parallelize CPU but do parallelize waiting — and how to choose between threads, processes and asyncio.
🎛 GIL simulator
- ⚡Module 5Available
Performance: measure, then vectorize
Profile first, vectorize with numpy second, and remember big-O beats both — plus lru_cache and its traps.
🎛 Vectorization lab
- 🧰Module 6Available
The senior toolbelt: stdlib & libraries
The stdlib power tools you should reach for daily, and the library map — numpy, pandas, FastAPI, pydantic, pytest — with when-to-use lines.
🎛 Toolbelt matcher
Start with Module 1
Names, objects and the mutable-default trap — ten minutes that explain half the Python bugs you'll ever debug.
Open the object model →Educational analysis, not investment advice.