Here are some reasons why I think this will be the case:
- Codex is an extremely low-effort first attempt but it already works for simple programs. It's capable of generating syntax errors, yet this shouldn't be technically possible if it's language-aware (it should know exactly which tokens are illegal). They literally just trained a language model on source code with no considerations for the domain. This means there is a lot of room for improvement, even without advances in ML.
- Codex is not programming as humans do, it's actually doing something much harder. Most software (for end users at least) is designed to display 2d graphics, text and interactions, yet Codex knows nothing of this entire modality. This means its capabilities should increase massively once these modalities are incorporated. It's clear that OpenAI is already pursuing this direction with CLIP/DALL-E
- Source code is actually not a natural representation of software programs, but an abstraction for humans. A more natural representation of software is the syntax tree in the compiler, or maybe a finite-state-machine. The upcoming graph/equivariant transformers should work a lot better in this domain.
- "Worse is better". It doesn't matter if the AI system is sometimes wrong, as long as it's cheaper. For businesses it's more cost effective to hire a low skilled human who can wrangle Codex 3.0 compared to a skilled human at FAANG salaries.
It's early days for this field. Given the current pace of progress I'm pretty certain that in 10 years almost all repetitive, non-creative programming tasks will be delegated to AI systems (eg. current "CRUD" patterns). The "real" programmers will move up the stack and become more like system architects.