The job hunt is now a 100-hour unpaid internship

5 min read 1 source clear_take
├── "Modern hiring loops have become an unsustainable unpaid tax on candidates"
│  └── weli (weli.dev) → read

Argues that landing a single offer now consumes 80-120 hours across recruiter screens, LeetCode, system design, take-homes, behavioral loops, and onsites. Points out that take-home assignments were pitched as replacements for whiteboarding but ended up stacked on top, turning a one-week 2015 process into a two-to-three-month gauntlet.

├── "The interview tax structurally selects for a narrow demographic of candidates"
│  └── top10.dev editorial (top10.dev) → read below

Frames the hours cost as a filter that favors young, single, caregiving-free engineers who can treat evenings and weekends as a second job. Cites HN commenters — parents doing LeetCode at 11pm after kids are down, and on-call engineers who have given up on switching — as evidence that the current process disproportionately excludes anyone with real-life obligations.

└── "Companies keep adding interview stages because each one is defensible in isolation"
  └── top10.dev editorial (top10.dev) → read below

Argues that no single hiring stage looks unreasonable on its own, so companies compete by adding rounds rather than cutting them. The aggregate cost — not any individual round — is what breaks candidates, and the industry has normalized the gauntlet without ever explicitly acknowledging the trade-off.

What happened

A post titled *The cost of getting a job today* hit the Hacker News front page this week, and the comment thread read less like a discussion and more like a group therapy session. The author, writing on weli.dev, walked through the actual hours a mid-to-senior engineer now burns to land a single offer: recruiter screens, HR calls, a LeetCode round, a system design round, a take-home project, a behavioral loop, a bar-raiser, and a final onsite. Add prep, and the total lands somewhere between 80 and 120 hours per offer. For comparison, that is roughly three full working weeks of unpaid labor, repeated for every company you talk to.

The HN thread surfaced numbers from engineers who had kept logs. One commenter tallied 14 interview loops over six months and estimated over 600 hours of prep and interviews combined — more time than most people spend on a side project that actually ships. Another pointed out that take-home assignments, pitched as *replacing* whiteboard coding, have instead been added on top of it. The algorithm round didn't go away; it just got a chaperone.

What used to be a one-week process in 2015 is now a two-to-three-month gauntlet, and the industry has normalized it without ever quite admitting it. Companies compete to add stages, not remove them, because every stage feels defensible in isolation. The aggregate is what breaks people.

Why it matters

The surface read is "interviews are annoying," which is true but boring. The deeper read is that the cost of switching jobs has become a tax that selects for a specific kind of candidate: young, single, no caregiving load, employed somewhere that tolerates mental absence, and willing to treat evenings and weekends as a second job. The HN thread was blunt about this. Parents described doing LeetCode at 11pm after kids were down. One commenter working a demanding on-call rotation said they'd effectively given up on switching companies because the prep cost exceeded their recoverable free time.

This is a hiring filter nobody put in the job description, and it quietly contradicts every DEI page these same companies publish. If your pipeline requires 100 hours of unpaid preparation to pass, you are not hiring for the job — you are hiring for who has 100 hours to spare. The correlation with age, family status, and existing employer humaneness is not subtle.

There's also a market-efficiency angle worth naming. Companies justify long loops as a cost of a bad hire. Fair. But the cost is being externalized: the candidate eats it 20 times, the company eats it once. If you ran the same math on the company side — "we require every candidate to burn three weeks of their life, and we interview 20 to hire 1" — you'd see the industry is collectively lighting on fire something like 60 engineer-weeks per hire. Multiply across every open req at every FAANG-adjacent shop and the number becomes genuinely absurd. We've built a hiring system that costs more, in aggregate human time, than the first year of output from the person hired.

The take-home-project arms race deserves its own callout. Take-homes were sold as the humane alternative — do it on your schedule, show real code. In practice, hiring managers have no calibrated way to compare them, so they ask for more scope to feel confident. A "4-hour" take-home is now a 15-hour take-home with a 4-hour time limit printed on it, and candidates lie about how long it took because telling the truth looks slow. The take-home didn't replace the hazing ritual, it just moved it off the company's calendar and onto yours.

The LeetCode economy has grown around all of this. Paid prep platforms, interview coaches, mock-interview marketplaces, YouTube channels dedicated to pattern-matching the 150 problems that actually show up — a whole industry exists because the signal companies claim to measure is barely correlated with the job, and everyone in the room knows it. Engineers who've been senior for a decade still re-grind binary trees every time they want to move, because the thing being measured is not skill; it is recency of practice on a specific test.

What this means for your stack

If you're hiring: audit your loop. Count the hours end-to-end, including prep expectations, and ask whether each stage actually produces independent signal or just redundantly re-measures something you already saw. The companies that are starting to win talent in 2026 are the ones running tight, three-stage loops under 10 hours total — recruiter screen, one technical conversation grounded in the candidate's real work, one team fit — and they're pulling in the senior parents and caregivers that everyone else's gauntlet filters out.

If you're job-hunting: stop treating every loop as the same. Rank companies by their interview cost before you say yes to a first call, the same way you'd rank them by comp or stack. A company that wants a 12-hour take-home before a human conversation is telling you something about how they'll treat your time once you work there. Interview process is culture, not a prelude to culture. Treat it as data.

The tactical move is also to batch. If you're going to pay the LeetCode tax, pay it once per year and run five loops in parallel in that window, rather than re-paying it every time you get curious about a role. The people who report sanity in modern job hunts almost universally describe it as a focused sprint, not a background process.

Looking ahead

The pressure valve on this is going to be AI-assisted interviewing — on both sides. Candidates are already using LLMs to pattern-match problems in real time, and companies are already using AI graders on take-homes. We are maybe 18 months from a world where both sides are running models at each other through a Zoom window, and the humans in the loop are mostly there to detect that the other side is doing it too. That's not a stable equilibrium, and it will force the honest question the industry has been dodging for a decade: what are we actually trying to measure, and is there a cheaper way to measure it? The companies that answer that question first will have an unreasonable hiring advantage. The rest will keep paying the tax, and so will you.

Hacker News 40 pts 62 comments

The cost of getting a job today

→ read on Hacker News

// share this

// get daily digest

Top 10 dev stories every morning at 8am UTC. AI-curated. Retro terminal HTML email.