Automating Application Development with AWS’ Doug Seven
Doug Seven, general manager and director of artificial intelligence developer experiences at Amazon Web Services (AWS), explains how the developer edition of Amazon Q will be used to automate application development tasks.
Transcript
This is Textron tv. Hey guys. Thanks Vira.
We're here with Doug Seven's, general manager and director for AI developer experience at AWS, and they have a whole bunch of new stuff coming out around this cube platform that they've rolled out, including a developer edition, and there's a business edition and something that is a flavor of, uh, some tools for just playing around with some stuff in the enterprise. And we're gonna dive into all that stuff. Hey Doug, welcome to the show.
Mike, it is great to be here. Good to see you again. We've seen Q before, at least people have been talking about it.
Where we're really seeing here now is both the general availability, but it also is being repackaged. So kind of walk us through the history of QA little bit and what are we seeing and maybe provide some insights as to how it works. Yeah, Amazon Q is the most capable generative AI digital assistant for software development and for your organization's ability to, uh, aggregate and understand all the data you have in various systems throughout your, your organization today or technically.
Yesterday, I guess we, um, announced the general availability of Amazon queue. So we originally had announced it in November at Reinvent, where we released it as a public preview so people could get a chance to play with and experience it. Uh, we were still working on it and we were still making improvements to it.
Uh, and so now at the general avail, general availability release, uh, I say GA is what I, what I typically say at the GA release. Uh, you know, we're excited that we've, uh, hit that level of quality and that level of availability, and we're excited to put it in people's hands and see what they can do with it. Is Q based on one LLMA combination of LLMs or a combination of different data science techniques beyond what's behind it?
So Amazon Q represents what we would think of as the third layer of a stack of AI technology that we have at AWS where we're abstracting a lot of the underlying, um, technology so you don't have to worry about them too much. We have tools below it like Amazon Bedrock, which is our largest language model and foundation model hosting platform, and our SageMaker infrastructure and training and Inia chips that help us run, uh, these models at scale. But q itself is an application that sits above all of that, and, uh, by abstracting some of those details away from people, we make it easy just to get the advantage of generative AI without having to think about that.
But technically Amazon Queue uses, um, a collection of language models and foundation models depending on what the use case is. So we have, uh, queue for developer where we have things like predictive real-time code generation that might take advantage of a smaller faster language model that's designed specifically around software development and code writing. Uh, larger conversational language models that can handle things like complex questions or task planning, uh, or generating, uh, tests and things like that around code.
And, uh, on Q business, the ability to connect to, um, you know, 40 plus systems of record that you might have in your organization where you, you maintain data and give q the ability to access that data, summarize that data, respond to your questions about that data, and bring that all together. So it really is quite a collection of technologies that come together to make Q possible. Are we moving to like the next generation of code writing with AI and machines?
And I'm asking the question because if I look at the first generation, it was kind of like, you could tell it was trained on a lot of code collected from everywhere, and a lot of that code was a varying quality. So the outputs tended to be inconsistent, shall we say, are the new platforms trained more on code that's more vetted for the developer and something that we might be moving to something that's a little more reliable? Yeah, I think over the last couple years we've seen the early explorations into generative AI as we started building our, um, generative AI capabilities for code, uh, writing predictive code generation.
And, and then ultimately what we've built into Amazon queue around the conversational assistance for software development, we really focused on cultivating data training sets and, uh, fine tuning capabilities to identify the best quality code that we can, uh, including our own history of code and our, you know, 17 years of our or more of, uh, Amazon knowledge that can go into, uh, some of these models. And so really looking at how do we cultivate that not only to generate high quality code, but also to, uh, in the inferencing process, validate that the code that we're generating is correct, is authentic, is accurate, um, is non-toxic, is not biased, and where it references code that might, uh, be similar to open source code that we're able to identify that and let you know so that you can use that code responsibly. And is the orchestration getting smarter?
As I look at some of the underlying LLMs, you see that they're getting larger, they have more parameters, and the reasoning engines are starting to become more sophisticated. So as part of this equation that I'm not just gonna use this to write code, I can tell q to go perform a task that it's actually a series of events. Yeah, the orchestration capabilities are really remarkable and the underlying capabilities of the models are quite remarkable.
You know, we've seen, uh, amazing advances over the last year in, uh, as you say the size and capacity and capability of the models. And so it really opens up a lot of new opportunity for what we can do. The orchestration is important in terms of not just sending a prompt to a model and getting a result back, but knowing how to create a workflow around these models to do things.
So for example, one of the features we announced as, uh, uh, as part of Amazon Q is called, uh, q developer Agents and agents are a way to ask Q to go do some work on your behalf and have it go off kind of asynchronously and do that work. So for example, I can ask Q to, um, upgrade a Java application from Java eight to Java 17, and the first thing we'll do is create a task plan to say, okay, based on what I see, here's the steps I'm going to take. Do you agree with these steps?
Then the eyes, the developer can choose to modify that plan or accept that plan, and then it's gonna go off and do that work, uh, and ultimately come back with a set of code changes to say, okay, I've made the upgrade, here's what it is. So that's a complex workflow that requires not just sending a prompt to a model, but an orchestration of different models for things like task planning and work planning, as well as code writing and, uh, testing. If I look at things today, it seems like most of the AI innovation is aimed at the developer side of the equation, but, um, what we see similar assistance and AI capabilities for the rest of the software engineering team and the DevOps workflows, because right now, you know, they're probably looking at things and going, yeah, how am I gonna cope with all this code coming down the pipelines?
Yeah, I think there's a huge opportunity for us, certainly code writing lent itself as an early use case for some of the capabilities of what we saw with generative ai. And developers are a great audience for wanting to experiment with new and emerging technology. So it was a, it was a really great place to start.
We're really exploring the breadth of what we can do with generative ai, not just across the software development lifecycle, but across the entire organization. So if you look at what we're doing in Q business and the ability to enable q to understand and aggregate and summarize data from across your organization, whether that's in Salesforce or exchange or Box or in Gmail, to able to access that information and summarize that and help you in doing your job. But even more interestingly, is the, um, development of something we call Q apps, which is the ability for, um, someone who's not a developer to use natural language to describe a type of line of business application that they want, um, and describe what the inputs to that application are and what the outputs of that application should be in simple natural language and have q generate that line of business application.
Uh, a good example is an HR professional who wants to create an application for generating, um, onboarding plans for new employees that any manager in the organization can use and specify things like what division they're in or what job family they're a part of, and generate a unique onboarding plan for that employee. That's a great line of business application that a subject matter expert like an HR professional can define without having to know how to code and q can build that for them. What will be the relationship then between the subject matter experts and the developers going forward?
Because historically it was kind of like, you know, a developer would take a tool, build something that they thought sounded close to what they described in the doc, and then they would send it back to the subject matter expert. It would say, no, no, no, no, no. And then they would just do that till they infinitely got to what they wanted.
Is that all gonna get streamlined? I think, I think all of those kinds of workflows get streamlined as you get these tools that aid you in productivity. I think one of the challenges organizations face is they have more to do than they have resources to do it.
And so enabling subject matter experts to somewhat self-serve in creating these line of business applications, um, can relieve some of the pressure that organizations might be facing of trying to keep up with all the different things they have to do. Um, so this is really an opportunity to enable everyone in the organization to be more productive, but also enable them to, um, fulfill whatever the vision is they have for building the things that help them do their job. You have q for business, which is kind of aim more at business execs in that part of the world or, or the average person working in a job.
How do you think the relationship between organizations that have q for business and q for developers and even the new app version is gonna evolve? Because it seems like, yeah, I can't think of a business task today that that doesn't include some piece of software. So how will all that kind of meld in your mind?
The way to think about Amazon q uh, and how we coursely separate Q developer in Q business is really about the use case and the person who's, um, using it. So Q developer is really tailored around the professional software developer, the code writing activities, the software development activities, uh, and the team that is building software where Q Business really is a, a more broad tool to enable anyone in an organization to get access to the information they need within that organization and be more productive in their day-to-day job, whatever that might be. Whether they're in sales, marketing, um, hr, or even if they're a software developer who's doing work outside of the code writing activities.
Where does this all end? I mean, are we gonna democratize software development to the point where I can just come in and describe what it is that I want and the, and the process will just automatically be taken care of? Or do I still need some level of knowledge and expertise to what degree?
You know, I think the, the holy grail for any organization is to be able to come up with an idea that generates business value and instantly and freely have that, uh, be realized for them. Uh, the challenge is physics and we have to build software oftentimes to realize that value. So the goal has always been to, um, decrease the amount of time necessary to go from that idea to the business realization of that idea.
Uh, so tools like Amazon Q help in that productivity, you know, would we get to a point someday where you can just say, Hey, I want this and instantly an AI agent is gonna create the thing you need and make it available possibly. And Q apps is one way of seeing that happen. With things like line of business applications, it doesn't mean there's not, uh, the need for software developers.
In fact, it probably means we need more software developers to build these highly complex AI systems that will enable us to, to happen. But what we're doing is eliminating a lot of the mundane and tedious and toil ridden tasks that developers spend their time doing so they can spend more time on the interesting cognitive challenges of solving new and novel problems, uh, and, and building new and interesting software that we just probably can't even imagine today. Do you think we're on the cusp of returning joy to software development then?
Because, you know, people have these jobs, they got into 'em for a particular reason and motivation, but when they get there, there sure is a lot of manual effort and toil and things take a lot longer than they should. And over time kind of burns you out. I'll tell you that, you know, from talking with, uh, you know, developers and myself as a, as a developer, nothing is less exciting than being told you have to go into a project and go through the entire project and add documentation to it because it was poorly documented by the original developers who worked on it.
And, you know, nothing sucks joy from your life. Then something looks like tedious and, and, uh, you know, uninspiring as that. But the idea that I can have a queue agent that I can just dispatch that work to and say, Hey, go through the project add doc streams to all the functions, it'll go off and do that.
It'll come back and tell me when it's done means then I can go do something more interesting and more fun. I can go create something new and novel to solve a new interesting business problem. And I have tools like q doing code generation or answering questions for me and helping me do things that make it, uh, tremendously more fun.
Like, I love using these tools. I enjoy it when I'm writing code. I hear from developers that it's actually one of the sentiments we hear quite a bit like, wow, this is making it fun again.
Uh, which is really great to hear. What do you think it'll be play out for developers? 'cause I hear two sides of this conversation going on.
Senior developers think they'll be more efficient and they'll be able to handle more tasks, and junior developers are going, well, I don't need to know as much, so I'll be able to handle more tasks. So which side benefits more? Is it both?
Because it feels like both camps are kinda looking at each other a little bit and going, you know, I'm gonna, I'm gonna benefit more than you. I think, I think, you know, all developers of all skill levels are gonna benefit in different ways, and I think there's, there's some relationship between those two things. You know, we often hear from people that like, you know, a more junior developer using these tools, you know, they still need to have knowledge of what the code that's being generated does and how to read and how to understand.
And I don't know if it's appropriate for what they're trying to solve for, but it also means that they have an assistant who's helping them along the way, so they have to spend less time interrupting their colleagues or spend, um, you know, burning time, searching the internet for answers when they can just get answers from an AI assistant that that moves them along more quickly and that's beneficial for them, but also beneficial for their team who they have to interrupt less frequently. Uh, and for senior developers, you know, we hear similar stories of, wow, it's really helping me. Uh, you know, I know what I want to do.
I know how to do it. Maybe I don't know a particular framework or particular language or I don't have experience, or maybe it's something I haven't done in a long time, I know how to do it, but I'd have to go to the docs to look it up and remember. And, uh, you know, Q was there to say, Hey, here's the code you need.
And they have the knowledge to look at that code and go, yep, that's exactly what I was trying to do. Um, so there's different ways it benefits all developers. Um, but you know, these are the anecdotes we hear from people.
I know developers, everybody thinks that, you know, all they ever want to do is sit there and write code, but might we be approaching a point where they can actually have, I don't know, hobbies. I think for a lot of developers, myself included, writing code often is the hobby. We do it.
Uh, not only do we do it at work, but we do it at home too, and it's a lot of fun. And that's actually one of the things that we, we found to be really interesting is that developers today spend probably less than a third of their time writing code, and they spend so much more of their time doing other tedious and mundane and uninspiring tasks that if we can help them, you know, take some of those things off their plate or at least get those things out of their way faster and they can spend more time writing code. And at the end of the day, developers like I, I'll speak for myself, we love solving problems.
Like we see writing code as just a means of solving a problem. There's a business problem, we can write software to solve that problem. That's great, let's get into it.
Let's figure it out. And so having these tools that just make that more, um, uh, productive and more enjoyable and more successful is great. All right, folks, you heard in here to paraphrase Cyndi Lauper developers just want to have fun and AI's the way to get there.
Hey Doug, thanks for being on the show. Yeah, thank you. And back to you guys in the studio.