What is AI and how am I using it every day as a developer?
Note: Throughout this article, I will refer to ChatGPT, Bing, Bard, or Phind. When using a specific tool, I will reference it by name. I will also refer to any of these AI tools as “AI tool” throughout the article when making references to general use of any of these tools (likely more than one).
You might have heard of a little thing called ChatGPT by now. The AI web app has taken the world by storm, amassing a user base of 1 million faster than any other application before it. It also kicked off the AI arms race resulting in the fact that we cannot go a single day without hearing about the latest in AI! According to statista, https://www.statista.com/chart/29174/time-to-one-million-users, ChatGPT reached the one million mark in only 5 days, destroying Instagram’s record of 2.5 months!!
Funny story, Meta’s Threads actually leaped over ChatGPT by reaching the million users mark within hours of launching.
What is AI
So what is AI?
AI (Artificial Intelligence) at the end of the day uses data (an ass load of data) to determine how to answer a question for you or predict what your next steps are going to be. For example, if you ask any of the AI tools a question, it takes your question and compares it to similar questions that have been asked throughout the history of the Internet (data depending on the company collecting that data) and provides an answer based on a set of answers to those similar questions, likely looks at ratings to those answers if they are available as well as the frequency of those answers to those questions. This is 100% a simplification of what is going on behind the scenes (so much so that I don’t think I could fully understand everything behind the scenes), but this is how I have come to understand it based on my knowledge of machine learning and its connection to artificial intelligence. If you truly understand this well, I would love to hear from you!
Companies like Microsoft and Google have so much data on people that it makes creating these AI models feasible. Over the past several decades, these organizations have collected data and have trained these AI tools from all the data they have collected. So all your Google searches have likely contributed in some extremely small way to the AI revolution.
How I Use AI
There are many different AI tools being created recently for use by anyone, ChatGPT, Google Bard, Microsoft Bing, GitHub Copilot, etc. Throughout the past couple of months I have played around with many of them in order to better understand what they could be used for in certain situations and use cases. I am certainly no expert on AI, nor am I the biggest user of AI tools. Having said that, I want to tell you how I am using AI as a software developer. While I am approaching this topic from the perspective of someone developing software every day, there are many other use cases in which AI could be helpful. For example, a friend of mine is using ChatGPT to build macros for excel. He is an accountant, not a software developer, but he is still getting value from the use of ChatGPT. I have also not had the pleasure of using GitHub Copilot as of this writing, but I have heard great things about it.
Thus far, my primary use case for AI tools has been learning. A couple of recent examples:
Starting a new java project and needing to quickly learn how to build an http server in Java. ChatGPT was very quick to build me some code and then explain what was happening line by line.
I was having a tough time understanding Redux for my react app, but I was able to pick it up after asking ChatGPT to explain it to me. Not only could ChatGPT explain it to me, but I could ask follow up questions, or even ask it to explain it in a different way, “explain the redux store as if I were new to front end software development.”
Looking to better understand the approaches to state management in Svelte.
Suggestions on Using AI
Just a couple of thoughts and recommendations for those that are looking to use AI or want to start looking into what it could offer:
Be very careful on what you share with these AI tools. Many of these AI tools are free, which means the companies behind them are making money somewhere else. Very often, if you are not directly purchasing a product or service, your personal information is the product that companies are selling to other companies for advertising purposes. It is very easy for these companies to mine the data you are feeding their tools and use that data to create a special profile just for you. The AI tools are also using this data to continually update their AI models so that they continue to evolve. This is nothing new, Google and Facebook have been doing this for years, but just something to be aware of when working with these AI tools. Do not share any confidential information and use your best judgement on what you want these companies to know about you.
Make sure you are very clear and direct about what you want the AI tool to do for you. These tools are very literal and need clear instructions when being asked questions. This is a skill all in it of itself, because you can learn the best way to ask questions to get the insights you are looking for.
Just try it. I know it can seem strange and difficult to some people, but these AI tools are not going anywhere and the earlier you can learn to utilize them, the better off you will be.
Think of AI as a possible aggregator and consolidation of information. You can use an AI tool to help do research for a possible trip or what are some pros and cons of a specific programming language.
Always double check the work of AI! It is not perfect, so take a look at some other resources along the way. Sometimes, the AI tool will provide website references to an answer, use them. Just like you shouldn’t believe everything you read on the internet, you should also not believe everything you hear from an AI.
Conclusion
At the end of the day, AI is not going to be going away any time soon and it is just going to keep getting better. It likely is not coming for our jobs yet, but I think everyone should be learning how to use it in their space because it is going to be integrated into our lives more and more moving forward.