Programming with AI: Raising and Lowering the Bar
As I program more with Generative Artificial Intelligence, I’ll use AI as short in this article, I find two things happening:
- it’s easier to program when using an AI - lowering the bar
- it’s harder to program when using an AI - raising the bar
Yes, lowering and raising the bar at the same time.
How?!
It depends on you!
The areas I notice AI lowering the bar for programming are areas that I am strong in already. Coding in languages and frameworks I know well, the AI is such an accelerator - because I have a strong vision of what I want and I can get this from the AI.
Database Relationships
One example: I am a Ruby on Rails developer and know the web stack. Getting AI to generate boiler plate code for a database relationship between different objects would take me about a day without AI. Mapping the data once in the Ruby on Rails framework, once again the database, and testing out queries. I tread carefully because I don’t want to mess up, rollback changes, and start the process again.
With AI, I just specify the relationships between the objects, and the AI takes care of it all. I review and go with it. When I want to change the relationships, I tell AI the current situation, have it generate the migration to what I really want, and move on.
In this context, working with the AI is a world of difference.
Times where I feel AI makes programming harder is when I am out of my comfort zone, where I know little about how the language or framework works - I rely on the AI to do the right thing and I don’t have a backup.
LaTEX Résumé
Example where AI made things harder: creating a LaTEX version of my résumé - something that was on my bucket list forever. (I mean, who doesn’t want their résumé to look like a gorgeous math textbook?!)
Here, I did not even know how to generate a viewable file from the LaTEX source the AI gave me. I had to search for LaTEX to PDF tools like it was 2010s. When I found them, the tool spit out errors and the AI helped even less with the message.
Eventually, I figured out the AI LaTEX code escaped special characters incorrectly and when I fixed that - my résumé looks gorgeous!
In this context, the AI helped a lot, at the same time, frustrated me because I had no other source of help when I got in trouble.
Conclusion
Given these contrasting experiences, I see tremendous benefits of AI for coding - when you know what you’re doing!
As a new programmer or someone less versed in the programming arts, AI may be a great hinderance - like worse than getting code that “conceptually correct; practically useless”.