I literally just used Cursor to code some new features for an existing app.
The common boilerplate stuff, it nailed.
The complex algorithmic pieces that were specific to the business need: it couldn't get close. I had to code that by hand (which is, of course, what I am accustomed to anyway).
At one point I asked it to do too many things at once, and it ruined the code. I restored from a backup. The high level design, and even the "mid level" design, is all on me, because I must ask it to generate things one small step at a time or it loses its mind. I also have to test each step because it sometimes generated bugs and needed me to describe that for it to fix them. So it didn't save nearly as much time as advertised, because of this.
There were a few times when it absolutely could not fix a bug, despite trying several times, and I had to go in and manually fix it.
I had to break several code files out into separate files because they were too large for it to handle (it damaged them when it tried).
It generated no code comments at all, which was preferred because in prior experience the code comments it generated were humorously worthless. But I had to add comments in to make the reasons behind some of the methods clear.
The method and variable names it chose were commonly true but vague. And the vagueness made it much harder to read the code and understand what it was doing (let alone why it was doing it). I made manual adjustments in key points. There will surely be slowdowns and confusion in the future, though, when people or AI revisit this code and have trouble figuring it out, due to the vague naming.
When asked to refactor existing code, it often left a lot of duplicate code behind on an assumption that this was needed for backwards compatibility. I had to discover this myself and instigate the clean up.
So, my conclusion is that AI is useful for boilerplate tasks but the really important technical work is still on the programmer, including technical design and code clean up to make it maintainable. AI-friendly code projects have more but smaller files, and AI-generated projects are full of vague names everywhere making them hard to interpret, debug, and maintain. And of course you need a programmer who is competent in order to design the system well.
So, the future that I see is one in which programmers who are really competent at producing solutions (optionally using AI) will be hard to come by in an employment market awash with people who just used AI to do their homework, used it again to do entry level work, and therefore lack the technical competence to design well or manually code the bits that the AI cannot.