I see. In my experience current LLMs are great for generating boilerplate code for basic UIs but fail at polishing UI and business logic. If it's important you need to rewrite the core logic completely because they may introduce subtle bugs due to misunderstandings or sloppiness.
Yep you are also right, some amount of boilerplate code is perfectly reasonable since some problems are similar but just different enough and unique enough they don't merit designing an architecture that gets rid of the boilerplate. this is probably the most useful thing that AI could do for us. I think I am more worried as a maintainer that we won't see that we are copying all that boilerplate too often and it's subtle bugs are multiplied and now we have to maintain all that code because AI doesn't yet do that.
Cognitive load are not related to the difficulty of a task. It’s about how much mental energy is spent monitoring it. To reduce cognitive load, you either boost confidence or avoid caring. You can’t have confidence in AI output and most people proposing it looks like they’re preaching to not care about quality (because quantity yay).
But quality is going up a lot. Granted, it's not up to human levels yet, but it is going up fast. Also we will see more complex quality control in AI output, tailored to specific use cases and sold at a premium. Right now these don't exist and if they existed it would be too expensive to run 100x requests for the same amount of output. So humans are stuck in quality control, for now.
One of the biggest problems with AI is that it doesn't get better and better. It makes the same mistakes over and over instead of learning like a junior eng would.
AI is like the absolute worst outsourced devs I've ever worked with - enthusiastically saying "yes I can do that" to everything and then delivering absolute garbage that takes me longer to fix/convince them to do right than it would have taken for me to just do it myself.
Current models have no memory, they don't learn. You have to learn for them for now. You have to put the learnings in the instructions and in code comments. If you don't describe WHAT your code SHOULD do and WHY you write it in THAT particular way it will have no idea and the code may just look like bad non-standard code waiting to be "improved".
It works best if you keep close to mainstream styles and if you keep it easy and straight-forward.