WaveMaker’s Prasanth Reddy on AI and Application Development
Prasanth Reddy, senior director of product management for Wavemaker, explains how artificial intelligence (AI) will augment rather than replace application development teams.
Transcript
This is Textron tv. Hey guys, thanks for the throw. We're here with Prashant Reddy, who's senior director for product management at Wavemaker, and we're talking about why ai, augmented software development is the way to go, and maybe the dominant form of how we write code going forward.
Welcome to the show. Thank you, Mike. How are you doing?
I'm well. What is your sense of how much of the code that we're currently seeing moving through our systems is actually written by machines versus humans these days? I think not a lot, but it is getting, it's getting more and more machines.
Uh, AI is participating in writing software, so that is going up. And when did, does the developer decide to use that? I mean, 'cause there's all kinds of different code, right?
And Mm-Hmm. Not all the code being generated by these platforms is necessarily of the highest quality. So sometimes, you know, when I use it just to create a script and I'm just trying to do something fairly low level, or are people gonna be using this for business logic, or is this, and, and where are we on that spectrum?
So, uh, we've always had tools that actually generate code before ai and the, the, the new chat GPT revolution, right? That we've had low code products that generated code. So generating code is not new, but what is happening is that with, with ai, you're able to generate code just by talking to it, by just, just, you know, um, you know, what is called a generative ai, which is you give it a bunch of, uh, instructions and describe what you want it to solve, and then the AI is able to come up with a script that, or, or a program, uh, that can do that for you.
So that is new. Um, that's, that's something that, that people, the software developers are using, um, ever since the chat GPT, uh, has released. Uh, but generating software has, the tools have always been there, so that is not new.
Um, so it is getting used for, for business software. Um, we have products that are generating code that, that, that generate mobile apps. So there's a lot of, uh, different kinds of software that, that is getting generated.
What will be the ultimate impact here? Do I still need something that feels like a no code, low code tool, or am I just gonna use a natural language interface to kind of create my application through various prompts that I'm creating? Yeah, that's, that's a very good question, Mike.
So what, what's happening is that, uh, you know, people, when they wanna create something, uh, are they able to describe what they wanna create in, in, you know, in a, in a, in a language that, that AI can, um, can understand? Not, not always. Right?
So most of the times, what you want to build a very good representation of it is in, is captured in a design. Um, not, not really in like a specification document, because, um, you can't really capture all the nuances and all the details, um, in a, in a, in an extremely detailed, um, you know, writeup. But most often the existing teams that create software that they interact with, with the UI designers and user researchers, and all they do is they, they, at the end of their ideation phase, they create a design artifact, which is usually, uh, using, um, these software like Figma and Adobe.
They create a design that represents, um, the end goal of all the, the ideation and the discussions that they've had. So now our, my thinking here is that if we can, if we can raise the bar in converting those designs into working software that works into the, into the current way software is getting built, um, granted that, you know, developers are able to talk to AI from just text, but that is solving, you know, smaller problems. So if you, you are, uh, not solving the big problems that are between, um, various teams, that's, uh, that's what I, that's what I feel.
What is your sense of who is actually gonna be building the applications going forward? Because, uh, it seems like, uh, I, I mortal can now without knowing any programming language, work through the prompts to create some sort of application. Um, so do we need professional developers or even citizen developers for everything we do?
Or is there gonna be more end users creating apps on their own just because they're gonna describe what they want to have happen and the platform will take care of it? Yeah, I, I think, I think both will happen as, as it happened in, in the past, right? When tools came and make, make things easier, creating things easier, what happened was more things got created, right?
So the bandwidth or what is possible has changed. That means that more software is gonna get created. Some of them, like you said, is gonna be created by people just talking to an ai.
But more, I think what will happen is that because of the more software that that is going to get created, there's gonna be, um, you know, space for professional developers as well that are, that are, uh, it is just in the, the abstraction level goes from a programming language to perhaps, um, a different kind of, uh, uh, language. But I think the software creation is going to be, um, a process that where you partner with a, with an AI for at various stages. So if you could partner with an ai, when you are building a solution and thinking about the architecture of it, you can ask for the advice.
So you can, you can, uh, you can get advice from that, or you can also ask AI at the time of writing code, and you are, you're stuck somewhere or you're trying to use a new framework that, that you don't really know how to, how it works. Uh, in the past you would've to read a lot of documentation, um, go to forums and learn how to use this new framework that you're trying to, uh, build on top of. But now with ai, you could, because it already knows how to use the, um, user framework, you kind of, uh, in the flow of using it, you can partner with a, with a ai like a tutor.
Uh, but like, like I said, I think there are a lot of these things that are unlocking the individual productivity of a software developer. But I think the, the, the bigger problem is the collaboration between various teams. Um, I think that's where a lot of productivity is lost, and a lot of people spend a lot of time in meetings, um, you know, going over a list of issues.
Um, they're not able to convert a design in a pixel perfect fashion into working software. So, you know, that's, that's the, uh, time that you, you don't wanna be spending, right? You don't wanna be spending, uh, triaging, triaging a list of issues, arguing your priority, and you don't wanna do all of that.
So the sooner we can cut down on the handoff between the teams and make that process digital, I think, you know, the productivity gains are gonna be much, much more bigger than targeting an individual software developer getting a score done from a text from, I don't, yeah, I think that's, that's there. But I think there are other problems that, that unlock productivity at a, at a team level, um, that we should be thought, you know, clearly thinking deeply about. So how do we do that?
Because to your point, it's not enough just to write more code faster. We have all these workflows that turn that code into something meaningful in an application, in a process. So how will AI help us with that?
Or is that just something we've gotta navigate as humans? Yeah, so we talked about, um, you know, having the, the design, the design team creates your UX markup, right? And then a lot of times you, you spend a lot of time trying to get the fit and finish right, and that, that's where a lot of teams create a bunch of issues and then, you know, they work in, um, a long time to just get the, uh, fit and finish.
Absolutely right. So I think that process is, uh, currently, uh, you know, error prone and a lot of things are, are, are not efficient, and we can solve that with ai. At the same time, there's the other hand, right, where you deploy the application to your, your AWS and and public cloud, and you, it's running there, and then when it starts, um, you know, the service level starts going down, you can use AI to, to get insights to, to react to things before they happen.
Uh, so I, I believe that AI can be used not just at a software writing level, but also at the other phases of, you know, what it takes to create a software product, um, and then deploy it to customers. And so at, at different phases of, uh, software, you can use ai, and that's where I think the productivity gains are gonna be more, What's the quality of the code that you're seeing being generated by these AI platforms? And I'm asking the question because chat, GPT has been trained on examples of code from all over the web, and the quality of that code is varies and sometimes has vulnerabilities that winds up in the output.
So, um, how much can we trust these platforms? Yeah, they, they're evolving very, very fast as they speak every, every week. There's, you know, the, the improvements are coming in, but I do think that, um, the software that an AI rights has to be, uh, you know, reviewed by at the coder and, uh, understood.
Um, at the end of the day, um, he's the, the human being that is taking the code from the AI has to take the ownership, right? And he has to, uh, he has, she has to, um, understand it fully and then run it against the test cases that they have, uh, maybe modified to, to, to, to suit, uh, the rest of the code that's already in. Um, so it's just, it's, it's, no, it's no different from what, what used to be when you find something, a code snippet on stack of flow or, or elsewhere, right?
Um, the same discipline that the programmer used to, um, is going through has to be, has to be, um, spent on AI generated code as well. What will be the impact on our pipelines as we go to, uh, manage, say DevOps workflows? Are we gonna have a lot more code moving through those pipelines and are we gonna have to think through how those are structured in order to absorb all this code?
And the, the code bases I imagine are gonna get bigger as well? Yeah, I, I do think the code bases are, uh, are getting bigger and, you know, the amount of, um, JavaScript that these days getting downloaded is, um, when you access a webpage is just going up and up and this, it's never coming down. So I do think the software is getting larger in, in, in piece, but like I said, I think the, the software that you're getting from ai, um, has to be reviewed.
Um, so I don't know, I, I wouldn't directly get those software that, uh, a copilot or an AI contributed into, into my C-I-X-C-D pipelines without having somebody review it. Um, and have it passed through, uh, various checks that, that I have put, uh, that my team has put forth for everyone. Um, right.
So all of that unit testing, uh, part, you know, passing the code that is coming in to, to see if it is adding a new security vulnerability, all of that is gonna be, um, continuing to, um, you know, be, you have to employ that against every code that is coming in. Do you think we are going to see more frequent updates to applications after we build and deploy them because the effort required should be significantly less, right? Yes, I do think so.
I think a lot of times we, we see that, um, we, when we put our code up on GitHub, um, which have, we have, uh, pull requests or change requests coming in from AI when it, when it, uh, notices, um, something something related to security. So it's able to generate, hey, and I noticed that your code, your code has this issue and you know, it is able to suggest a fix. So all of those things will mean that, you know, the number of times as quite often the software is going to be getting updated.
Um, and yeah, so that's, that's true. So those things, your, your engineering teams and the practice that you have set up has to enable that. Otherwise, you know, you're gonna be, uh, dealing with a lot of change coming in, not reacting, uh, quickly enough.
Aren't we getting to the point perhaps where applications will, for all intents and purposes be disposable, right? Today we kind of build software and we're like, wow, that took a lot of time and effort. So we don't change it out all that often, but seems to me we're heading down a path with the help from machines where the effort is lower.
So maybe we can start moving one day towards the notion that the application I'm using can be easily replaced with something better as soon as we can make it. Yeah. We, we see that right now with our customers, Mike, where, uh, they're having to deploy customized software to their end customers.
So we see that a lot happening already, where, um, our end customers want, want the software that that is delivered to them, customized to their brand and the way, you know, so, so the, all of that customization is, is already happening. Um, but I don't know, uh, you know, sometimes when you, when you use software and you've trained a bunch of, uh, app, you know, uh, and built a workflow around using that software, replacing that, uh, could be, could be disruptive and put, put some amount of, uh, uh, change management a a lot of, uh, people that may be using the software, they might have to learn new things. So I'm not sure if that is the way, but, um, the software that we already use, like you said, is gonna get updated more often than what, what it is currently.
Yeah. So what's your best advice then to organizations about how to get ready for all of this? 'cause I think we're all kind of stumbling towards figuring out how to operationalize AI in the context of software development, but are you seeing anybody doing something smart?
Yeah, I think, uh, one of the things that, that is immediately obvious because of the release of Chad GPT and co-pilot is the individual productivity. And we talked about this, uh, at the, at the, at the beginning of the call, but I think the teams have to look at every team is, uh, you know, doing something unique. So they have to look at how they're delivering software, uh, all the way and look at where they can use AI that will unlock productivity, uh, for across the team, right?
So this could be between the design and code, it could be between QA and, uh, software developers, and then it could also be on the DevOps. So I think it's the, it's the handoffs between the teams that cause the most amount of, um, um, you know, issues or inefficiencies. There's a lot of loss in translation between, um, between each of these teams.
So my suggestion is to look at using AI to digitize that handoff and that will, that, that's where I think, uh, organizations will get the most benefit. All right. Looking into your crystal ball, where do you think we're gonna be a year from now in terms of developer productivity?
I think, I think we are gonna be, uh, much higher. We are gonna be producing a lot more software than we, than we ever had before. All right, folks, you heard it here.
AI is coming the genie out of the bottle, and we are definitely gonna be writing more software faster than ever. We just have to figure out how to get out of our own way to make it all happen. Hey, Prashan, thanks for being on the show.
Thank you, Mike. All right. And back to you guys in the studio.