My observations suggest that frontier models consistently produce correct, high-quality code for small to medium-sized tasks provided the goals are well-specified and testable. Even when they appear to get distracted, they converge on a solution.
So what that means is that you the software engineer need to be doing what you should have been doing all along: start with systems analysis, stepwise refine that into a program specification, then break that into tasks to give to your programmers to implement. Per PRIDE, the sadly forgotten but comprehensive common-sense information systems methodology, the analysis and specification phases should take up the bulk of the time on a project, with actual programming taking up 15% or less. LLMs can drive that time asymptotically towards zero for human developers. The specification is the deliverable. As a former boss of mine put it, you should be able to delete the entire source code repository and get functionally the exact same software back by running the spec through the LLM.