As a programmer, I am always on the lookout for ways to improve my workflow. In recent years, artificial intelligence (AI) has become an increasingly popular tool in the tech world, and I have found myself using it more and more frequently to help me when developing new projects.
AI is a broad term that covers many different technologies, including machine learning (Large language models / LLM) and natural language processing (NLP). To keep things simple I will refer to the technology as AI, because that’s a fun buzzword that makes me seem cool.
Why I Like AI
The biggest factor in my use of AI is saving time. I was intrigued by the idea of using AI to code things for me, but I’ve ended up using it for all sorts. Time is a precious commodity, and anything that helps me work faster without sacrificing quality is a huge asset. Additionally, many AI tools can take care of tedious tasks or provide suggestions that are beyond what I would be able to come up with on my own.
When starting a new project, I really enjoy coming up with the ideas and planning how the product will work - but creating the thing can be intimidating. Having a blank page and not knowing where to begin can stop things in their tracks.
With WordPress I got around this by making a starter theme that I used at the start of every project. But these days I find myself increasingly using ChatGPT and the OpenAI API.
ChatGPT is an AI-powered chatbot developed by OpenAI that can generate human-like responses based on prompts given by users. I’ve found this tool incredibly helpful when it comes to programming because it can provide me with starting points for apps or websites.
While ChatGPT doesn’t create entire applications for me, it does generate enough code for me to work from. This saves me valuable time and allows me to focus on other aspects of development.
Another AI tool that has improved my programming is GitHub Copilot. This tool was developed in collaboration between Microsoft and OpenAI as an AI-powered coding assistant that can provide suggestions based on what you’re typing in real-time.
I first tested this tool a couple of years ago when it was still in its early stages but didn’t find it that useful. However, I recently signed up again and have been blown away by how much it’s improved. It feels like GitHub Copilot is reading my mind and regularly offers suggestions that are usable.
OpenAI API for Content and Code
In addition to ChatGPT and GitHub Copilot, I also use the OpenAI API to generate content for my websites. This works in the same way as ChatGPT, but instead of asking for code I tell it what I want to say and it generates the text for me.
Of course I still have to edit the text to make sure it’s accurate, but it saves me a lot of time and effort, and gets me past the “blank page” issue I mentioned above.
I’ve also found that the OpenAI API is great for generating lists of words or phrases that I can use in my projects. For example, I recently used ChatGPT to help me create a word search creation app. The AI-generated starting point provided the foundation for the app, which I then built finished myself. I also used the OpenAI API to generate lists of words to generate the puzzles. This saved me hours of time since I was able to create hundreds of puzzles very quickly.
When developing, I also use ChatGPT as a rubber duck debugging tool. Rubber duck debugging involves explaining your problem out loud or in writing as if you were talking to a rubber duck. By doing this, many programmers find that they are able to identify the issue on their own without needing assistance from others.
ChatGPT works similarly: when I’m stuck on a problem or error message, typing out my thoughts as if explaining them to someone else often helps me see where the issue lies.
I also find ChatGPT is useful when I get error messages for things I don’t understand I can give the error to ChatGPT and it will often provide me with a solution - much quicker than Google or Stackoverflow.
While AI may not be perfect, it has certainly become an invaluable tool in my programming process. By using these various AI-powered tools like ChatGPT and GitHub Copilot along with the OpenAI API’s NLP tools and machine learning models, I am able to work faster and more efficiently while still maintaining a high level of quality.
I do still have to check code and content but using these tools has saved hours and made me massively more productive. Of course, I always check the code generated by AI tools and make sure it meets my standards. However, even with that extra step, using AI has saved me countless hours and headaches. I’m excited to see how AI will continue to improve and what other ways it can help me in my programming needs.
I wrote the first draft of this blog post with the API, by telling it the key points I wanted to cover. I have now spent about 15 minutes editing the text and filling in the gaps, but I am not a quick writer and feel it has saved me a good hour or so - whilst making something better than I could have made on my own.