Courses
Practical courses for the work we actually do. Pick one, finish it, and apply it.
This is for people who can already write small Python scripts and now need code that other people can install, read, test and trust. You will set up projects that don't fight each other, split code into modules and classes, work with real files and CSV data, and prove your code works before someone else finds the bug. If your code only runs on your laptop and only you understand it, it is not finished yet.
This is for people who write Python every week and now need it to handle bigger data, more work at the same time, and other people installing it. You will build real decorators, process data one piece at a time, catch type errors before they run, choose between threads, processes and asyncio, then package and profile your code. Most of this is not needed for small scripts. When it is needed, not knowing it gets expensive.
This is for people who can already make a page react with JavaScript and now need code that survives real projects: Node and npm, modules, classes, real data, waiting for APIs, and tests. You will set up projects that install the same way on every machine, split code into files other people can read, handle JSON and dates without losing data or a day, and prove your code works before a customer finds out it doesn't. If you skip this level, your code works on your machine with your sample data, and breaks the first time the data changes.
This is for people who already write Node and browser JavaScript with modules, async/await and tests, and now need code that keeps working under real load. You will learn how closures and this really behave, how the event loop orders your code, how to run, limit and cancel async work, how to process data that doesn't fit in memory, how to catch type bugs without switching to TypeScript, and how to ship a package and find slow code and memory leaks. If you skip this level, your code passes every test and still falls over the first week it runs in production.
You'll design declaration files, deep conditional types and migration paths so a real codebase stays typed as it grows.
Dockerfiles that don't rot, volumes and networks you can explain, and Compose files other people can run. You will shrink a build context, fix permission errors, wire services together with health checks and push an image to a registry. If you skip the checks on ports, secrets and tags, the project runs on your laptop and breaks on the next machine.