Yeah works well, as long as the code is rather simple and it occurred rather often in the training set. But I seldom use it currently (got a little bit more complex stuff going on). It's good though to find new stuff (as it often introduces a new library I haven't known yet). But actual code... I'm writing myself (tried it often, and the quality just isn't there... and I think it even got worse over the last couple of months as also studies suggest)
I've found it great for asking documentation questions. It saves me a ton of time having to search through documentation myself. The problem is when it encounters something it doesn't have information on, it'll just confidently make shit up, and if you're not enough of an expert to recognize when that happens, you can be mislead. It still saves me time, but I use it as a recall tool to get me started when I'm learning to do something new, I'd never use the code it puts out without reading through it line by line. I'm also experienced enough to know when it's wrong and how to refactor its examples. People new to programming could get set down the wrong path by over relying on gpt to teach them.
I've gotten really good results asking chat gpt for programming help. Problem is that it's wrong like 10% of the time, and when it's wrong it's very confidently incorrect. That wasn't a problem for me because I knew when it was wrong and could course correct it and get the correct solution and it still saved me time and helped me eventually get to the right solution. But if someone who's still getting started is trying to use chat gpt to learn, they could easily be mislead because they won't know when its output is wrong.
Definitely depends on the type of question. I find for documentation type questions I get the 90% good answers, like how do I do something with this library, it's good, which makes sense because that libraries documentation is probably in the training data. But for more open ended questions, like how do I solve this problem, I see similar performance to what you're saying. I think it's a good retrieval and synthesises tool which can really save a ton of time if you already have a high level plan of action and just use it to fill in some specific details.