by kypro | 2025-04-30 21:19:20+00:00
I was commenting during work hours the other day so I was quickly brain dumping and not considering my words as well as I would like.

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.