Courses
Practical courses for the work we actually do. Pick one, finish it, and apply it.
This is for people who have never written a line of code and want to start with Python. You will install Python, write small programs that actually run, and learn to read your own errors instead of guessing. If you skip the basics and copy code you do not understand, you will get stuck the first time something breaks, and something always breaks.
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 have never written JavaScript and want a web page that reacts when someone clicks, types or submits. You will write JavaScript that runs in your browser, change the page with it, and read your own errors instead of pasting code you don't understand. If you skip the basics and copy snippets until something works, you will be stuck the first time the console turns red, and it will turn red.
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.
This is for people who have never written HTML or CSS and want a page that looks right when they open it. You will write real markup, style it with CSS, open it in your browser, and stop pasting code you don't understand. If you skip the basics and copy snippets until something looks fine, you will be stuck the first time a layout breaks on a phone, and it will break.
This is for people who already build responsive pages and now need styles that survive real traffic, real content and a real team. You will structure CSS with layers and tokens, lay out with Grid and container queries, ship faster pages, and audit accessibility before launch. If you keep adding rules on top of rules, every release will be harder than the last.
This is for people who already write basic JavaScript and want the compiler to catch wrong data before the code runs. You will add types to JavaScript you already know, compile with tsc, and stop guessing what a function accepts. If you skip the basics and add any until the red lines go away, you keep the old bugs and add a build step.
You'll design declaration files, deep conditional types and migration paths so a real codebase stays typed as it grows.
Read query plans, choose the right index and change live tables safely. You will read an EXPLAIN ANALYZE plan line by line, pick between B-tree, GIN, GiST and BRIN indexes, understand MVCC, locks and deadlocks, and run migrations and backups that you have proved on a copy. If you skip the plans, the locks and the restore test, your queries will pass on a small table and fail when the table is large and busy.
Install Docker Desktop, run containers, keep data, and start two services with Compose, without guessing what each command does.