Red Green Repeat Adventures of a Spec Driven Junkie

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”.

Related Articles