Whilst using AI tools to help me write software, it struck me that these tools in their current form, are only safe in the hands of experienced developers.
There are many examples of expert level tools that are dangerous in the hands of novices, such as power tools in carpentry or advanced surgical instruments. Novices need to earn the right to use those tools and prove they know how to use them safely.
And so it is with the current crop of AI tools which are dangerous in naive hands because they hallucinate, and produce answers that need careful handling and scrutiny.
Programming has some natural protections that other industries don’t. For example, the code produced by AI often doesn’t compile or is just clearly nonsense. But passing the bar exam is a party trick, would you take legal advice from an AI? If you would I have a bridge to sell you, perhaps you can ask the AI to draft the details.
Code compilation isn’t the big issue, AI often produces plausible looking code that does compile and run. The problem is that solutions often have subtle bugs, or worse, push designs in the wrong direction leading to expensive time-wasting and dead ends. Remember, it doesn’t have a big picture … of anything!
It takes experience to see the solutions offered by these tools, find what’s useful, and apply them to a much larger and more complex context in the design and architecture of the system being built.
My advice if you’re starting out in programming is to learn how to program, design and architect solutions, before looking for shortcuts that aren’t there.
Embrace the grind, pay the fee, learn the craft.