In my experience, it's a mixed bag. I wrote this comment[0], yesterday. It reflects my current work, and how I am integrating an LLM.
I have used it for two parts of my project:
1) The backend (PHP), and
2) The frontend (Swift)
It has been a huge help, in both, but #2 is a cautionary tale. It really needs adult supervision, in developing native UIKit Swift apps. I'm realizing how truly bad the code it wrote was. I mean, terrible.
That's jarring, because it did a great job with #1. It made sound, reasonable design decisions, and provided code that is better than what I would write.
With #2, it behaved exactly like an inexperienced engineer, panicking, when confronted with real-world problems. My rewrite is going to feature a much simpler, sound approach.
All that said, it has been a net positive, and has increased my productivity by a large margin.
I guess the lesson I needed to get from this, is that it is good at helping me to find problems, but maybe not so good at fixing them.