Short, applied courses with a verifiable certificate. Search for a topic, or narrow by category, level, duration and price.
Learn to define exactly when a user story is "done" by writing testable, unambiguous acceptance criteria. Master the Given/When/Then (Gherkin) structure, choose between scenario and rule-based styles, and build a reusable template that ends the "but that's not what I meant" argument.
Learn to write user stories that actually work — capturing intent as a placeholder for a conversation, structuring it with role, want and benefit, and checking every story against INVEST. Rewrite messy backlog items into small, valuable, testable stories and build a reusable template that makes the method a reflex.
Learn to use native device capabilities from a Flutter app in Dart — permissions, camera and image picker, geolocation, sensors, local notifications, sharing and files. You will finish able to request access safely, read real hardware data, and handle permission denials gracefully so your features degrade instead of crashing.
Persist application data from Node into real databases — connect to PostgreSQL with the node-postgres driver, run safe parameterised queries, and pool connections for performance. Layer an ORM such as Prisma or Sequelize on top, understand migrations, and store documents in MongoDB with Mongoose. You finish able to design and build the data-access layer of a production Node service.
Learn why limiting work in progress is the single most powerful lever a team has over flow, and how a WIP limit forces you to finish before you start. Set limits from real capacity rather than a comfortable round number, enforce them so they surface problems, and build a WIP Limit Calculator your team will actually respect.
Learn to run analytics without collapsing rows using PostgreSQL window functions. You will master OVER, PARTITION BY and ORDER BY, ranking with ROW_NUMBER/RANK/DENSE_RANK, row-to-row comparisons with LAG and LEAD, and running totals and moving averages with explicit frames.
Most enterprise Agile transformations disappoint — not because teams can't run Scrum, but because leadership behaviour, culture and incentives never change. Learn to tell root causes from symptoms, diagnose a stalled transformation, and build a root-cause checklist that names the real constraint.
Learn why the workflow your team actually follows is almost never the one drawn on the board, and why the hidden gap between them is where delay and risk live. This course teaches you to discover the real workflow — including the informal waiting states — and to redesign a board that makes flow, and its blockages, visible.
Learn to encapsulate and reuse query logic in PostgreSQL using views, materialized views and functions. You will create and update views, cache expensive queries with materialized views and REFRESH, write parameterised SQL functions, and choose the right tool for each job so your database logic stays clean and reusable.
Learn to split work into thin vertical slices — cuts through UI, business logic and data that a user can actually see and use — instead of horizontal, technical-layer slices that deliver nothing on their own. Make every story a demoable piece of real value.
Learn version control from first principles with Git and GitHub — configure Git, master the three areas and the commit workflow, branch and merge with confidence, resolve conflicts, and collaborate through remotes, pull requests, issues and a first taste of GitHub Actions. A practical, hands-on course that leaves you able to run a real project's history like a professional developer.
Learn to find structure in unlabelled data with scikit-learn — group similar records with k-means, hierarchical clustering and DBSCAN, judge the result with proper metrics, then compress and visualise high-dimensional data with PCA and t-SNE/UMAP. You will finish able to take a raw feature table and honestly answer "what natural groups and low-dimensional structure live in here?".