I expect programmers' jobs will only be to write tests. If a bug is found another test is written and the AI will generate new code until the new test passes.
Programming is ironically one of the worst use cases of AI, because often predictable failure is better than unexpected success.
"Fix the null pointer exception" is less expensive (time, money and mental energy) than "figure out why the code spits out garbage even though the test cases pass".