Effectively using AI tools is a skill. Much like effectively using Google is a skill. You already saw glimpses of what it can do. I suggest you to keep trying to find out boundaries where it works reliably and where it does not.
I'm using Copilot daily. I don't use it to write code instead of me. But I'm using it to generate lots of obvious code just the same way that I would do. I know when to expect it to do its work perfectly and I know when I need to supervise it. I know when I'd spend more time editing generated code so I'd write that code myself and I know when I'd spend less time editing generated code.
I don't think that AI brings 10x or even 2x to my productivity, so you can avoid using AI. But I certainly can say, that using Copilot makes programming less tenuous in the same way using autocomplete, autoimports and similar IDE stuff makes programming less tenuous.
I also think that whether copilot helps or not depends on type of code that you're writing. If you're very careful about DRY and your language does not have much boilerplate, may be you'd find it less useful. For example when I'm writing Go, every second line is of kind `if err != nil { return fmt.Errorf("Cannot bla: %w", err); }`. The only "intellectual" part here is error message and Copilot generates it 99% perfectly along with surrounding stuff.
I'm using Copilot daily. I don't use it to write code instead of me. But I'm using it to generate lots of obvious code just the same way that I would do. I know when to expect it to do its work perfectly and I know when I need to supervise it. I know when I'd spend more time editing generated code so I'd write that code myself and I know when I'd spend less time editing generated code.
I don't think that AI brings 10x or even 2x to my productivity, so you can avoid using AI. But I certainly can say, that using Copilot makes programming less tenuous in the same way using autocomplete, autoimports and similar IDE stuff makes programming less tenuous.
I also think that whether copilot helps or not depends on type of code that you're writing. If you're very careful about DRY and your language does not have much boilerplate, may be you'd find it less useful. For example when I'm writing Go, every second line is of kind `if err != nil { return fmt.Errorf("Cannot bla: %w", err); }`. The only "intellectual" part here is error message and Copilot generates it 99% perfectly along with surrounding stuff.