Series · 10 parts · ~51 min total
Python for the JVM Engineer
Understand how CPython executes your code — bytecode, the eval loop, and where it diverges from the JVM you already know.
- 1
The Runtime Model
Understand how CPython executes your code — bytecode, the eval loop, and where it diverges from the JVM you already know.
5 min
Nov 1, 2025
- 2
Packaging and Dependency Hell
Navigate pip, Poetry, and uv with the same confidence you bring to Maven — once you understand what pyproject.toml is actually doing.
5 min
Nov 8, 2025
- 3
Async, Threading, and the GIL
Unpack Python's concurrency model — the GIL, asyncio's event loop, and when to use threads vs processes — through a JVM engineer's lens.
5 min
Nov 15, 2025
- 4
Type Hints in Real Code
Add Java-grade type safety to Python through gradual typing, mypy, and pyright — without rewriting your whole codebase.
5 min
Nov 22, 2025
- 5
Dataclasses, attrs, Pydantic
Pick the right data modelling tool for the job — validation, serialization, and immutability compared from a Java record and bean perspective.
5 min
Nov 29, 2025
- 6
Web Frameworks Compared
Pick between Flask, Django, and FastAPI with the same framework intuition you built around Spring — mapped concept by concept.
5 min
Dec 6, 2025
- 7
Background Jobs
Move work off the request thread with Celery, RQ, and Dramatiq — mapped to Quartz, Spring Batch, and the Java executor model you know.
5 min
Dec 13, 2025
- 8
Performance and Profiling
Find and fix Python bottlenecks using cProfile, py-spy, and flamegraphs — the same investigative workflow you apply with JFR and async-profiler.
5 min
Dec 20, 2025
- 9
Packaging for Distribution
Ship Python code as wheels, standalone executables, or Docker images — with the same discipline you apply to JAR and uber-JAR packaging.
5 min
Dec 27, 2025
- 10
Python in Containers
Build lean, production-ready Python container images with multi-stage builds and runtime configuration — applied from a JVM Docker experience base.
6 min
Jan 3, 2026