Skip to main content

A junior on a six-month job is a $19k hole

Constantin Potapov
14 min

A client asked for a junior on a six-month project. I showed the sheet: breakeven in month five, the project ends in month six. Full cost, the payback curve, and four cases where a junior still adds up.

A junior on a six-month job is a $19k hole

2024, a consulting job. The client wants the team bigger. Deadline in six months, budget tight, market expensive. The obvious line: hire a junior, they are cheaper.

I said no. Not because juniors are bad. Because the sheet does not add up.

This is the sheet I put on the table.

  • Recruiting: 40 hours × $75 = $3,000
  • First month of onboarding: 80% of a senior, 0.8 × $6,250 = $5,000
  • Junior salary for three months: 3 × $3,000 = $9,000
  • Review and mentoring in months two and three: 40% of a senior, 0.4 × 2 × $6,250 = $5,000

Investment for the quarter: $22,000.

Output versus a mid-level: month 1 about 10%, month 2 about 30%, month 3 about 50%, months 4-5 about 70%, then 80-90%. The month that stops being a loss is the end of month five. The project closes in month six. Net profit never gets born.

We hired a mid-level at $5,000. Productive in two weeks, did not eat the senior, closed the critical work on time. Saved about $10,000 in unreturned investment plus the risk of missing the date.

People look at $3k on the payroll. They do not look at the $7.5k this person actually costs in the first three months.

The full bill for year one

External recruiter $2,000-3,000, internal HR $750-1,250, interview time $500-750. Before day one you are already at $3,250-5,000.

Average junior Python/JS salary in 2025: large cities $2,500-3,750, elsewhere $2,000-3,000. I use $3,000. Year on payroll $36,000, taxes about 43% add $15,480, together $51,480. Laptop, monitor, licences, office, Jira and GitHub: another $8,375. Direct cost of the year: $63,105, about $5,259 a month.

Then the part that is not in the budget.

No junior
First 3 months
Senior time on mentoring
0 hours
15-20 hours/week
Senior velocity
100%
60-70%
40%
Team productivity
100%
85-90%
15%

Month 1: codebase walkthrough 20 hours, review 40, pairing 32, questions 20. About 112 hours, 70% of a senior. Months 2-3: review 8 hours a week, consults 4, about 48 hours a month, 30% of the rate.

Senior $6,250 on payroll, about $9,000 with tax. Hour $56.25. Onboarding: 112 × $56.25 = $6,300 plus 48 × 2 × $56.25 = $5,400. Together $11,700.

Junior code takes two or three review rounds, in six months 20-50% wants a rewrite, production bugs run higher. Roughly: plus 10 review hours a week for half a year, 40-80 hours of refactor, 20-40 on production holes. About 400 hours × $56.25 = $22,500 in six months.

A team of five (two seniors, two mids, one new junior) costs about $30,500 a month without the junior. Minus 10-15% speed for the first quarter: $4,575 a month, $13,725 for the quarter.

Juniors leave more often. After a year 60-70% remain, mids sit at 80-85%. Chance of leaving in year one: 30-40%. If they leave at month six, hiring, teaching and unborn output all burn.

LineAmount
Direct (pay, infra, hiring)$63,105
Onboarding and mentoring$11,700
Review and debt$22,500
Team slowdown$13,725
Year total$111,030
Per month$9,252

A person on $3k costs about $9,252 a month in year one. Three times the number on the sheet. Turnover risk sits on top.

When a month stops being a loss

10%
Month 1
30%
Month 2
50%
Month 3
70%
Months 4-6
90%
Months 7-12
100%
After a year

One hundred percent here is a mid-level. A mid in a product or outsource shop brings about $12,500 a month and costs about $7,250 with tax.

MonthOutputContributionFull costGap
110%$1,250$13,050−$11,800
230%$3,750$10,650−$6,900
350%$6,250$10,275−$4,025
470%$8,750$8,000+$750
570%$8,750$7,250+$1,500
670%$8,750$7,250+$1,500
Half year$37,500$56,475−$18,975

