TLDR;

  • You must use some form of AI assistance while coding. It will vastly increase your productivity.
  • The catch is that you MUST spend the time to understand and vet all that is being suggested to you.
  • Never blindly accept and use code coming from the ai.
  • Be very wary of using library suggestions from AI.
  • You still must do the hard things.
  • Understand the code.

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:

  • To perform things you know well how to do (increase your efficiency)
  • To augment your knowledge around things you don't know yet.

Here's some things that I believe to be a bad idea:

  • Ask your assistant to summarise a piece of code BEFORE you even try to understand it yourself.
  • Ask your AI to come up with a piece of code to solve a challenge you haven't even tried yet.

Here's some good ways to use AI when coding:

  • Explain to architectural concepts in use.
  • Take a piece of code that you know how and why it works and ask AI what are other ways to solve the same situation.

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:

  • The developer who intelligently uses AI to AUGMENT his knowledge and productivity will become more and more valuable.
  • The developer who lazily uses AI instead of doing the hard work, will become a commodity to be replaced by AI.

Hit me up if you disagree at @jorgelopesr at Twitter.