A colleague made the analogy that using an AI to assist your code basically means you're moving from a developer to doing code review of a junior developer all the time. But without any of the upsides of doing code review of a junior developer - like helping them improve their understanding of the project, improving their skills, building relationships.
Oh sure, they may be able to spit out "good enough" code when you can tightly contain the specs of what you want them to do, when you have a very good understanding of what you are wanting them to do, and how the solution should look.
But unlike when I work to improve my own skills in a language and codebase, where it's my own skills and knowledge getting better, and in a durable way I can carry from place to place, all I've really "learned" is how to instruct some SaaS tool how to do something at this moment in time. But next month, they might change the model to the point my prompts no longer work. Or they might run out of venture capital and shutter their products entirely. Or the company might decide to stop paying for the product so I can't use it anymore. Or government regulators could shut it down. When I know something, I know something.