The synergy between AI and low code is transformative, democratizing coding and expanding the horizons of software development. It empowers a diverse group of individuals, from professional developers to business analysts, to participate in and contribute to the software development process, ultimately driving innovation and efficiency in various industries. According to a recent Prosper Insights & Analytics survey, about 8-14% of people across generations use ChatGPT for development.
To learn how AI and low code can democratize coding, I spoke to Vikram Srivats, Chief Commercial Officer of WaveMaker, a leading Java low-code platform that helps professionals rapidly build modern, scalable, and secure software products and applications.
Gary Drenik: What are the shortcomings of AI-generated code when compared to code created in low-code platforms?
Vikram Srivats: Low Code platforms and AI take different approaches to generating code. Low Code tools have already been vetted by enterprise architects for adoption within their enterprises and many applications created by low code tools have already been deployed for end customer usage.
Right now, inconsistency in responses has plagued ChatGPT. The copilot paradigm has been put to use where a developer asks a copilot to generate code at a function level. Huge swathes of developer cycles are spent in maintaining, upgrading tech stack of solutions after the V1 is created.
This is the problem low code is able to solve better. Low code tools support iterative development and provide tools to debug and improve the code while AI generated code cannot be released without the developer understanding the code and taking ownership of it for maintenance.
Drenik: What steps can developers take, other than working alongside AI, to help scale their coding efforts effectively and accurately?
Srivats: In programming, a lot of productivity gains are made when teams are able to reuse abstractions at component, module level. When code is reused the cycle time needed to implement a customized solution reduces. This is how teams of developers work iteratively to build solutions that best fit the market needs. This process of tinkering, delivering, observing usage and planning improvement is still a very effective way to build software solutions. GitHub developer survey reveals that internal collaboration and gathering customer feedback is where most of the time in software development is spent. Hence embracing agile methodologies, reducing the cycle time needed to push change to production, a well-established feedback loop along is way to scale developer efforts.
Drenik: Analysis shows that, when prompted, 52 percent of ChatGPT answers to programming questions are incorrect and 77 percent are verbose. How can developers work alongside AI knowing they are the only ones who can catch and correct these errors?
Srivats: Working alongside AI can occasionally be a challenging experience, particularly regarding the accuracy and verbosity of responses. It’s important to recognize that we are currently in an era of generative AI that is still in the early stages but improving at a faster pace than any other tech in the past. Not all applications of generative AI need to mimic chat-based interaction nor do they have to use ChatGPT only.
However, the adoption of ChatGPT has driven an expectation to build in smartness into many customer interactions. In order to build AI into solutions, developers should invest time in understanding underlying technology advancements that are underpinning the generative AI. New use cases that are not satisfactorily solved yet may become the next big market opportunity.
Drenik: As developers and business users alike dabble into AI-generated code, what use do they have for low-code tools, the original means for making coding faster for developers and accessible for non-developers?
Srivats: AI generated code is still not changing the level of abstraction where developers operate. In this way the productivity gains made are localized to dev teams, while not addressing the skill set gap and time spent in collaboration between product design, implementation, quality analysis.
However, much higher order gains in productivity can be achieved by elevating levels of abstraction and by solving the collaboration problem. This is where low code paradigm outshines simple generation of code from text. Low code tools are addressing both efficiency and skills gaps. Low code tools that also use AI in them further increase productivity of teams and not just individual developers.
Drenik: Will low-code design ever be replaced by AI entirely? Why or why not?
Srivats: As with other tools and processes, we can expect low-code platforms to become AI-infused and become more powerful than they are today. If low-code has been an accelerator for software development, then AI is an accelerator for low-code platforms. Although there will likely be classes of application that can entirely be created by AI at some point without any human intervention or low-code platforms for that matter, this does not mean that all future software development (and developers) will lose the need of low-code development platforms. In fact, there may be a new class of low-code platforms infused with AI that will become the dominant method to design, build, debug and maintain sophisticated, custom, and high-stakes applications.
Drenik: Why won’t AI replace low-code platforms?
Srivats: Even after getting trained on all of the code available in the GitHub and looking at all the answers on StackOverflow, current proficiency of the coding by the AI is at best as a copilot. All interactions to write code from just the text prompt result in frustration. The current state of AI’s proficiency in coding is simply not as good as the hype is making it out to be. We expect this to get better quickly.
A large part of a programmer’s time also goes to fixing bugs and changing the structure of the code in a way that is easier to maintain. This process of fixing a bug or refactoring code is not recorded anywhere for AI to be trained on. Initial versions of AI generated code are usually rewritten or entirely to make it easier to maintain.
Code generation in low-code development platforms is based on a visual declarative model and occurs organically each time a developer starts to build an application. In the case of AI-based code generation, there is the legal/compliance question of not knowing the source of where generated code comes from.
AI could start generating apps with cookie cutter UI atop any given API and a workflow definition. The quality of the code behind this may not matter at all as long as the user interface gets the job done. However, as the world moves more in the direction of software platforms that offer customizability, extensibility, and maintainability at low TCO, The process of development is iterative by building quickly, collecting feedback, and enhancing later. It is impossible that a developer’s mind has a crystal-clear detail of what exactly needs to be built – ahead of such an iterative process. Low code tools are better placed with such iterative development processes. They enable diverse, cross-functional teams to collaborate and iterate quickly, while AI may be used within each iteration to produce snippets of code to be refined, tested and integrated further.
Lastly, in the evolution of modern software development, we see a growing fusion upstream between designers and coders. So far, a lot of the friction, time, and effort between these 2 groups (and worlds) goes into, say, translating a product vision specified in text or a Figma design into real, working frontend and backend code. This process often needs iterative development and collaboration between 2 very different kinds of people. The skills required to ideate, and design are different from skills needed to write code. Low code platforms that integrate upstream with popular design tools and frameworks offer development and design teams to work more closely and, for example, interpret and render fully functional UI (and code) from a design. While such low-code platforms will rely on AI to generate a V1 of the UI or even generate new UI widgets not currently available in their out-of-the-box libraries, the inherent process of iterating between development and design will necessitate the future salience of a standard, robust development platform well-integrated with SDLC practices and built-in collaboration.
Drenik: Thank you for your time, Vikram, and your insights into how professional developers and business analysts can leverage both AI and low code to scale coding, increase innovation, and improve efficiency. It will certainly be interesting to see where coding goes next from here.
Read the full article here