From AI-Assisted to AI-Native: Building a Frontier Development Team — Clare Liguori, AWS https://www.youtube.com/watch?v=pqlWNihgdjI AI Engineer · 20 min · 195 sentences · sentence-level transcript from YouTube's caption track; each line begins at the time shown [00:01] [music] [00:12] My name is Claire La Gory and I'm a senior principal engineer at AWS. [00:17] I mostly work on Kuro, our agent encoding assistant, but today I want to talk about some of the practices we've been seeing inside of Amazon and Amazon teams where we've been seeing really exciting results of [00:31] productivity increases that are step function improvements since what what we've been seeing with AI so far. [00:38] So, I've been working on agentic AI for over 3 years now and I've kind of seen the evolution that's happened in our industry when it comes to coding assistance with AI. [00:50] First, we had this inline code completion helping us to write the next line, maybe the next function. [00:57] We moved on to chat, asking questions about our code. [01:01] Everybody started doing vibe coding sometime last year, but now we're starting to see kind of an early adopter phase of what we've been calling frontier development. [01:11] And completely anecdotally, based on my own experience, I've really only felt maybe 10 to 20% more productive with all of these phases that have come before. [01:22] But now inside of Amazon, we've been running pilots with different teams across the company and we've been seeing a median of 4.5x productivity improvement and sometimes more than 10x. [01:34] So, something has really changed here now that we're seeing these step function improvements in productivity. [01:40] And I like to define what we've been calling frontier developers inside of Amazon by three behaviors that I've been seeing. [01:50] One is hands-off coding. [01:52] Frontier developers write maybe 1 to 2% of the code that they produce. [01:57] The rest is agents. [02:00] The second is that they interact with their agents infrequently. [02:03] They'll aim to get their coding assistant to run for up to hours at a time without their intervention. [02:10] And third is that they minimize idle time. [02:13] These frontier developers tend to run multiple agents in parallel churning through a backlog of tasks. [02:22] The first time that I saw a frontier developer team was the Bedrock Mantle team. [02:28] Bedrock is our model hosting service. [02:31] Hosts LLMs like Claude and GPT. [02:35] And sometime last year we knew or I say we but the Bedrock team knew that they were going to need to build a new inference data plane. [02:46] But they had estimated it at 30 people over 18 months. [02:51] This is a big big service and it was going to take time to build the new one, migrate customers over, migrate models over. [02:59] They decided to take a step back. [03:01] They took six people and they built [03:03] [snorts] [03:03] it in 76 days with Kiro. [03:06] So this was a huge achievement. [03:08] This was the first time we've we'd seen anything of the kind inside of Amazon. [03:12] So this was truly the pathfinder team that proved that it was possible to get up to 20X improvement. [03:20] Now they looked at commits and I'll talk about a couple of other ways that we are uh measuring productivity improvements. [03:27] But there was one problem with this story which was that yes, it was built with six people. [03:33] It was built with some of the top engineers literally in the company including two distinguished engineers. [03:40] So this was not just any team of six people. [03:43] These were experts in distributed systems, experts at LLMs and their architecture. [03:51] So this the story was amazing and it kind of spread like wildfire across Amazon, but it was also very unachievable for a lot of teams. [03:59] There were a lot of questions about can this actually be reproduced on another team? [04:05] So, another experiment that I want to talk about is an experimental sprint that was done in the Prime Video organization. [04:13] They took a 10-day sprint and they did an experiment where they put, again, six engineers in a room and they let them go wild with Kiro. [04:23] Uh they brought down the project delivery time estimate from what was going to be 90 weeks down to 24 based on all of the progress they had made in this 10-day sprint. [04:36] And they they looked at their commit history and they looked at what did they used to do prior to this 10-day sprint and how many commits did they produce just in this 10 days. [04:48] And so, this sprint really proved that we can achieve, again, at least something close to what the Bedrock Mantle team had uh had achieved with a different set of engineers. [05:00] But again, there was a challenge with this story, which was it was six engineers in a room, but they had no on-call duties, limited meetings, very few distractions, which we all know [05:13] are regular in the lives of an engineer. [05:16] And the senior engineer on the team had spent the previous 3 weeks creating very detailed, small, well-scoped tasks with detailed requirements for these six [clears throat] engineers to just go churn on for those 2 weeks. [05:32] So, this was again not necessarily real life. [05:35] This was a structured sprint, uh a a point in time that they were able to achieve this, but again, the question is is this achievable on real teams on day-to-day [05:47] work? [05:48] So, Amazon stores which encompasses amazon.com, all of our retail websites, as well as our physical stores, did a more structured pilot. [05:59] They watched 50 teams that were totally normal normal distribution of um early career folks, mid-career, senior engineers, and that worked on existing systems. [06:11] Nothing green field like the mantle team got to build from the ground up, but existing systems with existing code bases. [06:19] And they they watched them for the better part of last year, and they found something super interesting. [06:26] They found that there was a big difference in the productivity gains that they saw between half of the teams and the other half. [06:34] And in this case, they used a productivity metric of deployment velocity to production. [06:40] So, not just commits, how many commits are they producing, but how quickly are we getting changes out to customers? [06:47] How how quickly are we able to ship things? [06:50] And they saw that for half of the teams, they achieved less than 3x increase. [06:55] And what they found that was the difference between seeing less than 3x productivity increase, these teams that saw a median of 4.5x, and and in some cases more than 10, [07:06] was how they used the tools. [07:08] 90% of these teams used Kiro, among other internal tools that we have, and what they found was it wasn't about the tools, it was about the way that they worked. [07:19] The teams that achieved step function improvements intentionally changed the way that they worked, and the other simply kind of sprinkled Kiro and some of the other tools that we have [07:31] on top of their existing way of working. [07:33] And for me at least, this was the big aha moment. [07:37] That why I hadn't been feeling potentially the massive gains that productive that in in productivity that AI has promised. [07:46] It's about changing the way that we work. [07:49] So, across this pilot, they went and interviewed uh the teams that were involved in the pilot as well as some of these other teams on the Bedrock mantel team, [07:57] on uh Prime Video, and they found five habits. [08:02] And and I use the word habits very specifically because again, it's not about that one sprint. [08:08] It's about doing this day-to-day. [08:10] And it And what they found when they interviewed with these teams was that it really was habits that they had to build day-to-day. [08:17] When we change our way of working, it's it's hard to build these habits. [08:21] It takes time to build these habits. [08:24] So, let's go through each of these one by one. [08:26] Habit number one is investing in agent context. [08:30] We have a lot of stuff in our head. [08:32] We tend to transfer all of that stuff in our head to other people through Slack conversations, through onboarding, mentors, things like that, through code reviews, through stand-ups and sprint planning, [08:45] and they had to write all of that down. [08:47] And the habit that they built was every time the agent makes a mistake or does something not the way that you would have done it, what am I missing in my skills files? [08:57] What am I missing in my steering files that the agent needed? [09:02] But then, as we know, across last year, we saw leaps and bounds in models' abilities and their behaviors. [09:09] Uh the Sonnet 3.7 in the middle of last year had a lot of quirks that we had to put a lot of do nots in our uh in our steering files, [09:18] and now we don't have to do that as much with Opus 4.5 as of last November, and then we've had 6 months more than 6 months of improvement since then [09:28] uh with all of the new versions of models that have come out since then. [09:31] And so, the question, the new habit, again, is do I still need this in my steering files or is this just bloating context? [09:39] The second one is slowing down to speed up. [09:42] In almost every team that was interviewed, they reported that their productivity actually went down as they intentionally adopted a new way of working. [09:52] That's counterintuitive, right? [09:54] You have to do intentional engineering work before you're going to see that hockey stick curve in productivity improvement. [10:02] Because we have to do real work in our code base first for agents to be successful there, especially in brownfield existing code bases. [10:10] So they had to build that agent context up. [10:13] They had to improve existing tools error messages so that the model knew what was going on when it failed. [10:19] They built new tools, new MCP servers for helping that model to actually get done what it needed to get done. [10:26] A lot of teams ended up restructuring their code base so that agents could actually navigate it more easily. [10:32] And I've even seen drastic changes like changing the programming language of the code base. [10:38] Um often I've seen teams struggle with Python, with JavaScript because they're untyped languages. [10:44] It's hard to test. [10:46] There's no compiler errors. [10:47] So the model kind of guesses and give it gives it back to you. [10:51] And so I've seen teams moving to TypeScript. [10:55] Um Rust has become very popular inside of Amazon. [10:57] The compiler gives great error messages. [11:00] Um you don't have to do that, but I've seen a lot of teams making those intentional changes for the productivity gains that they're able to see. [11:09] The third one is feeding agents, not babysitting agents. [11:13] And for me this was one of those aha moments of why we're seeing this step function improvement in productivity. [11:21] If you are vibe coding, if you are having a back-and-forth conversation with your agent all day long, of course you're not going to see four to five x productivity improvements [11:32] because you are in the loop the entire time. [11:35] You're probably sitting there for 30 seconds to a minute waiting for it to generate code and come back to you with with the code to review. [11:44] If you're sitting there waiting for it, then you can't go off and do other stuff. [11:48] It's really difficult to run agents in parallel. [11:51] It's very difficult to get to to clone yourself into multiple agents. [11:57] And so if your conversations look a bit like this on the left, then you're babysitting that agent. [12:03] As opposed to the right side where you're feeding it what it needs to do and how it can self-validate. [12:09] And that's really the key so that agents can self-correct and only come back to you when it meets a certain quality bar, when it when it actually runs and compiles [12:18] and passes tests, when it's testable, when it it actually has high coverage. [12:24] And of course the next level is put all of this content into your steering file so it does it every time without you having to prompt it. [12:33] The fourth habit is to make intent explicit. [12:37] At Amazon we practice a lot of behavior-driven development. [12:41] We've built that into the Q product and so it's very natural for Amazon engineers to adopt it in Q. Um what what I've typically seen with live coding as opposed to frontier engineering [12:53] is giving a very high-level prompt, letting the agent generate a ton of code, and then having a back-and-forth conversation saying, "Oh, that's not really what I meant. [13:06] That you haven't you haven't exactly gotten the the requirements right. [13:10] No, I didn't actually want to build it that way. [13:12] Here's a technical design." [13:14] And it is less I find less productive to iterate with the agent on code when the intent itself was incorrect. [13:23] So often will have will see Amazon engineers go through this process for for ambiguous complex features of writing the specification. [13:34] And in Kiro, of course, you don't have to write this whole specification. [13:37] You can have the model generate it, but it's a lot easier to to iterate with the model in kind of a back and forth conversation about a document than it is about code that's code changes that are spread across a code base. [13:53] The fifth one is shift testing left. [13:57] One of the keys here is to give the agent that fast feedback loop. [14:02] Because that's what lets it go off for hours at a time and self-correct. [14:06] The agent is going to make mistakes and that's fine. [14:10] But if you give it the right signals, it can self-correct and it can spend a while doing that. [14:16] So, I've seen teams adding linters, adding unit tests, integration tests, performance tests, security tests. [14:22] These are all things we all know we should have been doing all along. [14:26] This is good engineering hygiene and practices. [14:29] But now the ROI is, I think, finally high enough for actually us to actually invest in it. [14:36] Um one thing that I've been seeing a lot of teams do is mock out services. [14:41] Often with integration tests, we would test kind of end-to-end an entire system including live services. [14:48] But we've been investing a lot in in mock services that run entirely locally with deterministic responses because it lets the agent do everything locally. [14:58] Um doing everything on your laptop without having to spin up a bunch of other services and and connect to cloud services makes everything a lot faster because the the more that your agent can get fast feedback [15:12] means the more loops that it can can do and the more productive your own agent can be. [15:19] So, across all of these, these are some of the habits we've seen, but of course I would be remiss if I would tell you if you adopt all of these habits, you will [15:30] achieve nirvana. [15:31] You will be the most productive engineering organization the world has ever seen. [15:35] Things are still hard. [15:36] We are still very much in an early adopter phase and teams are still figuring it out. [15:43] So, one thing that we've been seeing across our teams just organizationally is the risk of burnout. [15:49] I did not coin this term. [15:51] I forget who did at what conference, but flow mat is real. [15:55] We've been seeing engineers staying up late late at night trying to get that perfect prompt that's going to make their agent run for hours overnight so that they wake up in the morning with a code change ready. [16:08] The cognitive load increases as you run these multiple agents in parallel. [16:13] You're constantly shifting between terminal tabs. [16:17] And then we do see that reviewing AI output is often harder for some than than actually writing it, especially early in career. [16:26] Senior engineers have have already spent a large portion of their career reviewing others code. [16:32] But early career engineers don't have that muscle yet and so reviewing it can can feel like a lot more cognitive load than they're used to and actually writing it. [16:44] The other one is organizational change. [16:47] So, it's already hard to change the way we work as engineers. [16:51] The way that we spend our entire day completely changes when we're frontier engineers, but also organizations have to change to enable frontier engineering teams. [17:02] One that I've seen very commonly is accepting slowing down to speed up. [17:09] And I've been guilty of this myself. [17:11] My my fellow leaders have been guilty of of this of saying, "Well, you have the AI tools now and the models are so amazing now. [17:19] Why are you not going faster? [17:22] Um and that's because you have to take those two months to invest in your code base, to figure out the best practices for your team, to make hard habit changes on your team. [17:35] Um and and if you're constantly expecting shipping features every month because now we have these amazing models and we're seeing um all of these these companies on X saying how they're shipping 20 [17:48] PRs a day, um we have to slow down to speed up. [17:54] The second one is actually going too broad in the organization too fast. [17:58] I think that if we had um expected all teams in massive organizations to be frontier teams immediately, we would not have had the learnings that we had from the Pathfinder, [18:11] from the from the sprint experiment, from the pilot uh teams within Amazon. [18:18] And now the challenge for us is how do we scale it out? [18:21] And that's what 2026 is about for Amazon is how do we scale this out to more and more teams, to the next uh 2,000 teams instead of uh 50 teams. [18:31] Um and so I think that when you roll it out too quickly, you have a lot of teams who don't know what they're doing. [18:38] You haven't had time to find the best practices for your own organizations, the the context that your organization needs. [18:45] And the last one is that you're going to find new bottlenecks. [18:49] Previously, code writing code manually was the bottleneck. [18:54] Um I find that within Amazon, we've found um the speed of decision-making becomes a new bottleneck. [19:01] Um the more that you spend reviewing the decision to actually build a new product, the slower it is to build the product now because the code only takes 1 to two months to write. [19:13] [snorts] [19:13] Um all of the review processes associated with the launch of a product become the bottleneck. [19:20] When it used to take 9 to 12 months to build a new product, it didn't matter so much in the in the overall wash of things if it took two months to make the decision to build the product and then two months to approve the launch. [19:34] But now those are the bottlenecks. [19:37] Those are the long pole. [19:38] And so you find all of these all of these things that slow you down. [19:44] Often I find that frontier engineering teams spend more time making decisions than they do writing code. [19:50] And so the more that you can make fast decisions, especially ones that are easy to be reversed, the better. [19:57] So my one big takeaway for for everyone here is that frontier engineering is about intentionally changing the way that you work. [20:07] And that is difficult. [20:08] That takes time. [20:10] It is forming new habits and a new way of working. [20:14] And that goes across any engineering team as well as your organization. [20:20] Um so I encourage you to think about um how you're interacting with AI tools and how that can change to free yourself up from being in the loop. [20:31] Um thanks. [20:31] I'm going to I'll hang out uh a little bit if anyone has questions in the back. [20:36] Um but thanks for the time today. [20:54] [music]