AI isn’t replacing programmers. It’s replacing the junior ticket queue

Greg Nakamura

Greg Nakamura

August 27, 2026

AI isn’t replacing programmers. It’s replacing the junior ticket queue

I used to make a living filling junior reqs. The pitch to the hiring manager was always the same: you have a pile of tickets that are real work and bad use of a senior, and you have a person who needs those tickets to learn the system. The pile was the curriculum. The salary was the tuition the company paid, badly, in exchange for a cheaper year-two engineer.

That pile is what got automated. Not “the programmer.” The queue. The “add the field,” the “write the test for the case we listed,” the “update the copy,” the “scaffold the endpoint like the last one.” I can watch an agent clear a morning of that work before standup. I cannot watch it become a person who knows why the last one looked like that.

This is not a eulogy for juniors. It is a staffing note. If you hire as if the queue still exists, you will be confused. If you train as if the queue still exists, you will be unemployed longer than you expected. If you manage as if the queue still exists, you will wonder why your seniors are drowning in review and your pipeline of mid-levels is empty.

What the queue was actually for

Managers told themselves the junior tickets were capacity. Sometimes they were. Mostly they were a story we told about ramps. A new hire who could not yet be trusted with the payment path could still ship a settings page. They would sit in code review. They would break staging in a small way. They would learn the deploy, the house style, the person who knows the cron. In twelve months they were someone you could put on a real incident with a chaperone.

I advised bootcamps that sold this story as a placement machine. It worked when the queue was long and the managers were desperate. It is a worse machine now, because the desperate managers use an agent for the settings page and keep the chaperone for the incident. The incident still needs a person. The settings page does not need a salary.

The queue was also how we hid teaching. Seniors did not have to “mentor.” They reviewed a small PR and left two comments. That was the pedagogy. It was incomplete and it was real. Take away the small PR and you have not made seniors more efficient. You have taken away the only teaching many of them were willing to do, and you have not replaced it with a program. You have replaced it with nothing, plus a model that does not need a career.

Senior and junior engineers pairing at one laptop

What replaced the tickets, and what did not

The replacement is ugly and specific. A well-specified ticket with an example in the repo is now a prompt. I have written about which programming tasks are already cheap to draft; the junior queue was almost entirely those tasks. That is why the headcount math looks so clean in a slide: delete the work that was already a pattern, keep the people who do incidents and refusals.

The slide leaves out the part where the people who do incidents used to be the people who did the pattern work two years earlier. You cannot delete a rung and keep the ladder. You can pretend the mid-levels will appear from another company. In a freeze, those other companies are doing the same subtraction.

What did not get replaced is the first time a person has to explain a system they do not own yet. That conversation still takes a senior and a block of calendar. It never lived in Jira. We just used Jira as an excuse to have it. Without the ticket, the conversation needs a name: pairing, an apprenticeship, a rotation through on-call as a shadow, a doc that a junior is paid to write badly and a senior is paid to make true. If you do not name it, it will not happen. Seniors will review agent diffs instead. That feels like work. It is not a pipeline.

How juniors still get in

I do not buy “there are no junior jobs.” I buy “there are no junior jobs that look like 2021.” The seats I still see have a different shape.

They sit next to a messy system, not a greenfield. Someone has to be in the room while the agent drafts, to say “we tried that, it races.” That someone can be new if they are curious and loud. Curiosity is the filter now. A quiet junior who waited for tickets will wait a long time.

They own a slice that is small and real: a vendor integration, a test suite that is a product, a docs site that is not a README, an internal tool the agent keeps breaking because the agent does not use it. Ownership is the new ticket. It is harder to hand out. It is also harder to fake in an interview, which is a gift if you actually did it.

They come with proof that is not a course. I have said this in other pieces and I will keep saying it: a certificate is not a queue. A finished, ugly artifact that matches the work you want is closer. If the only thing you can show is that you can prompt an agent to do the old junior tickets, you are demonstrating the replacement, not the role.

Referrals still matter more than the career page. A senior who will say “I will sit with this person two hours a week” can still open a req that finance would not open for a stranger. That is not fair. It is the market I watch. If you do not have that senior, find a smaller company that still believes in ramps because they cannot buy mid-levels either.

What I would tell a hiring manager

Stop posting “junior, 0–2 years, must be autonomous, must know our stack, must have shipped production.” That person is a mid-level you do not want to pay. If you want a junior, you are buying teaching time. Write it down. Put hours on a senior’s plan. If you cannot afford the hours, you cannot afford the junior. An agent is not the hours. An agent is why you thought you did not need them.

Stop using intern season as unpaid ticket labor. The tickets are gone. If the intern is not going to pair on something that can fail, you are running a branding exercise. The intern knows. They have ChatGPT too.

Do start a rotation that looks like the old queue on purpose: a week of shadowing on-call, a week of owning the flaky tests, a week of writing the current-state doc for a service the team is afraid of. Grade the questions, not the diffs. The diffs are cheap. The questions are the job you are trying to grow.

And be honest in the interview. If the role is “review what the agent did and learn by watching,” say that. Some people will take it. Do not call it a full-stack position with growth. Growth without a pile of safe failures is a slogan.

Office kanban board with many tickets in the done column

What I would tell someone trying to be the junior

Do not spend a year becoming a better prompt for the queue that disappeared. Spend it becoming someone a senior will share a calendar with. That means: pick a system, ship something finished, write down what broke, and be able to talk about a caller that was not in the happy path. It means asking for pairing instead of asking for tickets. Tickets are how we used to hide the ask. The ask is still the point.

If you are in a bootcamp that still sells the old pile, demand to see graduates who were hired this year for work that is not “we had leftover tickets.” If they cannot, you are buying a 2021 product. I watched programs close when they could not make that number. The ones that remain will rebrand. Rebrands are not ramps.

If you already have a job and the tickets dried up, that is a signal, not a vacation. Volunteer for the leftover that is still human: the incident shadow, the customer-repro, the migration that needs a person to say when to abort. Those are the hours that still turn into a mid-level. Reviewing agent output all day will make you fluent in diffs and thin on scars. Scars are what the next loop is buying.

The industry wanted cheaper capacity. It bought a thinner bench

I am not going to dress this up. A lot of companies got exactly what they asked for: fewer people doing the pattern work. The bill arrives later, when the seniors leave and there is nobody who once added the field and then, two years later, knew why the field was a mistake. You cannot prompt your way into that memory. You have to have been in the room.

AI did not replace programmers. It replaced the excuse we used to grow them. If you want programmers in 2028, you have to grow them on purpose now, without the queue. That is more expensive than a junior salary. It is also the only version of the ladder I still believe.

If you are a senior, put two hours a week on a name, not on a tool. If you are a manager, fund those hours or admit you are not hiring juniors. If you are trying to become one, stop waiting for the pile. The pile was never the point. It was just the only story we had that finance would sign.

More articles for you