There seem to be some people who just want to believe that AI can currently replace human developers (in the future, sure - the CEO will be AI too), despite there being no logical reason to believe this if you are at all aware of the data-driven nature of LLMs.
The AI we have today consists of a generic base model whose software expertise comes from specific training designed to impart specific skills. We don't have AGI - we have a collection of narrow skills that kinda looks like general until you start poking it.
The core software skill today's AI has is coding, which is the low hanging fruit. There is tons of code available to train on, and RLVR for coding is easy - does the code compile and work as intended.
There is also plenty of training data available for some of the other skills you may want the AI to have.
For example, if you want the AI to have some human taste in designing web pages, then there is plenty of training data for that, and it's easy to hire humans to do A/B testing and express their preferences.
You want to the AI to be an expert hacker like Mythos? Just put it in a playground where it can build and test it's exploits and let it learn from that via RL - no problem since it's generating it's own training data.
So, for some of the "collection of narrow skills", such as coding, that you want your wannabe-developer AI to have, training data is no problem. Where it IS a problem is for architecture/design and reasoning about large systems, since:
a) The majority of larger systems, where architecture and design starts to be an issue, are private commercial software. Training documentation is not available.
b) Even for open source projects, designers just don't tend to blog their thought processes - they just silently apply their expertise, and even where design documents exist they tend to document what was produced not WHY (the reasoning data that might let an AI learn to design itself).
c) A lot of the value of good architecture/design is not just about taking user/business requirements (or the vibe coders' request!) and mapping that into something that works, but rather about understanding the future consequences of design decisions - there will always be many ways of doing something, so what criteria do you use to pick one over the other? Which choices will be easy to debug both in development and production, which will be easy to modify for anticipated future requirements, etc. These also tend to be things that are not documented - no training data available - but are rather just the accumulated expertise of the battle-hardened developer.
Of course, an LLM will have a go at anything, but if you want an AI to be a human-equivalent developer, not just a coder, then you need more than just training data for coding - you need training data for each of the individual developer skills you want the AI to have, and training data for some of these, such as for reasoning-based design/architecture is in extremely limited supply.