I have, and it does a mediocre to poor job, even at trivial tasks using popular stacks and languages. IME, one most either start with a green field, or babysit every step with/as an expert, or both. Perhaps I've just been unlucky or my projects have too much debt.
I agree with the other reply. This is a tool like any other and it takes skill and practice to use it effectively. I'm learning how best to create and persist architectural guidance.
For example giving it a meta process to follow before making an edit. I've also had the models keep a document of architecture and architecture decisions.
I’ve used it greenfield and with existing indebted codebases and it’s remarkably good at both. You have to give it a good amount of context but that goes for a human worker too. I think devs who get bad results from AI generally prefer to be the ones coding and not managing and maybe take their own context for granted.
Most of my time spent coding is understanding and growing my context. By the time I’ve done that, writing the code is an afterthought. It takes longer to communicate this via prompt than to write the code myself.
I’ve heavily benefited from AI when I’m inexperienced or willing to trust the AI. The devs I’ve seen happy with AI either fit that use case or are subpar devs who don’t really understand what they’re doing. I have multiple coworkers who are the latter - code works for their single happy path and they’re on to the next thing.
You need to start with a green field as the LLM makes lots of assumptions about your code base, based on what it learned before. Doing it green field means less resistance from the LLM.
I think, based on that, Rust will be the most popular and powerful language by next year. Of course, I might be completely wrong.