Models are the worst now that they ever will be. Frontier models do a phenomenal job of employing good engineering practices and code style compared to where they were mere months ago. Unassisted programming is dead. Programming as a human activity will be on a timescale of years (along with a vast swath of other knowledge work).