Being an old-school programmer, I was hesitant to start using A.I. But I realized that I would be falling behind if I didn’t. So, I jumped in and started with ZenCoder, which integrates into Visual Studio Code. I’m also in the process of moving all of our product engineering to open-source software. I’ve migrated code from Keil uVision, as well as from vendor-provided development environments such as Code Composer Studio and STM32Cube.
Of course, A.I. makes mistakes—including simple math errors. Am I worried about A.I. replacing me? No. It’s not there yet. Having a solid understanding of the code allows me to catch mistakes and prevent A.I. from going down the wrong path. The key is to be as specific as possible with your requests. When A.I. fills in the gaps of an ambiguous prompt, it sometimes gets creative—in ways that aren’t always helpful.
A.I. Issues:
Some of the mistakes I’ve seen while using it:
- A.I. forgets previous work. I’ve spent time crafting subroutines with A.I. to function a very specific way, only to have A.I. completely rewrite them when working on other parts of the project.
- I asked A.I. to create a simple bit-shift cipher, and it got the math wrong. Yes—A.I. did math wrong! Once I pointed it out, it corrected itself.
- A.I. is not human, and I sometimes forget that. This is important because it doesn’t actually know your intent with the code.
- Not code-related, but I even had A.I. tell me that a circuit I had already built and tested wouldn’t work. I only wanted it to double-check, but it flat-out said it wasn’t possible—even though it was already running in my project.
Someone else in the product engineering industry asked me what I think of A.I. My response was: we used to go to a “library” called Google and search for a book. Now, with A.I., it’s like having a librarian who not only helps you find what to look for, but also reads it and explains it to you.
It’s the future—and for me, it’s become a powerful tool and assistant.