It was the line for junior developer and junior QA hours, billed across all client projects, year over year. The number was down 41%. Not because we had lost clients ‚ revenue was up. Not because we had moved work offshore ‚ we were already offshore. The hours had simply disappeared. The work was getting done. Juniors were just doing less of it.
I want to write this essay carefully, because the headline version of what I am about to describe is the kind of statement that gets misread in twelve different directions on LinkedIn. So let me say what I mean before I say what happened.
We did not fire 40% of our junior engineers. We did not stop hiring juniors entirely. We did not replace humans with a chatbot. What we did was watch ‚ over roughly eighteen months ‚ as AI tooling absorbed close to 40% of the work that, in our 2023 cost structure, was being done by people with less than three years of experience. That shift has now changed how we hire, how we price, how we structure teams, and how we think about the next decade of this industry. Most agencies my size are seeing the same numbers and refusing to talk about them publicly.
Here is what actually happened at Ropstam, what we got right, what we got wrong, and what I think it means for anyone running or working in a services business right now.
01:
The moment it stopped being a productivity story
Through most of 2024 I treated AI tooling the way every other agency CEO treated it: as a productivity uplift. Engineers got faster. Output per head went up. Margins improved. We rolled out Copilot, then Cursor, then a mix of Claude Code and internal tooling for our larger accounts. The early ROI conversations were all about “engineers shipping 30% more per sprint.”
That framing was wrong, and it took me too long to see why.
The honest truth is that AI tooling did not make every engineer 30% faster. It made the most senior engineers somewhat faster, the mid-levels noticeably faster, and the junior engineers a different kind of useful. A senior developer with Cursor produces in a day what they used to produce in a day and a half. A junior developer with Cursor produces in a day what a mid-level developer used to produce in a day. The uplift was real, but it was not uniform ‚ and the second-order effect was the one that mattered.
Once a junior with AI tooling could match a mid-level’s output on bounded tasks, the question stopped being “how much faster is our team?” and became “do we still need to staff this project the same way?” The answer, project after project, was no.
02:
What we actually replaced
It matters to be specific here, because “we replaced 40% of junior work” without specifics is a Rorschach test that lets every reader project their own fears or hopes onto the sentence.
The work that disappeared from our junior staffing plan over eighteen months was, roughly in order of magnitude:
Boilerplate scaffolding ‚ auth flows, CRUD endpoints, form components, validation schemas. The kind of work a junior used to spend their first six months mastering, now produced in twenty minutes with a senior’s prompt and a careful review.
First-pass UI implementation from a Figma file. A junior could spend three days converting designs into React; the same conversion now takes a senior an afternoon with AI assistance, and the senior catches the design inconsistencies a junior would have missed.
Manual regression QA on stable features. We used to allocate two junior QA engineers to run regression suites the night before a release. We now run AI-generated visual regression and behavioral testing, with one human reviewing the failures.
Test case writing from acceptance criteria. A junior QA used to translate user stories into test plans; this is now a five-minute first draft, edited by a senior, instead of a three-hour first draft, edited by a senior.
The Work That Disappeared First
Documentation, code comments, changelog generation, ticket summarization, standup notes synthesis. Each individually small. Together, several days a week per project that used to fall to whoever was most junior on the team.
Notice what is missing from that list. We did not replace the work of understanding a client’s business. We did not replace architectural decisions. We did not replace the judgment of whether a feature is the right feature. We did not replace the hard, slow work of debugging production issues with incomplete information. Those are the things our senior engineers do, and AI made them faster at it, not redundant.
The 40% is concentrated in the layer of work that was bounded, repetitive, and reviewable ‚ which is, uncomfortably, exactly the layer that used to be how juniors learned the craft.
03:
How we counted the 40%
I am suspicious of any agency CEO who quotes a clean number on AI productivity without explaining how they measured it, so let me show my work.
How We Measured Development Effort and Delivery
We tracked three things over an eighteen-month window. First, junior-grade hours billed across all active projects ‚ meaning hours logged by engineers with under three years of experience on tasks tagged at junior complexity. Second, the same project categories’ delivered story points, normalized for scope changes. Third, our internal estimation framework’s predicted junior hours for the work that actually shipped.
The 40% number is the gap between predicted junior hours (what the project would have consumed under our 2023 staffing model) and actual junior hours (what it actually consumed). It is not a claim that 40% of junior employees are gone. It is a claim that 40% of the work that used to require a junior pair of hands no longer does.
Where did that work go? A portion of it ‚ maybe 60% of the displaced hours ‚ was absorbed by AI tooling operated by senior engineers. Another portion was reallocated to higher-judgment tasks we had previously cut from scope. A small slice ‚ perhaps 15% ‚ simply disappeared, because the work itself stopped being necessary in a world where the senior could go straight to the implementation.
I am sharing the methodology not because it is bulletproof ‚ it is not ‚ but because every CEO claiming a number like this owes the reader the methodology. Otherwise the numbers are vibes.
04:
What we got wrong
Three things, and they were expensive.
A Lag in Hiring Strategy Adjustment
We were too slow to change how we hire. For the first nine months of the shift, we kept hiring juniors at the same rate, on the same job description, into the same training program. We were optimizing for a workforce we no longer needed, and then quietly underutilizing the juniors we onboarded. That was not fair to them. Several left within a year because the work was not what they had been told it would be. The retention damage was self-inflicted and entirely preventable.
We over-trusted AI output during the early months. There was a quarter where our defect escape rate ticked up ‚ not catastrophically, but enough to matter on two accounts. The pattern was always the same: a senior engineer pushed AI-generated code through review faster than they would have pushed a junior’s commit, because the code looked clean and the tests passed. The bugs were in edge cases the model had not been prompted to consider. We tightened review standards specifically for AI-assisted PRs and the defect rate came back down. The lesson was that AI code needs more skepticism than human code, not less, precisely because it is plausible-looking by default.
We underinvested in retraining the juniors we already had. We treated the AI transition as a tooling rollout and assumed engineers would figure out how to use the new leverage on their own. The seniors mostly did. The juniors mostly did not, because the gap between “prompt Cursor well” and “review your own AI output critically” is enormous, and we had not built the curriculum for it. Six months into the shift, we had a meaningful capability gap inside our own walls that we had created by neglect. We have spent most of the last year closing it.
05:
The hiring question is the hard one
This is the part of the essay I have rewritten the most times, because there is no clean answer.
Hiring Fewer Juniors, Long-Term Tradeoffs
This is the part of the essay I have rewritten the most times, because there is no clean answer.
If 40% of the work juniors used to do is now done by senior engineers with AI tools, the math says we should hire fewer juniors. We have. Our 2026 junior hiring plan is roughly half the size of our 2023 plan, and our mid-level hiring is up.
But that math ignores a question I cannot stop thinking about: where do the seniors of 2030 come from?
Every senior engineer at Ropstam ‚ myself included ‚ became senior by spending years doing the exact work we are no longer assigning to juniors. We wrote the boilerplate. We built the CRUD endpoints. We debugged the silly bugs. We earned our judgment by watching our own bad code break in production and learning what to do differently. If we remove that on-ramp at industry scale, we are eating our own future supply of senior engineers. Every agency that solves its 2026 margin problem by replacing junior hours with AI is creating its 2032 talent problem.
Redesigning the Junior Engineer Role
I do not think the answer is to assign juniors busywork in the name of training. That is condescending and they will leave. I think the answer is one we have not figured out yet at full scale, but here is the direction we are trying.
We are hiring fewer juniors, but the ones we hire are being assigned to higher-judgment work earlier, with a senior pair, on real projects. The junior is not writing the boilerplate ‚ the senior is, with AI. The junior is reviewing the AI output, asking why the model chose that pattern, reading the existing codebase to understand context, sitting in on architectural conversations they would not have been invited to two years ago. The job has compressed. The first three years of an engineering career now look like what the third through fifth years used to look like.
It is harder for the junior. It is harder for the senior, who now has a teaching responsibility on top of an output responsibility. It is more expensive per junior hour than the old model. I think it is the right model and I am not yet sure it is the affordable model. We will know in three years.
06:
What we tell clients
Clients ask, increasingly. Some of them want a discount because they have heard their vendor’s costs are dropping. Some of them want a guarantee that no AI touched their code. Most of them, honestly, just want to understand what is going on.
How AI Is Changing Our Pricing Model
What we tell them is this. Yes, our engineers use AI tooling. No, your code is not autonomously generated ‚ every line is written or reviewed by a named senior engineer whose name is on your contract. Yes, our pricing has changed: we moved off pure time-and-materials for repeatable engagements and toward outcome-based pricing, because billing for hours when the hours are dropping is a model that punishes everyone.
The clients who care most about this are the ones with regulatory or IP sensitivity, and they have a right to ask. The clients who care least are the ones with the most aggressive timelines, because they care more about whether the feature ships on Tuesday than how it got built.
The pricing conversation has been the most interesting one. The agencies that are going to lose the next decade are the ones still billing T&M while AI quietly absorbs the hours they used to charge for. The agencies that win will be the ones who price on outcomes, ship faster than the old hourly model allowed, and keep the margin that AI made possible. That is the actual business model shift, and it is much bigger than any individual productivity number.
07:
The thing nobody is saying out loud
Most agency CEOs I know are seeing some version of the numbers I have described. Almost none of them are saying it publicly. The reasons are obvious ‚ it scares clients, it scares candidates, it invites press scrutiny, and it forces a hard conversation about whether the agency model itself is still the right shape for the work.
Why We’re Saying This Out Loud
I am writing this because the silence is worse. Junior developers in 2026 deserve to know that the job they are training for is not the job their mentors trained for. Clients deserve to know that the cost structure under their fixed bids has changed. Founders considering whether to build a services business deserve to know that the unit economics of the next ten years will not look like the last ten.
The conclusion I keep arriving at is not that AI replaced our juniors. It is that AI compressed the early years of a software career into a shorter, harder, more judgment-heavy stretch, and that the firms ‚ including ours ‚ who figure out how to build a real apprenticeship inside that compressed window will own the next generation of senior engineers. The firms that just bank the cost savings will run out of seniors to bank.
We are eight months into this experiment. I will write a follow-up in twelve more, with the numbers, and I will tell you what we got wrong this time too.
*If you are running or working inside an agency wrestling with the same shift, I would genuinely like to hear what you are seeing. Reply to this post on LinkedIn, or email me directly at wali@ropstam.com. The more of us who compare honest notes, the faster the industry figures out the right answer.*
The one question that matters more than all twenty
If you ask only one question, ask this:
**"If something goes wrong at 2 a.m. on a Saturday, who picks up the phone?"**
Every contract clause, every SLA, every escalation matrix is an attempt to systematize the answer to this question. Most of them fail. What actually works is a small number of people who care enough to answer the phone. At Ropstam, that person is me. My cell number is on every active client’s contract. Most clients never use it. The ones who have, remember. Two of the three largest clients we have today started as a 2 a.m. phone call from a different agency’s former client whose vendor had stopped responding.
You are not buying a methodology when you hire a software partner. You are buying a relationship with a small number of humans who will be on the other end of a phone when something is broken and your weekend is on fire. The other nineteen questions on this list are tools for filtering out the agencies that cannot answer this one honestly. Ask it last. Watch what happens to the room.
