Once this starts happening and senior developers in these companies are doing nothing but code reviewing PRs written by AI and fixing bugs in that code, they will leave and the company will have no developers.
This is an excellent question for society to answer, and hopefully for policy-makers to think about. A challenge with capitalism as I see it practices -- is that most for-profit orgs think quarter to quarter about earnings, costs, etc. They are not focused on second order issues arising 5-10yrs later.
We've all seen this play out in our own lives -- with the gutting of American manufacturing...and the resulting discord a generation later.
So yes, given this broadly speaking junior devs are not needed. If someone is a junior dev and can't find a job they'll need to prove they can function at a senior level if they want to be employable going forward. But this is basically the market today anyway.
But these are my predictions – you can disagree and I'm sure I will be out to some degree, but I'd put money on being mostly correct in these claims.
The role will change and individuals will become more productive. These tools are impressive and moving in the right direction to your prediction. But, personally, I think it is naive to think that the need for junior roles will be entirely eliminated in 5 years.
In my opinion there would be no point in getting junior developer to do anything right now in the same way I'm not going to pay a rookie artist or web designer to do anything for me anymore because I'd get better results from AI. Obviously companies which are not productivity and cost optimised might not care/realise they can do this right away (there will always be the odd inefficient hire here and there), but my guess is that 99.9% of these hires make no economical sense and will be so few and far between that the role will effectively be eliminated in place of something else. And this happens often in tech. I used to know "webmasters" who just did HTML/CSS. The web still runs on HTML/CSS, but those jobs no longer exist and people who used to do that work are now doing other things. Again why the hell would I pay someone to write HTML/CSS when there are plenty WYSIWYGs and AI tools which could do a better job, cheaper and quicker?
Please don't take it as me attacking you. I'd actually love to have this conversation with you on my podcast (link in description). I think it'd be a great one!
Let me try to address what you're saying and see if we still disagree.
> I pay them to learn my business, understand the requirements, and plan/build a solution within the scope of my company's means.
So yeah, I do understand that this is what people pay their most senior developers to do. At a certain level you're not just paying someone to write good code, but also to be able to take loose user requirements and plan a technical solution.
Typically in technical teams you'll have three layers of expertise:
- First you have your lead developers & TAs who are responsible for making, documenting and communicating high-level architectural decisions. They'll also work with business/product people to take their requirements and formulate technical solutions with their tech team.
- Below this you have your "senior developers" who are typically going to be experts in their technologies and will know an area of the codebase very well. This allows them to take those high level technical solutions and produce high-quality code which satisfies the requirements without hand-holding.
- Then finally you have your "junior developers" who are generally going to less experienced at software engineering and will have less experience with the technologies they're using. When given clear technical requirements they can produce workable code, but they will typically require some hand-holding from more senior members before their code is production-ready.
My argument is that tools like devin.ai makes this last group redundant today. Once you have the technical requirements devin.ai in almost all cases will be able to produce code equally as good or better than a junior developer.
devin.ai is also quite competitive with senior developers because at lot of what senior developers do isn't that complicated. A senior developer might need to create a new database model and some queries for example, and while they can do that very easily generally speaking devin.ai will be faster and more cost-effective than getting a senior developer to write that code. When it comes to more complicated requirements though devin.ai will struggle today and while it will generally produce 80% of the solution, you'll still need a senior developer to do that last 20%.
I agree with what you said about senior developers, although I would separate this group out further into senior developers and leads. If I was unclear, I don't think you can replace either with AI today and I don't think you'll be able to replace lead developers completely in < 3 years, but I do think senior developers will likely be replaceable in the vast majority of cases in 3-5 years.
I know some companies are still hiring juniors, but I'd argue if you're hiring junior developers today you're just not productivity and cost optimised. At the company I work at we don't have junior developers anymore because they slow us down. We actually tried to bring one in recently to help out with a few bits (more as a favour) and it was a waste of time.
It's not that junior developers are useless, but that in the vast majority of cases it's quicker, cheaper and easier to work with devin.ai than go back and forth with a junior developer.
> Please don't take it as me attacking you. I'd actually love to have this conversation with you on my podcast (link in description). I think it'd be a great one!
It's cool lol. I'm too autistic to care. It good to attack if you feel strongly. I'd love to come on your podcast and would be interested to hear a debate on this, but I struggle with speech so it just wouldn't work.
I'm kinda surprised people are even finding what I'm saying controversial to be honest. I'd be interested if those disagreeing are even using AI in development stacks.
Learn. We pay them to learn.