Eight to ten weeks if you write code every day in a typed language and can still say what a heap costs. Fourteen to eighteen if you have a CS degree gathering dust behind three years of framework work. Twenty-four to thirty if you are self-taught and were never formally taught data structures. Which of those you get is decided less by the total hours than by how many hours a week survive contact with your real life, and the reason timelines slip is almost never that somebody studied too little.
The total is the easy number. The weekly number is the real one
Everyone asks for the total, and the total is the least useful figure on this page. Two hundred hours is five weeks at forty a week and twenty weeks at ten. Nobody holding a full-time job sustains forty, and almost nobody sustains twenty-five past the third week, once an on-call rotation, a birthday and a head cold have all landed in the same fortnight.
So build the calendar the other way round. Take a weekly figure you would be willing to defend to somebody who watched your last month, divide the total by it, then add about fifteen percent for the weeks that simply disappear. That last step is not pessimism. It is the difference between a plan that absorbs a bad week and a plan that gets abandoned during one.
Starting condition to calendar weeks
These are planning numbers for scoping a calendar, not measurements of anything. Set them, run two weeks, then adjust from what you observed rather than from what you hoped.
| Where you are starting | Total study hours | Weekly hours that hold | Calendar weeks | What eats the first third |
|---|---|---|---|---|
| Coding daily, typed language, complexity still in your head | 90 to 120 | 10 to 14, employed | 8 to 10 | Recall speed, not concepts. You know BFS. You have not written it from a blank file in four years. |
| CS-trained but rusty, three or more years of framework work | 160 to 200 | 10 to 14, employed | 14 to 18 | Turning things you recognise back into things you can write. Heaps, topological sort and dynamic programming are the three that always cost more than expected. |
| Self-taught, shipping production code, no formal DSA | 300 to 400 | 12 to 16 | 24 to 30 | Learning the material once, properly. Recursion to the point of trust, complexity as a reflex, and only then the pattern layer on top of it. |
| Career returner, eighteen months or more out of a coding job | 350 to 450 | 15 to 20, not employed | 22 to 28 | Typing fluency before any algorithm, plus a gap narrative that needs real hours of its own rather than a sentence improvised on the day. |
The fourth row is the one people misread in both directions. A returner carries the largest total and also has the most weekly hours available, and those two roughly cancel, so the calendar lands near the self-taught row while the work inside it is completely different. Weeks one to four are not LeetCode. They are getting back to writing sixty lines without opening documentation every three minutes, because a rusty returner who starts on graphs thinks they are measuring their algorithms and is really measuring their typing.
The other returner-specific cost is the behavioural round. Every interviewer will ask about the gap, and an answer assembled in the moment loses a loop just as efficiently as a failed graph question. Budget hours for it inside the plan rather than assuming it resolves itself in the taxi.
What twelve honest hours in a week contain
| Slot | Hours | What it is for |
|---|---|---|
| Four weekday sessions, 45 minutes | 3.0 | Re-solves and cold recall only. Never first contact with a new problem. |
| One weekend block | 4.0 | Every new problem you meet that week, attempted while rested. |
| One second block | 2.5 | System design reading, then one sketch spoken out loud rather than typed. |
| Behavioural | 1.5 | Six stories, spoken and timed. Not written, spoken. |
| The gate | 1.0 | One timed unseen problem, recorded, completely unassisted. |
If your week cannot hold twelve, do not compress the shape. Extend the calendar and keep it intact. A week that quietly drops the recorded gate hour is a week that produced no evidence, and evidence is the only thing that lets you name a date later without guessing.
The readiness gate: five checks, run before you name a date
Four unseen mediums, four separate days, 35 minutes each
Pass is three of four correct with the complexity stated aloud before you write code. Hitting run before you have claimed correctness out loud is a fail even when the tests go green, because no interviewer hands you that button first.
One unseen hard, 35 minutes, finishing not required
You must reach a working brute force and name the thing that makes it faster. That is the real bar in a hard round. Twenty silent minutes followed by an optimal solution you half-remember is worth less than a stated brute force and a direction.
One 45-minute design, recorded, on a prompt you did not choose
It has to reach an API sketch, a data model, and one bottleneck with a number attached to it. Then play the recording back. If you talked for twelve minutes before drawing anything, that is your finding, and it is a common one.
Six stories, each under two and a half minutes, no notes on screen
Two of them must be failures with the consequence stated plainly. Time them with a stopwatch. A story that runs four minutes on your own sofa runs six in a room with a stranger.
One mock with a human who will interrupt you
The interruption is the point. Solo practice never includes being derailed at minute fourteen by a question about your index choice, and that is exactly where otherwise prepared candidates come apart.
Clear all five inside a ten-day window and you have earned a date. Failing one does not reset the calendar, it converts that single check into a focused two-week project while the other four hold.
The failure nobody publishes: the date gets set before the gate
Timelines slip for one dominant reason, and it is not insufficient studying. The order gets inverted. A recruiter emails on a Tuesday and asks when you would like the loop. Answering honestly, that you do not know because you have not tested yourself yet, feels unprofessional, so you say four weeks. From that moment the calendar is a promise rather than a measurement, and the plan quietly reverse-engineers itself to fit the promise.
Watch what that does. In week two you discover your graph work is gone. Unforced, you would spend nine days there. Under the promise you spend two, because twelve topics have to fit inside twenty-six days. You arrive with recognition of everything and recall of nothing, then lose on a medium you would have solved comfortably five weeks later. The studying was fine. The sequencing was the defect.
The arithmetic on delay is lopsided and worth saying out loud. Moving a loop three weeks costs three weeks and one slightly awkward email, and naming a preferred week is an ordinary scheduling request, the same one they make of you when their panel is full. Failing a loop costs a cooldown, commonly reported as six to twelve months and varying by company, level and round. Treat that specific range as unverified, since policies change and are rarely published. The direction of the asymmetry is not in question.
The practical fix is two rules. Take the recruiter screen early, because it is free information about level, team, format, language policy and whether a design round exists, and it commits you to nothing. Then decline to name a loop date until the gate is cleared, with something as plain as "I am partway through a focused prep block, could we target the week of the fourteenth". Loops are often scheduled two to four weeks out anyway, so a request inside that window frequently costs nothing at all.
What actually shortens the calendar
- Interview in the language you write every day, even when it is more verbose. Switching to Python for the syntax saving buys back maybe five hours and costs thirty to sixty in relearned standard library, which is a straight loss.
- Cut topic coverage deliberately and know the gaps by name. "I have not done union-find" is a manageable risk you can decide about. Thin coverage of everything is not.
- Solve out loud from week one. Silent solving trains a skill nobody assesses and hides the exact failure the interview is built to detect.
- Two problems solved twice from blank beat four read once. The second attempt, a week later, is where the pattern actually gets stored.
Three things do not shorten it, whatever a plan claims: pushing past roughly twelve first-contact problems in a week, video editorials that feel like thirty minutes of study and leave almost nothing behind, and any tool that hands you a solution during a first attempt.
Where this page, and our tooling, are the wrong answer
The gate has to be run unassisted or the number anchoring your entire calendar is fiction. During those attempts, and during any first contact with a problem, Code Copilot is the wrong thing to open. It earns its keep at minute 21, after an honest attempt has already failed and you want the intuition, a dry run and the Big-O without three forum tabs. Not before.
Two more limits worth stating flatly. It runs on Windows 10 and 11 only, with no macOS, Linux, mobile or browser extension, so on a Mac none of this applies to you. And the overlay being excluded from screen capture at the operating-system level means it is absent from Zoom, Teams, Meet and screen recordings, which is a statement about screen sharing and nothing else. It does nothing about a webcam, a lockdown browser, a proctor sitting in the room, or a second-device camera. Where an assessment says no outside help, the honest window is the weeks before it.
The larger honesty is that nothing here compresses 300 hours into 60. Tooling changes what minute 21 costs. It does not change whether the first twenty minutes happened.
What to do in the next hour
Run check one tonight. One unseen medium, 35 minutes, timer visible, narrated aloud, and no editorial until you have written down where you stalled. That single data point tells you which row of the table you are in, and when you are torn between two rows, assume the later one. Then block the twelve weekly hours in your calendar with real titles, take the recruiter screen without naming a loop date, and if a behavioural round is in the loop, the company Q&A generator builds a role-specific bank so those six stories are aimed at the questions that round will actually ask. The free tier is five minutes a day and asks for no card.