We users use Artificial Intelligence (AI) almost every day, often without even realising it i.e. a large amount of the apps and online services we all connect with have a degree of Machine Learning (ML) and AI in them in order to provide predictive intelligence, autonomous internal controls and smart data analytics designed to make the end user User Interface (UI) experience a more fluid and intuitive experience.
That’s great. We’re glad the users are happy and getting some AI-goodness. But what about the developers?
But what has AI ever done for the programming toolsets and coding environments that developers use every day? How can we expect developers to develop AI-enriched applications if they don’t have the AI advantage at hand at the command line, inside their Integrated Development Environments (IDEs) and across the Software Development Kits (SDKs) that they use on a daily basis?
What can AI can do for code logic, function direction, query structure and even for basic read/write functions… what tools are in development? In this age of components, microservices and API connectivity, how should AI work inside coding tools to direct programmers to more efficient streams of development so that they don’t have to ‘reinvent the wheel’ every time?
This Computer Weekly Developer Network series features a set of guest authors who will examine this subject — this post comes from Adam Lieberman in his position as head of Artificial Intelligence & Machine Learning at Finastra… and Dawn Li, in her role as data scientist, also at Finastra — the company is known for its open platform that accelerates collaboration and innovation in financial services.
This is part two of a two-part commentary with the accompanying sister story located here — Lieberman & Li write as follows…
As software development tools and practices continue to mature, developers and software vendors are casting an increasingly hopeful eye towards advanced technologies that streamline development. Yes, it’s time to talk about AI again.
Across the software delivery pipeline, there is an increased focus on automation. CI/CD pipelines rely on automated elements, for example, but what about automation at the coding stage?
While there are of course code assistance tools for developers, such as autocomplete and autocorrect functions, baked into software development kits and integrated development environments, the value of which should not be underestimated, there now exists a use case beyond all others: GPT-3.
GPT-3 is a prime example of what AI is capable of when it comes to coding automation, in that the model can be used to automate jobs that traditionally required a certain amount of heavy lifting on the part of the developer.
Beyond code completion
GPT-3 goes far beyond code completion and error correction. The model gives us a glimpse into the possibility of general AI and many of the most compelling use cases created using it have sparked fears that lower-level coding jobs may soon become redundant. While this is always a fear with AI, GPT-3 is perhaps the most understandable breakthrough to cause anxiety for some.
Staggering use cases include: the generation of front-end UI code, providing a base from which various layout can be built; on-demand creation of deep learning architectures; the transformation of simple English queries into robust SQL statements that work across databases; the creation of Python functions from pure text statements. Each of these would have traditionally required significant resourcing and coding, but now, seemingly at the click of a few buttons and a few strokes of the keyboard, entire complex applications, websites, and architectures, can be spun up at will.
The multi-million-dollar gigantic neural network language model encompasses 175 billion parameters and has been trained with approximately 45 terabytes of text data – an unfathomable 499 billion tokens. Given the upgrade from GPT-2, which had a framework of 1.5 billion parameters and was trained on 10 billion tokens, and that GPT-3 will continue to mature, fears of job losses are only likely to continue.
Not a question of haves & have-nots
To allay these fears, it’s vital that the software development industry capitalises on the opportunities such advances are creating for developers and businesses. The arrival of GPT-3 (and further advancements) does not mean the software development community will soon divide into the “haves” and “have-nots” when it comes to coding knowledge.
In short, automation does not take negate the requirement for robust developer skillsets. However, once advanced automation elements are implemented, talented developers are free to focus on addressing the most pressing problems in their industries.