In the past 50 years, software development has progressed at a swift pace, leaping from machine code to assembly to higher-level (end-user application software like word processors, databases, video games) and finally creating programming languages. Until it all eventually hit a wall. Software engineering was on pause to catch a breather as technology was evolving faster. As dominant as software is, it simply needed a facelift in the current day. Programming languages did not reflect the demands of today’s cyber world. Coding was prone to errors and exacting, and developers found it difficult to handle real-time abstraction and distribution in programming languages. This was when AI made an entry.
AI in software development
AI was capable of revolutionising the way developers worked, boosting productivity significantly – everything from project planning, quality testing, estimation to user experience could all leverage AI algorithms. Software developers were able to use AI as a tool to extract new knowledge, optimise procedures and then produce higher-quality code instead of replacing it.
Coding faster and easier
The first major change arrived with AI pair programming tools built to quicken development. The blueprint for this was the Microsoft-owned GitHub Copilot, which was launched this year in June and has become exponentially popular among the community.
GitHub Copilot suggests lines of code to developers in an integrated development environment or IDE like Visual Studio Code, Neovim and JetBrains. Copilot also suggests complete methods and complicated algorithms apart from boilerplate code and help with unit testing.
More than 1.2 million developers signed up to preview GitHub Copilot over the past 12 months and it has added another 400,000 subscribers since CEO Satya Nadella stated during an earnings call in the fourth quarter this year. In files where GitHub Copilot has been enabled, GitHub reports that 40% of the code is now written by Copilot.
Since then, AI pair programming tools have flooded the market and have added bonus features. Replit, another popular online-based IDE, announced that it would support an AI Mode that includes an ML-enabled pair programmer to help complete code.
Amjad Masad, the CEO of Replit tweeted about what is to be expected stating, “Crucially, it won’t be ‘prompting’ — we believe that’s more a bug than a feature — it will be a combination of the AI predicting what task you want done next and doing it for you, plus a dialog-based agent that follows your commands.”
Ghostwriter also has components that can transform code to modernise it and make it fit standards and explain code by analysing the existing code first and then describe it in natural language.
An array of these tools exist, including this year’s releases GitHub Copilot, Amazon CodeWhisperer and Tabnine. They joined a long list of existing AI-powered bots such as Kite Team Server, DeepMind’s AlphaCode and IBM’s Project CodeNet.
Advent of Low-code No-code
The low-code no-code market is seen as another force multiplier in software development. A lot of recent research in the area including a report by ISG has pegged the LCNC market at about USD 25 billion currently and the sector is expected to grow further at a compunded rate of 28% every year to USD 45.5 billion by 2027.
If AI pair programming tools help coders write code faster, low-code and no-code platforms are built for people who don’t know how to code. Built on languages like Python, Java and PHP, low-code no-code platforms have visual software development environments where users can just drag and drop the program components. Consequently more apps can be built, tested and even deployed and more so these apps are focused on simple usage.
A myriad of factors have popularised low-code no-code across both IT and business job roles. Aside from the obvious benefits like reducing costs and increasing productivity, LCNC is best suited for digital enterprises that have hybrid and remote workplaces and blurs the lines between professional developers and citizen developers while also making companies more agile.
Brand new payment structure
Another profound shift is expected within the payment structure for developers. Bitcoin’s Lightning Network which is a Layer 2 payment protocol layered on top of Bitcoin permits off-chain transactions, which are transactions between parties who are not using blockchain.
Since blockchain transactions do not have to be approved by all nodes in the cryptocurrency network, this speeds up transaction times substantially. In the end when the two parties have completed transactions, they can close the channel. All the information on the channel is then collated into a single transaction which is then recorded.
Bitcoin Lightning is integrated into the software supply chain and eases transactions between humans and machines. The new payment system can push transaction costs and overhead expenses in software down, making it much easier to hire developers for specific one-off tasks. It will ensure that developers are paid on time and appropriately for the amount of work they have done.
One way to visualise this is that software will move from a stack to a network model. In the stack world, we assemble code in a repo and ship it somewhere to run and then monetization is bolted on. In a network model, code is fully monetized and running all the time.