My Experience Programming with AI sidekicks

When I started using ChatGPT and Github copilot, there was a familiarity in it. But I couldn’t quite place my finger on it. Some sort of analogy involving AI and human interaction. the Terminator movies or iRobot were the main references I’ve seen on reddit and social media, but that wasn’t quite it. Finally, after utilizing ChatGPT for months, it hit me. These two are KITT and I’m JMon Hasselhoff as Knight Rider!

When I first heard about people using ChatGPT and Github Copilot, I had my doubts as people kept saying how it would be the end of developers. I was skeptical, because there have been various attempts to “replace” developers with some tool or technique, which wound up just creating a situation where you need a developer that knows that tool. After wrestling with my opinion on this, I decided to try out these tools on my own project called “Gidai” (Which is a social media calendar made for sharing events 😉).
We originally outsourced the programming to a freelancer on Upwork for really cheap and he-… erm they (pretty sure he further outsourced the work, but that’s topic for another day) were able to deliver a working app. The code was just sitting in our git repository for months. We had changes we wanted to make before having a soft launch, and this was the perfect situation to try out these 2 new LLM tools
Github Copilot, I’d say is probably my favorite of the 2, just because when I don’t really have any questions, Copilot is like intellisense on steroids. It incorporates code snippets that I guess it’s seen from other code bases its analyzed as well as your own (and it seems more recently, its heavily leaning towards your own code base) to pretty much complete the line or whole code block, based on either your comment above or a pattern its found in your code. But like intellisense, it can be hit or miss. In some cases, you’ll know that the block of code isn’t what you’re trying to type. In other cases, its not as obvious and this can cause issues as you expected the code to do one thing, but its doing another. This isn’t as bothersome to me, because I do the same thing at times. Put the greater than sign instead of a less than? I’ve done it. Subtract A from B instead of B from A? Done that too. Mistakenly put the logic to follow for an “if condition true” in the “else” section? Yup. But this is why we use automated testing, right 😊
ChatGPT is my level 1 help desk agent when I have questions. I’m really bad at closing browser tabs, so when I’m on my google/stackoverflow journey, trying to find the answer to my question, those tabs are still open days after as I’m, for some reason, afraid to lose these answers. So with ChatGPT, I’m able to avoid all these extra browser tabs, though now I do have a bunch of ChatGPT topics in the left pane, lol.
Some of the things I really like using ChatGPT for are:
- Creating grunt code that I don’t want to do by hand (e.g., create a sql statement with columns from a csv, correct these json files, etc.)
- Give it front end code and ask it how to adjust the formatting
- Give it code and ask it to return it with comments
- Create a readme template for this project
- Suggest a folder structure for this project
For the most part, ChatGPT gives me what I need. I’d say the knight Rider analogy applies to ChatGPT more so than Github Copilot, as sometimes Michael will tell KITT something, KITT would come back with an answer and Michael decides “Nah” and goes with his own instincts. ChatGPT can not only give you an answer that makes you decide you probably have a better answer, but it can also just make stuff up. I asked it a question on how to do something for DBT-core, and when it didn’t work, I googled it, and there was nowhere that said what I wanted to do was even possible.
So from time to time, I have to call out ChatGPT when it gives me something that's incorrect (even sometimes just eyeballing the code I can tell its wrong). It responds with an apology, but I don’t care about an apology from an AI, just the right answer.

Overall, I’ve enjoyed programming with these two tools as its made development quicker. Having level 1 support for my questions and going to Stackoverflow/Google when ChatGPT isn’t correct allows me to answer questions quickly. Github copilot acting as a super saiyan intellisense allows me to write code quicker. I don’t know how much better either can get, but so far I’d say its been a positive experience