A single month turns positive between four and five. The pile of losses from the first three only clears around months eight and nine. A horizon shorter than nine months: a junior as a bet does not add up.

On those same six months a mid costs $43,500 and brings $75,000. Plus $31,500 against minus $18,975. About $50k in favour of the mid.

Past a year the picture changes. By year end a junior gives about 90% of a mid and costs 40% less. If they stay, you get a mid who already knows your code. That is a different deal.

Where the sheet adds up

A long product, horizon over a year, onboarding exists, mentors have hours, the team is not leaking.

A SaaS shop, ten people, a three-year plan. Over two years a junior costs about $174k and brings about $215k, plus $41k. A mid on the same stretch is plus $126k. In year three the junior catches up. In years four and five, if they grew and stayed, they start to win on price.

A large team. Twelve people, three seniors, one of them gives 20% to three juniors: 6.6% of the rate per person, about $1,750 a month instead of $6,250 in a one-to-one setup. Review is already a process, onboarding is not invented from zero.

A conveyor of simple work. Bugs, tests, pattern refactors, ready APIs, CRUD. If that is 60% of the backlog, after month three a junior closes it without a constant hand. Mids and seniors move to work that brings money.

A two-to-three-year pipeline when mids are scarce or start at $6,250-7,500. Growing your own costs about $175k and gives someone who knows your code. Pay rises in steps, not in a jump.

Where the money burns

Shorter than nine months: minus $15-25k, as in the opening.

A team under five. In a three-person startup the senior gave 60% of the first quarter to the junior. The product stalled, the date slipped, the investor started writing in capitals. They swapped in a mid, speed doubled.

A hard product: high load, distributed, fintech, health, undocumented legacy. One N+1 on a critical endpoint passed review, the database died at peak, two hours down, $12,500 of revenue. The salary saving left in a single incident.

No mentoring. Review as a checkbox, no 90-day plan, no weekly talk, the junior thrown in the water. They do not grow, they leave in a quarter, $37-75k burns.

Production bugs: a mid 1-2 a month, a junior 3-5 in the first half year. An extra bug is 2-4 hours of digging, 1-3 to fix, and $250-$12,500 of revenue if it is critical. Conservatively $2,500-3,750 a month on top. Plus 20-30% of the code rewritten in six months, $3,750-7,500.

A senior leaving because they mentored forever and the junior did not grow costs $12,500-37,500 to replace. That is no longer a "cheap rate".

How to pull payback closer

Structured onboarding gets them to 70% in three months instead of six and saves about $12,500. The process is in the piece about 42%. Short version: day one with access and a map of the code, week one simple bugs, week two a small feature, then a gradient. Half an hour a week with a mentor. Review that explains, not grades. Pairing for the first two weeks.

Alternatives if the sheet fails. One-off chores: outsource at $50-80 an hour, no onboarding. A summer intern at $750-1,500 a month as a filter, output 0-20% of a mid. You already have a junior: $1,250-2,500 a year in courses and plus 10 mentor hours a week can turn them into a mid in 12-18 months instead of two or three years.

Before an offer I walk four shelves. Horizon over a year, $12.5-25k budget for the entrance, payback shorter than the horizon. Team bigger than five, the mentor has 20% of their time. More than half the backlog is their level, the tickets are written, not about security and not about peak load. There is an adaptation plan, grades, a reason to stay after six months.

Ten to twelve yeses: you can call. Seven to nine with open eyes. Five to six is already a lottery. Under five, take a mid. Seven yeses and a hard production system: still a mid.

One formula: contribution over N months minus full cost over the same N. Contribution is a share of a mid. Cost is pay, tax, hiring, teaching, review, team slowdown. Above zero by the end of the horizon: hire. Below: hire a mid. Count before the offer, not after the first production surprise.