ChatGPT and software development – is there a revolution ahead?
Jakub Turkowski
It’s very unlikely that one will not stumble upon AI-generated content on the Internet nowadays (especially while scrolling through social media platforms). The thing is that AI can do much more that just create pictures from prompted text. Of course, machine learning is nothing new, but recently one application has taken the digital world by the storm – the ChatGPT. This model interacts in a conversational way and can answer follow-up questions, admit its mistakes, challenge incorrect premises, and reject inappropriate requests. It can also assist developers in writing better code at a faster clip. Is the revolution looming ahead?
ChatGPT jumps on the top of digital world
Seriously, it happens in a blink of an eye. ChatGPT launched on 30th of November 2022, and in five days there were 1 000 000 users engaged in exploring its possibilities. A massive number, right? That’s not all. According to Earthweb, ChatGPT has now over 100 000 000 users and has doubled its valuation – to 29 000 000 000 USD. What a score! Even more impressive fact – ChatGPT is still free to use (however, you may experience that ‘ChatGPT is at capacity right now’). No wonder that people want to see what this application is capable of. But there’s more to ChatGPT than just entertainment. It can be helpful in writing code. But does that mean that software developers will be replaced by AI?
Generative AI technology – the ChatGPT
Chatbots were in use before ChatGPT, but what makes the latter stand out from the digital crowd, is that it makes use of generative AI technology. What does it mean exactly? It creates its own content with its human-like comprehensive capabilities. And that content is original and unique. Previously, users encountered problems involving hate speech and discriminatory remarks – when exploring similar technologies of Microsoft and Meta. It’s not the case with ChatGPT.
ChatGPT’s current landscape is a mass-testing version of the platform. It is because the owners want to see areas for improvement for future use. As the platform was not ready to accommodate the massive number of users so fast, it crashed for almost an hour at the height of its launch. ChatGPT is part of OpenAI’s GPT 3.5 family, the latest of all GPTs in circulation, and it leverages 175 billion parameters, tested on 570 text gigabytes. It’s like a digital fortune-teller in a way, as it can actually predict the word that comes next in a sentence! So, can it code so well that software development will experience a massive shift in the nearest future?
Chat GPT and software development
AI and chatbots have already changed software development. It’s not a revolution by itself, but the software development landscape is slightly different now. ChatGPT can’t totally replace software developers, but it can be used to improve their output. When used wisely, ChatGPT can skyrocket the productivity. How? Let’s get into that a little deeper.
Write better code with ChatGPT
ChatGPT is not the first ‘digital assistant’ for writing code. There were other machine learning tools used by software devs in the few past years – like the GitHub Copilot. It suggested improvements and flagged potential problems in code. And it did that quite well. But it was not able to formulate detailed responses to conversational prompts. ChatGPT can do that, and it distinguishes this app as a coding assistant.
This means that people can leverage complex technologies – like ChatGPT together with compilers and IDEs – to write human-readable code without having to write machine code. You know, the second one is not human-friendly and is rather understood by highly specialized engineers. Well, with that tools, will software developers now be less skilled or have less knowledge? Not at all. Look at this in that way – how many good drivers know exactly how the car engine is made and how it works? Does this affect their driving skills? Of course, it doesn’t. ChatGPT will not write sophisticated, yet clear and clean code by itself. It can just assist humans in that task.
ChatGPT – a digital research assistant
ChatGPT has to be trained (and it is). To be more specific, it has been trained on over 45 terabytes of text data from various sources. These include CommonCrawl, WebText2, and code in Python, HTML, JavaScript, and CSS. Impressive, right? As the ChatGPT’s responses are based on this vast training dataset, it makes the application a very helpful research assistant. Still, the responses need validation, don’t take for granted that you have the best answer served in seconds. However, you can save a lot of time on research.
ChatGPT – tests and documentation
Oh, these mundane tasks, could they just be done by someone else? Sure, the AI can help with that. ChatGPT, as any other AI, will evolve. So, software developers, here is some good news! It is highly possible that soon the digital assistant will cover those tedious tasks:
- Automating unit tests
- Analyzing code to suggest security best practices
- Automating QA
- Generating test cases based on parameters
Wait, there’s more! ChatGPT could also be useful in terms of extracting valuable information, such as function and variable names, descriptions, and usage examples. What about the documentation thing? All those troubleshooting guides, release notes, user manuals, and other stuff? ChatGPT can expedite them as well. So, a massive load of time can be saved for other tasks. How do you like that?
So, you see how software developers can leverage the ChatGPT to boost their productivity. Of course, there are areas where this application falls short. We will explore this field in another article – stay tuned. Worry not, while ChatGPT can be a super-helpful assistant (remember the legendary ‘Clippy’ in Microsoft’s Office?), it cannot replace a human. Skilled people are the core value of every company. Oh, by the way – we have dozens of experts, who can help you bring your vision to life.