Skip to content

Course

Software Engineering Practice: Code That Lasts

The habits that separate shipping code from engineering software: tests as a design tool, debugging as a process not a panic, refactoring in safe steps, and code review that actually makes code better.

9 lessons

Course Q&A

Testing as a Design Tool

Tests that earn their keep — the pyramid done pragmatically, and what to actually test.

  1. 01Tests That Earn Their KeepWhat to test, what to skip, and why a test you don't trust is worse than no test at all.18mOpen
  2. 02The Testing Pyramid, Done PragmaticallyUnit tests for logic, integration tests for seams, end-to-end tests for the golden path — and why the shape matters.16mOpen

Debugging & Refactoring

A process for 'it doesn't work', and small-step refactoring that never breaks the build.

  1. 01Debug Like a System, Not a HuntReproduce, isolate, hypothesize, verify — the four steps that turn 'it doesn't work' into a file and line number.20mOpen
  2. 02Refactor in Steps So Small You Can't FailRename before you rewrite, extract before you restructure, and why tests are the safety net that makes it possible.20mMembers

Review & Delivery

Code review that improves code, and shipping changes safely.

  1. 01Code Review That Actually Improves CodeWhat to comment on, what to skip, and the one question that separates useful review from noise.18mMembers
  2. 02Ship Small, Ship Often, Ship SafelyFeature flags, staged rollouts, and the deploy practices that make a bad release a non-event.18mMembers
  3. 03Readable Code Is a FeatureNaming, function length, and the 'explain it in one breath' test — the readability habits that compound.16mMembers
  4. 04Designing Interfaces: Contracts, Versioning, and Backwards CompatibilityEvery interface is a promise — function signatures, HTTP APIs, and events all follow the same rules of honest contracts.20mMembers
  5. 05Estimating and Slicing: How Seniors Make Work PredictableEstimates fail because of hidden work, not bad math — slice until the unknowns are visible, then estimate the visible.18mMembers