ChatGPT is changing the world. And software development is no exception. What does it mean for coders like us? Let's take a look.
As a software development company with a firm eye on the future, we’re always looking for innovative ways to improve our products and services. And one technology that has recently caught our attention to this end is ChatGPT.
ChatGPT (and generative AI technologies like it) have only been around for a couple of years but they’re already having a huge impact, both on our collective consciousness and economically. The generative AI market was worth over 5.8 billion GBP in 2021, and it's projected to occupy more than 91.6 billion GBP by 2023 — that’s quite a jump.
We know that ChatGPT — and other future generative AIs — will transform the way code is written and disrupt the software development industry as a whole.
With a technology so new, it’s impossible to guess exactly what kind of impact it’ll have. Are we scared? No. But we are excited. The possibilities are almost endless, but some stand out. So let’s jump in and take a look.
One of the biggest areas of transformation we see with ChatGPT is that it will increase efficiency in software development by automating some processes.
For example, we could use the model to generate code from natural language descriptions of requirements, or to automatically write entire programs. We could ask it to check for bugs, or we could ask it to check for edge cases.
We could even ask it to assess the features of multiple coding tools and choose the best one for the job.
The fact ChatGPT can do all of these things alone is quite astonishing considering how much like science fiction this would have seemed just a few years ago.
However, we also recognize that there are limitations to using ChatGPT in software development.
The fundamental issue (at least currently) for people using ChatGPT and similar models today is that these generative AIs may not always generate perfect code and may create bugs or errors (even when asked to debug). It’s important to remember that although this is being called “AI”, it’s not actually a general intelligence. It’s just picking the next word in a sentence based on a huge amount of contextual data. It’s the most likely next word, but it’s not necessarily right (although it will pretty much always make sense from a natural language perspective).
Alongside that is the fact that currently ChatGPT is only trained on data up until 2021 — although this is likely to change soon, so if you’re looking to work with a technology from last year, you might be out of luck.
Does all of this mean that ChatGPT is of no use? Not at all. But what it does mean is that it’s imperative that an expert reviews and refines any code generated by ChatGPT to ensure that it actually works and that it’s as good as it can be.
Even with these limitations however, we still have a powerful tool to help us make the process of software development more efficient. Just like when Google replaced books as a source of answers to technical questions for developers, tools like ChatGPT are likely to become common tools in a developers toolbox — just a bit more advanced.
And then there’s design.
What’s missing from this discussion is the importance of design to the software development process.
We put great emphasis on design for a reason — it can make or break a project. By getting the UX and UI right at the beginning, and by using design thinking to really understand the needs of the client and the user, we ensure that our projects succeed.
And that’s not something that tools like ChatGPT can help with.
At least not yet.
Nevertheless, by embracing these technologies and adapting our workflows to incorporate them — alongside continuing to innovate in the design space — we know that we can continue to deliver innovative, high-quality software products and services to our clients.
Want to talk about a software project or about how ChatGPT could help your business? Get in touch.
Want some more insight into ChatGPT? We asked our CEO for his thoughts, and here they are...
Thoughts from our CEO, Steve O’Brien
The key with coding is that currently it can only give you very specific functions, it can’t (yet) read the entire code base, or memorise it and write the whole system. Overall system design and information flow (two very fundamental parts of software development) are still out of reach for tools like ChatGPT.
For writing code it is very helpful, like having your coder friend constantly logged in to bounce code ideas off. If anything though, it needs to be more succinct and stop the endless chit chat!
One of the hardest things to do as a new coder is vet truth from noise or identify just plain wrong information.
The other very challenging thing for a new coder currently is the limitations of Google keyword search: you need to know the buzzwords for the coding paradigm or language or problem you are solving.
If you know the language, acronyms and more information around the problem, you can pop more keywords into Google to get better answers. This makes it easier for more experienced coders to find answers faster. And makes it harder for newcomers.
Tools like chatGPT are much better with natural language and can get closer to what you are looking for, without having to have much prior knowledge.
A good example might be asking ChatGPT: “what’s the donut shaped thing in the boot of a car?”
ChatGPT:
“The donut-shaped thing in the trunk (or boot) of a car is likely the spare tire. It's a smaller and lighter tire compared to the regular tires on the car, designed to be used temporarily in case of a flat tire.”
A quite miraculous outcome of such a large language model is its apparent understanding and general knowledge within the context of language.
Here’s another example…
Summarise a great work day at a software company in emojis:
👨💻💻📈💡💬🙌🎉
Translation:
Person working on computer
Computer
Graph increasing
Light bulb (idea)
Speech balloon (collaboration/communication)
Raised hands (success/achievement)
Party popper (celebration/happiness)
This will make it much easier to find relevant and accurate information to solve or build specific challenges in new unfamiliar domains where learning the technical language can be a significant barrier.
When ChatGPT launches some continual learning we will be able to add corporate and specific company search. This means the shared knowledge exchanged in unstructured chat messages and the huge internal comms that happens (as well as specific language that arises) will be searchable and slowly you will have an expert AI that knows how your company works through various departments including the potential knowledge of specific experts. People will likely first ask the AI before bothering colleagues.
It will be fascinating to see and build systems with this technology integrated — simple web requests and APIs can empower the AI to have skills similar to Alexa but with much more natural context. Email and calendar management is likely coming too.
The core concept is that these AI tools form a platform on which to build on. Much like the iPhone started the smartphone app economy there will be a new round of apps and impressive businesses that leverage AI as a platform on which to build!! And the great news is it will be easy to do!
Subscribe to get our best content. No spam, ever. Unsubscribe at any time.
Send us a message for more information about how we can help you