Now ask a junior dev to design a concurrency implementation. To know the complete in my case AWS SDK and write a script in 3 minutes.

https://docs.aws.amazon.com/boto3/latest/

Or do the same for IAC - same surface area - and use Terraform on one project, CloudFormation on another, and the CDK on a third and to generate code for you when you give them the correct architecture. It took me a day to do that before AI depending on the architectural complexity and I know AWS well (trust me on this). How long would it take me to delegate that to a junior dev? It took ChatGPT 2 minutes before I started using Claude just by my pasting a well labeled architecture diagram and explaining the goal.

It took me about 8 hours total to vibe code an internal web tool with a lot of features that if I had estimated before AI, I would have said a mid level developer would have taken two weeks at least. It wasn’t complex - just a CRUD app with Cognito authentication. How long would it have taken a junior developer?

Design a concurrency implementation? I sure hope they would spend more than 3 minutes on it! Concurrency lends itself to subtle bugs even when experts write it.

I'd gladly take a junior dev to do any of that work there, because they can think for themself and not hang onto any bias you unknowingly build into the prompt like it's a religion.

I can absolutely guarantee you that a junior dev or even a senior dev could do complicated IAC as fast as AI. It isn’t that knowing the architecture is the problem, it’s just very tedious. You have to look up all of the properties involved for each service and each property of each resource. I trust AI to know proper AWS architecture from being trained on the total corpus of the internet more than a junior dev.

The one reason I can't care about these kind of arguments is that you're describing the solution, not the problem. Based on my career (maybe shorter than yours), usually you put juniors on projects of low complexity and low impact while you play the mentor role. It's not about them being a productive worker or a menial helper, it's for them to train using practical projects. Your problems don't look like suitable projects unless you want them to train them in copy-pasta from the Internet.

First let’s define roles. I am not just pulling them out of thin air.

https://www.levels.fyi/blog/swe-level-framework.html

Junior - everything is spelled out in excruciating detail, the what and the how. They are going to be slow, not know best practices, constantly bug other developers and you srs going to have to correct them a lot.

Mid level developer - little ambiguity on the business case or their role in it. They are really good coders in their domain. They have the experience to turn well defined business requirements into code. You don’t have to explain the “how” to them just the what. They should have the ability to break an assigned “epic” based on the business requirements to well defined stories and be a single responsible individual for that Epic maybe working with juniors depending on the deliverable or other mid level developers.

A senior developer works at a higher level of ambiguity and a larger scope, the business may know they want something. But neither the business or technical requirements are well defined. Think of a team lead.

Senior+ - more involved with strategy.

If I have to define everything in great detail anyway, why not just use AI? It can do it faster, cheaper, more correct and the iteration is faster. I would go as far as saying in my recent coding agent experience, a coding agent is realistically 100x faster than a junior developer since you have to give both of them well defined tasks.

My experience with Claude code and codex recently is that even the difference between a mid level developer and a coding agent is taste when it comes to user facing development, knowing funky action at a distance, and knowing the business, with a mid level developer you can assume shared context and history with an ability to learn.

So again, why do I need to hire a junior developer in the age of AI?

From the article

  As an Entry Level Engineer, you’ll be expected to develop and maintain lower complexity components under the guidance and tutelage of more experienced team members.
That does not really contradict my point.

> If I have to define everything in great detail anyway, why not just use AI?

You don't have to define everything. And to do so is detrimental to their growth. If you're their mentor, you're supposed to give them problems, not recipes. And guidance may be as little as an hint or pointing them to some resource, not giving them the solution outright. The goal is not to get a problem solved (that's just a nice-to have), the goal is to nuture a future colleague.