The Proper Use of AI Coding Tools

I was browsing through some project postings on Upwork when I saw one which stated, “The use of AI coding tools in the work product will not be accepted.” I suppose that this client would prefer that all work take two times longer than it could. A coder should not reinvent the wheel; they should first research what they are trying to do to see if there are any solutions already published. However, using a published solution without completely understanding it is NOT recommended. Searching for published solutions on platforms like Stack Overflow is just another tool in a good coder’s toolbox. An AI coding tool is also just a tool in the toolbox, and it should be used responsibly.

I remember coding before resources like this were available. We had to reinvent the wheel all the time. No one would suggest using a large wrench as a hammer just because it can be made to work; it simply isn’t the best tool for the job. With the advent of AI, there are better tools for researching coding solutions. However, using a researched solution without fully understanding it is a big mistake, and that includes code available through AI coding tools. It’s a great way to introduce code that might appear to work but has unintended side effects or bugs that the coder is unaware of. A coder should have the same level of understanding as if the code was written from scratch.

Coders should definitely not use AI-generated code that is complex and hard to understand. Doing so creates problems when making future changes and bug fixes. I have fed ChatGPT code written solely by a human and received a simpler and easier to understand version with half the lines of code, achieving the same goal. While I feel sure this won’t always happen, it’s a welcome result. The number of coding problems is directly proportional to the number of lines of code.