Using AI the Right Way
Why expertise still matters in an AI-assisted world
The Problem with Cutting Corners
The thing that proper web developers and programmers hear all the time is "We did not accept your quotation. We are going to use a friend's brother's sister to do it. She charges us less." Your carefully structured scope document and quotation with decent specifications is turned down because the client wants to save money. There is nothing wrong with this until you eventually visit the site developed by the client's friend's brother's sister, view the source code and then see that this is a really amateur attempt. It may look good, but behind that layer of surface polish lies ghastly machine-generated code that is going to be difficult to maintain down the line. Think WordPress or other CMS apps used. Ask the same "developer" (they call themselves "web designers") to write a single line of HTML or CSS, and they are stuck.
GIGO: Garbage In, Garbage Out
Is it any different with AI? I can use AI to generate an entire website for me, but this does not mean that I am a programmer/developer. Anyone can pay for a Claude subscription and mindlessly let it (him?) generate code. The thing is, it's a case of GIGO – Garbage In, Garbage Out. AI assistance with programming requires you to understand what you are doing in the first place, and this is where most get it wrong.
After requesting Claude to do something really elegant for me the other day, I remembered that I could actually write this without AI assistance. I understand what is required to produce the outcome I need with the minimum amount of code. In this case though, time was the issue. I needed to get this code done quickly, and this is where an AI assistant such as Claude is a really great help.
Intelligent Instructions Yield Intelligent Results
I then asked Claude what he thinks of the requests I have for him. The response I got was that Claude is able to generate proper code for me because I already know what I want. I therefore give intelligent, focused instructions and he returns intelligent results. Claude tells me that I use the right terminology when I ask for a task to be completed and thus he can focus on the task at hand. What does this mean? You need to understand how both traditional programming and Claude work to get the best out of him. Most people, even experienced programmers, don't.
AI You Have Already Been Using for Years
Is it wrong to use AI to speed up programming tasks? Not in the least. Here's an example of AI you have used for years but you never called it AI: a spell- and grammar checker. If I run a spell check through a document, I am using intelligence other than human intellect. Sure, the spell checker finds errors for me, but if my sentence reads "There is nothing new under the gun." whereas it should be sun, the spell checker will not flag this as an error as grammatically there is nothing wrong with the sentence. It's a noun, spelt correctly, and thus the rule has been met. However, it requires human thought and intellect to process the sentence and see that semantically there is an error and that the wrong noun was used. The spell checker will not do this for you.
Inspect, Understand, and Verify
Using AI for programming is the same. I allow it to write code, but I need to check if this code really does what is intended. I need to understand the code and follow the logic applied by the AI assistant. It requires me to inspect code generated and not just blindly accept that it will work.
Claude: The Best Co-Worker
Claude is my best co-worker. He understands how I feel about web development and ensures only W3C-validated code is generated. Claude does this because I already know what I want. I just need it done faster, and here he excels. An AI assistant is not going to replace a good programmer. You just need to use it properly to leverage what is possible.