A take-home assignment — building something small over a few days, without anyone watching — is often the stage that most resembles real work, since there is no live pressure and you can work at your own pace. It rewards genuine effort more directly than any other stage.
Without a clock running and nobody watching, a take-home assignment shows something the other stages can't: how you actually work when left alone. Code quality, decision-making, whether you handle edge cases without being prompted, whether you write anything explaining your choices — all visible here in a way live coding under pressure doesn't allow.
Do not submit something broken because a deadline is close. A smaller, fully working submission beats a larger, ambitious, broken one every time — the same principle as the earlier lesson on scoping a portfolio project to actually finish it.
Respect the suggested time if one is given. Spending five times the estimate to produce something more polished can actually read poorly — it may suggest a struggle to prioritise or estimate time realistically, both of which matter directly on a real job with real deadlines.
Most take-home tasks are reasonable and roughly match the size stated. Occasionally one is not — asking for what amounts to several days of substantial, production-scale work for an unpaid "assignment" is a real pattern some companies use to extract free labour rather than genuinely evaluate a candidate.
If a task feels disproportionate to a normal interview stage, it is fair to ask directly how long it's expected to take, or to raise the concern with whoever is coordinating the process. A reasonable company will clarify; how they respond to that question is itself informative.
Be ready to walk through your decisions in a follow-up conversation — this stage is very often paired with a discussion afterward, which is effectively another round of the project-discussion skills covered earlier in this course, applied to work you did without time pressure.