ChatGPT is quickly becoming my new favorite tool. The level of deep AI it can provide, especially for Application developers, is beyond belief. Here are some of the things I've tried out with ChatGPT:
Tell me a joke
I started out with just playing around and trying out a few things like asking it to tell jokes in certain themes. This one was just hilarious:
I then asked it to create a new plot for a Friends episode:
Finally, I asked him to create a movie plot for Back to the future part 4. I would love for someone to make this!
Let's get geeky
Alright. This is all cute but let's get to business.
First, I asked him to explain Kubernetes, but for different audiences: A 5-years old, an elderly person, and a computer PHD:
This one truly showed me how ChatGPT understands context. This is so impressive to be able to explain a complex subject to different audiences.
Next, I asked ChatGPT to create a lullaby on Horizontal Pod Autoscalers. It did a pretty good job:
Lullabies are cool, but can it rap? Yes it can.
I then wanted to test some assertions I have about best practices. It was detailed enough to get me rethinking some things:
I think the most impressive part was getting responses for very obscure edge cases. For example - what's the recommended way to move a BOSH deployment from a single availability zone to multiple availability zones?
Or even, what exactly gets backed up when using BOSH backup and restore?
Let's get coding
Ok, the interactive conversation is fun, but does this thing know how to code?
Why yes, yes it does.
Here it is creating a simple Spring Boot application that just works, along with a very nice explanation on the implementation:
Here it is providing a working example for RabbitMQ streams:
Putting it all together
Ok. Let's use ChatGPT as my co-pilot assistant when developing a new application.
The application takes orders for T-Shirts, written in React for the frontend and Spring for the backend. Spring writes to a Postgres database. I plan to deploy the application to a Kubernetes cluster using Knative serving, and integrate it with Github OIDC. Can it be done? It can get you 85% there in less then 10 minutes.
Summary
I truly believe ChatGPT is going to change the way we work. It feels a lot like Altavista did in the early 2000s when Google started taking over. It's just leaps and bounds better. I'm sure some teams at Google are planning to come up with good alternatives as we speak.
ChatGPT isn't perfect though. I already found a few examples it provided that were simply wrong. It is still AI, and it is only as good as the data sets it is modeling. If your source data is bad, your answers would be as well.
But these are very early days. It will get better, and possibly very quickly.
Fun times ahead.