Keep a small part of your workflow unassisted: predict behavior, explain one decision, then check it. Try an array-mutation exercise and a practical daily routine.
Turn a familiar-looking solution into something you can reconstruct. Use a small Python exercise, a changed requirement and a follow-up attempt without hints.
Write the contract, find a counterexample and check the fix. Practise on a JavaScript validator that passes ordinary examples but accepts an empty batch.
Find out what is rusty before restarting a whole course. Try a small debugging task, then use a one-week plan for recall, tracing and a working project change.
Trace one instant through Unix seconds, milliseconds and ISO offsets. Reject impossible dates and keep local scheduling separate from timestamp conversion.
Read an interleaved gateway, checkout and ledger log timeline. See how a tight caller timeout and a retry without an idempotency key cause duplicate writes.