Comment by raw_anon_1111
10 hours ago
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
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.
Okay. But that still doesn’t answer the question.
Why should I hire a junior who doesn’t know the what or the how. Instead of hiring a mid level developer who could be an excellent developer who can turn business requirements into code and is more than likely better at certain things than I am since they live and breathe it everyday and can both do the work without supervision and can offer valuable advice and say something that might convince me that I didn’t think things clearly?
Reminding you that the difference above a mid level developer and a “senior”/“senior+” is scope and ambiguity not necessarily technical depth in one area.
What does a junior developer bring to the table that I should use my open req on?
In my experience it just boils down to:
1- You need a ton of internal knowledge so it doesn't really matter what they know past the basics.
2- Testing gets expensive with seniors
3- You can't get mid-senior level employees you like. I see very often companies having really high requirements for hiring leading to the only candidates passing being friends of employees. Juniors pass easier via the 'he's motivated to learn' path.
4- Juniors bring a motivation with them. Seniors tend to generally care less so a couple of energetic juniors can get them moving a bit quicker. Especially if you find a good one, since a senior really doesn't want to get outperformed by a fresh graduate. Also, since they usually suck at politics, it's easier to prod them about why things aren't working than the seniors who've played the blame game for 20 years and have perfected the art of dodging responsibility.
> Why should I hire a junior who doesn’t know the what or the how.
I'm not saying you should. It's the business model that will answer that question. But the traditional wisdom was that juniors are not costly and have few obligations tying them down. And juniors don't stay junior.
And some may know the what and the how, at least technically. What they may lack may be just how to develop their skills further to be useful in a professional settings. It's easy to learn programming languages, tools, libraries and frameworks when you have a lot of free time. And they're not asking to be your protégés, you're just training them to be useful for your team.