TLDR;

You should use AI when coding

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.

Understand your code when using the suggestion

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:

  1. Ask for a breakdown
  2. Understand each part of it (or ask follow up questions until you do)
  3. Test if it works
  4. See if the code matches the code style and naming of your codebase
  5. Clarify any aspects you still don't grok by asking follow up questions.

Be wary of library suggestions from AI

Do the hard things

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.