CodingNeed.

YOUR LEARNING LIBRARY

Start where you are.
Build what comes next.

Foundations for your first steps. Focused workshops for deeper practice. The lesson counts below describe content available now.

Beginner

Intermediate

Advanced

JavaScript · 4 lessons

JavaScript engineering patterns

Build a cache, order dependent jobs, retain async outcomes and reason about sliding windows.

Prerequisite: JavaScript foundationsView syllabus
TypeScript · 3 lessons

TypeScript at application boundaries

Validate unknown data, model state transitions and preserve type relationships.

Prerequisite: TypeScript foundationsView syllabus
Python · 3 lessons

Python data pipelines and algorithms

Merge reservations, rank frequent events and build a resilient JSON ingestion pipeline.

Prerequisite: Python foundationsView syllabus
SQL · 3 lessons

SQL beyond basic queries

Rank tied records, calculate running totals and paginate with composite cursors.

Prerequisite: SQL foundationsView syllabus
Go · 1 lessons

Go · Cancellation in a bounded worker pool

Cancellation must reach both work and blocked channel operations.

Prerequisite: Go functions, channels and contextView syllabus
Rust · 1 lessons

Rust · Share ownership without hiding failures

Thread safety and correct failure handling are separate responsibilities.

Prerequisite: Rust ownership, Result and threadsView syllabus
Java · 1 lessons

Java · Coalesce concurrent cache loads

One in-flight operation per key prevents duplicate expensive work.

Prerequisite: Java collections, futures and executorsView syllabus
C# · 1 lessons

C# · Bound asynchronous work and propagate cancellation

Bound concurrency independently from the size of the input.

Prerequisite: C# Task, async/await and CancellationTokenView syllabus
TypeScript · 1 lessons

React · Prevent stale requests from replacing current state

An effect owns the lifetime of the asynchronous work it starts.

Prerequisite: React hooks and TypeScript unionsView syllabus
JavaScript · 1 lessons

Node.js · Stream files with backpressure

A slow consumer must constrain a fast producer.

Prerequisite: Node.js streams and promisesView syllabus
TypeScript · 1 lessons

Next.js · Authorize every server-side mutation

A hidden button is not an authorization boundary.

Prerequisite: Next.js App Router, sessions and SQLView syllabus
TypeScript · 1 lessons

Express / NestJS · Design an idempotent write

A retry should reuse the original result without repeating the business effect.

Prerequisite: HTTP APIs, SQL transactions and request validationView syllabus
Python · 1 lessons

Django / FastAPI · Keep blocking work out of async handlers

The event loop stays responsive only while handlers cooperate.

Prerequisite: Python async/await and HTTP API basicsView syllabus
C# · 1 lessons

ASP.NET Core · Detect conflicting edits with a version token

A read-modify-write operation needs a conflict policy.

Prerequisite: ASP.NET Core minimal APIs and EF CoreView syllabus
SQL · 1 lessons

System design · Deliver events with a transactional outbox

Write business state and the intent to publish in one transaction.

Prerequisite: SQL transactions, queues and API designView syllabus
SQL · 1 lessons

Database engineering · Transfer value without lost updates

Lock shared records in a consistent order and keep invariants in the database.

Prerequisite: SQL updates, constraints and transactionsView syllabus
JavaScript · 1 lessons

DevOps / Cloud · Drain a service during deployment

Readiness, liveness and graceful shutdown solve different problems.

Prerequisite: HTTP, Node.js and container basicsView syllabus