TLDR;
An AI assistant can be a massive productivity multiplier for you when writing code. Especially when the code you are writing involves things you have written many times before.
And that is an important part of it.
AI can be great to help you speed up with the parts you are familiar with, or parts that are simply boiler plate code.
However things, get tricky when we talk about getting better as a developer.
AI gives you many powerful crutches you can lean on. And those crutches, while very useful can be very efficient in making you dependent on them.
The highest leverage ways to use an AI assistant are:
Here's some things that I believe to be a bad idea:
Here's some good ways to use AI when coding:
In short, when coding, you should use AI to help you speed through the boring parts. However, understanding what is going on and why is still key. And it is not going to change.
Your aim is still to be a good developer. One that knows how to leverage AI to get better and to be more productive.
Whenever you are stuck on a problem, getting some help from an AI assistant is an awesome way to make quick progress. It doesn't come without some catches though.
When you use code you don't understand you cannot precisely tell the implications of that code. You cannot tell in which ways it will break (and it will as with most code) and, more importantly, it will make it harder for you to debug.
So, here's my suggestion. Whenever you get some code from your assistant that you don't immediately understand, do the following:
In the very near future, leveraging AI at work will be a given. What that tells us is not only that it is important to be good at it. It is that:
Using AI is just the start. The developer will have to bring something else to the table - otherwise AI will simply do the job.
In conclusion:
Hit me up if you disagree at @jorgelopesr at Twitter.