#753: Amazon Bedrock Mantle and Developing at the Speed of AI

26 Jan 2026 · 56 min · 23 chapters

Ask about this episode

Ask anything about it. ChatGPT or Claude reads this page and answers with the times it was said.

Connect VO and ask about every podcast you hear, including the moments you saved. Add to ChatGPT · Add to Claude

In short

AWS Podcast Episode #753: Amazon Bedrock Mantle and Developing at the Speed of AI

Episode Overview In this episode of the AWS Podcast, Simon Elisha interviews Joe Magerramov, VP & Distinguished Engineer at AWS, discussing the impact of AI-assisted coding on software development workflows. Joe shares insights from his team's experience utilizing AI to achieve a tenfold increase in code throughput through agentic development. The episode highlights the necessary infrastructure changes to support high-velocity development, innovative testing methodologies, and the evolution of CI/CD pipelines.

---

Key Concepts and Themes

  1. AI-Assisted Coding and its Impact
  2. Transformation of Software Development Workflows: AI is changing how software is developed by enhancing speed and efficiency.
  3. 10x Increase in Code Throughput: Joe's team experienced a significant boost in productivity through the use of AI tools, but cautioned against merely “bolting” AI onto existing workflows without adaptations.
  1. Importance of Infrastructure
  2. Critical Infrastructure Changes: For high-velocity development, organizations must adapt their infrastructure to support rapid development cycles.
  3. Mathematics of Bug Probability: Understanding the likelihood of bugs in large-scale code operations is crucial for maintaining quality.
  4. Innovative Testing Approaches: Inspired by the aviation industry, the episode discusses the need for rigorous testing methods that can handle high code change rates.
  1. Agentic Development
  2. Human Oversight: Joe emphasizes that while AI can assist, humans must remain accountable for the code's quality.
  3. AI as a Tool: The AI model is viewed as a supportive tool rather than an autonomous agent, requiring human intervention and oversight.
  1. Development Practices
  2. Prompt Engineering: The success of AI-assisted coding is heavily reliant on the quality of the prompts given to the AI tools.
  3. Iterative Development: The team practices iterative coding where AI-generated code is reviewed, modified, and enhanced by human engineers.
  1. Challenges of High Velocity
  2. Bug Density: With increased code throughput comes the inevitability of more bugs, necessitating enhanced testing and verification processes.
  3. Focus on Testing: The team dedicates significant resources to developing robust testing frameworks to catch bugs before they reach production.
  1. Communication and Collaboration
  2. Effective Team Communication: The importance of frequent face-to-face interactions within the team to maintain alignment and shared understanding.
  3. Minimizing Meetings: Joe's team aims to minimize unnecessary meetings, emphasizing hands-on engineering work.
  1. Future of Software Development
  2. Evolving Workflows: As AI tools become more integrated into software development, workflows and task management are expected to change significantly.
  3. Innovation in Tooling: There is potential for new tools to emerge that will help manage the interactions between humans and AI.

---

Key Takeaways

  • Build and Experiment: Developers should actively engage with AI tools and experiment to discover what works best for their particular needs.
  • Mindset Shift: Transitioning from skepticism about AI capabilities to a proactive approach to leveraging AI in development processes is crucial.
  • Focus on Fundamentals: While AI facilitates faster development, the importance of solid engineering practices, efficient testing, and team communication remains paramount.
  • Continuous Improvement: Teams need to be flexible and willing to adapt their practices and infrastructures to maximize the benefits of AI-assisted development.

---

Conclusion The episode emphasizes the transformative potential of AI in software development while recognizing the challenges it poses. Joe's insights serve as a practical guide for developers and teams looking to leverage AI tools effectively while maintaining quality and efficiency in their workflows. The conversation highlights that while AI can significantly enhance productivity, human oversight and foundational engineering practices remain essential for success.

For further insights, listeners are encouraged to check out Joe's blog [here](https://blog.joemag.dev/2025/10/the-new-calculus-of-ai-based-coding.html).

Written by AI. May contain mistakes. Listen to the episode to check what was said.

Chapters

Tap a time to open that second in VO

Joe's Journey at Amazon

0:45 to 3:30

Discussion on Joe's extensive experience and contributions at Amazon.

“It might be easier to say what I haven't worked on, but it's kind of interesting.”

Introducing Amazon Bedrock and Mantle

3:30 to 6:20

Overview of Amazon Bedrock and the new Mantle inference engine.

“It's about, it's a cube of about, let's see, six by six by two.”

Challenges in AI Inference

6:20 to 8:00

Exploration of the complexities in AI inference systems and customer needs.

“The first one is we want to offer customers the best possible customer experience.”

The Evolution of AI Development

8:00 to 10:00

Insights on the changing landscape of AI development practices.

“is not what it was three months ago, it's not what it was 12 months ago, it won't be ordered to use in six months.”

Integrating AI in Software Development

10:00 to 13:00

Joe shares his approach to integrating AI tools in coding processes.

“And then maybe about six to nine months ago, I started noticing that I was doing that a lot less often.”

Achieving 10x Development Velocity

13:00 to 14:00

Discussion on achieving significant improvements in development speed with AI.

“the balance there for you uh both um what i found out works the best for me is that if the model is almost there, but missing maybe a line or two, or maybe missing an edge case or two.”

Understanding Asynchronous Development

14:00 to 15:00

Learn about the importance of asynchronous development and prompt calibration.

“the model in the middle and say, no, no, no, wait.”

The Art of Effective Prompting

15:00 to 17:10

Discover how calibrated prompts can enhance model outcomes and development speed.

“So I want folks to listen carefully to what we're doing here because this can really help.”

Building Intuition with AI Models

17:10 to 19:20

Explore how to build intuition for effective requests from AI models.

“One is the observation of having that sweet spot of the request helps me get the maximum acceleration, maximum speed up.”

Using AI as a Collaborative Tool

19:20 to 21:40

Understand the value of AI models in brainstorming and decision-making processes.

“It's fascinating to see, like you said, it's like working with a colleague to some degree of having an interaction.”
Show all 23 chapters

Managing Context Windows in AI

21:40 to 24:00

Learn strategies for managing context windows effectively while using AI models.

“The more you have clarity in your own head, the more you kind of dealt with ambiguity, the faster you're going to go.”

Achieving 10x Development Velocity

24:00 to 28:00

Discover how to achieve significant productivity gains with AI in development workflows.

“So concretely, some requests fit into a single context window where you want to fix a bug, make a change, and you work on it, you finish, you clear the context window.”

Team Velocity and Individual Responsibility

28:00 to 28:48

Learn about the significant increase in team commits and the responsibility of individual developers.

“close to maybe even more than 10x number of commits across the whole team.”

The Role of AI in Code Generation

28:48 to 30:06

Explore how AI tools are being used to enhance coding productivity.

“I haven't seen the results yet, so I'm not actually paying attention, but I'm literally writing code as we speak.”

Managing Code Quality Amidst Increasing Velocity

30:06 to 32:03

Understand the challenges of maintaining code quality with accelerated development.

“It bothers me that there's 12 hours in the day.”

Improving Testing and Verification Processes

32:03 to 34:06

Discover the strategies for enhancing testing and verification in high-velocity environments.

“But we found ourselves that we needed to be raised the bar even higher.”

Addressing Communication Challenges in Agile Teams

34:06 to 36:29

Learn how to manage communication effectively within fast-paced development teams.

“And so I would probably not exaggeration to say that 25 % of the team's energy goes into that aspect, not just feature development, but just thinking about developing practices, thinking about operational best practices.”

Balancing Collaboration and Individual Focus

36:29 to 42:00

Explore strategies for maintaining focus while fostering collaboration in teams.

“Now you talk about also in your blog, you talk about communication and communication bottlenecks.”

The Importance of Reducing Meetings for Developers

42:00 to 43:35

Learn about the impact of minimizing meetings on developer productivity.

“listening will be like throwing their hands up, going, yes, please, that'd be me.”

Leveraging Asynchronous Work in Software Development

43:35 to 45:40

Discover strategies for maximizing productivity during asynchronous workflows.

“So truly asking yourself, is this the meeting that we need to be in?”

Managing Context in AI-Driven Development

45:40 to 48:21

Understand the challenges and solutions for maintaining context in AI-assisted environments.

“So what does a human do during that time?”

The Shift in Software Development Dynamics

48:21 to 52:05

Explore how AI is changing the dynamics and fundamentals of software development.

“And I think this is where there's a lot of opportunity for innovation and tooling to help us manage this.”

Advice for Embracing AI in Development

52:05 to 54:58

Get actionable insights for integrating AI into your software development practices.

“And so seeing that sort of a full circle and coming back to things that matter, things that make you more productive, has really been, I would say a surprise, but been an interesting observation.”
Hear the part that matters, and keep it.Open this episode in VO. Double tap your headphones to save a moment as you listen.
Get VO free

Transcript

Automatic transcript. May contain errors.

0:00This is episode 753 of the AWS podcast, released on January 26th, 2026. Hello everyone and welcome back to the AWS Podcast. I'm Les here with you. Great to have you back. I'm joined by a super special guest. I'm joined by Joe McGarimov, who is VP and Distinguished Engineer at AWS. Joe, welcome so much to the podcast. Thanks, Simon. I'm really excited to be here today. It's amazing to have you here. You've been at Amazon for 20 years. Not many times I meet Amazonians that have had more tenure than myself, but you're well into there. Yeah, you've seen some stuff and you've written so much code and led teams and helped teams write a lot of code that I'm sure many of our customers use each and every day, whether they know to or not.

0:44Just to give us some context, I mean, 20 years at Amazon, what are some of the things you've worked on as an engineer during that time? Oh, wow. It might be easier to say what I haven't worked on, but it's kind of interesting. My time at Amazon kind of has two halves. So I spent the first half, the first 10 years working on all the systems behind our Amazon.com retail website. So I worked on some of our shipping systems, some of our payment systems, a number of systems behind our marketplace. And about 10 years ago, I transitioned to work in the cloud where I worked on our computer networking services.

1:22So I've worked on services like VPC or load balancers, NAT gateways, and all other types of gateways you would have in networking. And then I also worked a lot of time with our container and serverless serverlesses, so ECS, Lambda, UKS. And now last year, I've been working on Bedrock, an inference platform for Amazon. And we worked on Project Mantle, which is something we released this year and something I've been super excited and passionate about. Yeah, just got mentioned and called out in reInvent as well. I guess just to spin, I mean, all that subset of things you worked on, as you mentioned, I mean, I think the characteristics there are they're very much about scale.

2:06They're about robustness and reliability. I mean, you're not working on stuff that, well, if it's an error, there's an error, it's okay. You know, the user will retry. This is like, you know, trillions of packets, real-time processing, mission like this is the stuff that keeps you up at night if you get it wrong i'm guessing that's right yeah it's uh you know reliability and scale is at the heart of a lot of what we do at amazon clearly scale makes a lot of things more interesting and more challenging so you constantly have to think about not just only how do you get the scale right but also how do you get it right in a way that doesn't add too much complexity because complexity tends to be the enemy of reliability and so there's this constant tension behind engineering for scale versus engineering for reliability, and you have to kind of navigate that tension, navigate getting things right, but not too complicated, not too complex.

2:55Yeah, it's one of those classic things if you know it when you see it, but it only takes a whole bunch of years of experience to figure that out. But also, something else I want to call out that our listeners can't see, but I can see, because I can see Joe on video here. Behind Joe is, I don't know what the collective now would be, but I'm going to call it a wodge of patent puzzle pieces. So at Amazon, if we get a patent, we get a puzzle piece, which is very exciting and great. And so it's always good to do that. And I've always been proud of my own patents. I have nine, a small number of nine.

3:26Joe does not have nine. Joe, how many patents are sitting behind there? There's a lot. It's hard to say. It's about, it's a cube of about, let's see, six by six by two. So I'm guessing around 72. Yeah, it's a lot. It's impressive. Yeah, the funny story at Amazon, for folks who don't know, at Amazon, patents are you get a puzzle piece, like an actual puzzle, a three-dimensional acrylic puzzle piece. And while people have different opinions on software patents, what truly gets me is that I love puzzle pieces. And so this whole concept of stacking things together and building out of them, and you hear a lot about it, is I'm a builder at heart, I'm building stuff.

4:12And so the whole concept of stacking those pieces and building it is really what it feels to me. And that's, I'm afraid to admit, that's by far the most fun part of getting a software pattern. I think you've picked the hardest possible way to get puzzle pieces to make a puzzle, but I love the dedication. I think that's fantastic. So we talked about this thing called Mantle, which is part of Bedrock. Just help us understand, I guess, what problem are we solving, what it's for. And then we're going to get into the guts of how you built it, which is, I think, really a great unpacking of the current way of using AI for software development.

4:47But before we get to that, let's just talk about Mantle and give it its due. Yeah. And so Mantle is a new inference engine underneath Amazon Bedrock. So, of course, starting Bedrock is an inference service for Amazon. It's a public AWS service. and it's a service that's seen tremendous growth, tremendous amount of customer adoption and we've learned a thing or two operating bedrooms. So as we've operated it for a couple of years, we've learned how customers use it, we've learned how inference behaves, we've learned how inference scales. And so with Mantle, it's our realization that at the heart of its inference is not quite a web service, but more of a scheduling system.

5:33And so a request comes in, and there's a lot of concerns you typically see in a scheduling system. Things like prioritization, things like fairness, things like placement, things like call placement, where you want to have multiple requests placed at the same time. And so there's a lot of those concerns come in. And so if you look, if you step back and look at the whole ecosystem, and if Bedrock, you realize that it's, well, what it does is a giant scheduling system. It's our, in an effort to accept that reality, to make sure that Bedrock can offer the best customer experience, we've built this new inference engine underneath the Bedrock.

6:09So if you're using Bedrock today with models like Minimax, GBT-OSS, or Mistral, Mantle system is what's actually placing and executing those requests. And of course, from the customer's point of view, the benefits are twofold. The first one is we want to offer customers the best possible customer experience. So the best latency, the best performance, the highest number of features that the customers want to. But on our side, we also want to do it at, we want to operate this fleet efficiently because it's a large fleet. And as everybody knows these days in France, it's a demand constraint space where there's enough demand for the customer.

6:48And so if you can't quite utilize your resources efficiently, then you're not serving all the customers who want to who want to use the servers. And so on our side, we also want to make sure that we do it as efficiently as possible. And so Mantle was a combination of kind of observations of how inference behaves and us building the inference system that allows us to serve our customers, serve them well, and keeping our utilizations and our costs as good as possible because they don't want to be able to pass them. And then we pass them to our customers. That's right. Exactly. Exactly. And I think one of the great things about that challenge is because of the proliferation of different models and being able to cater for all these kinds of models and kind of being able to run inference efficiently on that is a non-trivial problem.

7:38And I think what's interesting is that you and the team decided when you were going to build this particular service or part of the service that you were taking an AI first development approach. and just before we got into the show, we were having a quick chat and we try not to chat too much before the show because then all the good conversations happen off the show. But we're talking about the fact that what is the way to develop using AI today is not what it was three months ago, it's not what it was 12 months ago, it won't be ordered to use in six months. It's changing all the time. But what really appealed is you and the team have taken an approach and then you've blogged about this approach and used data to talk about what happened, what you've learned.

8:19So we're going to get into the guts of this because I think there are folks who are hungry to hear about this. So firstly, you're a distinguished engineer. As I said, you've got the wadge of patents. You've written more code than most would have, yet you've taken an AI-first approach. What was the thinking here? Let me kind of tell you a little bit because I think everybody had a slightly different path in how they started trying to use AI-based at all. Let me walk you through my path. So, of course, five years ago or four years ago, ChatGPT comes out, LLMs become a mainstream, and one of the capabilities they had was writing code.

9:00So folks, a lot of interest in that industry, a lot of folks trying it. And probably roughly about two years ago for me, I started trying to write code using LLMs. And of course, the results were pretty mixed back then. You can try, you can maybe have it write a little piece of code and occasionally would have to get things right. Twitter is full of all the jokes and all the comments making fun of the code produced by Lollams. And slowly they were getting better and better. And for me, there was about an inflection point where I started being able to use it on actual prototypes. So I could literally have an idea, I could use a model to write a little prototype, try it out.

9:42But yet, I wasn't quite convinced yet whether this is something that could be used in production. So I would totally take the prototype and then turn it into something that I would build. It was usually maybe more as a gimmick or as a tool to help me learn rather than something that would make me more effective. More productive. Yeah. And then maybe about six to nine months ago, I started noticing that I was doing that a lot less often. All of a sudden, the code produced by the model was getting good enough to where I still needed to make modifications. I still needed to constrain it, but all of a sudden it was solving the problems in a more robust way.

10:20And so you could have this steady march of progress. And at the same time, we were also trying to figure out how do we can apply models? How can we apply this learning to actually turn it into real production code? What needs to change in our industry? One is the change in our approach is to where we're actually not just using it for tour exercises and POCs, but actually using it for real production. For real stuff. And so within Manful team, we had a couple of ideas, a couple of thoughts. They're not that fancy. And one of our realizations was that at the end of the day, the model is a tool. And it's a tool that accelerates an engineer.

11:07And so one concrete rule we have, and I think that rule worked out really well for us, is that at the end of the day, any line of code committed into the repository has a human name attached to it. And a human is ultimately responsible for the quality of the code. And so if you look at it that way, it's probably more analogous to a compiler or to a programming language other than to a fully autonomous agent that runs around and modifies the code. And I'm not saying there aren't patterns that could benefit from full autonomous agents, but in our case, we made a decision that a human is the ultimate author of the source code.

11:45Well, that's kind of the continuous extension of you build it, you run it type thing. It's like accountable for all your code, however you produced it. You know, you could have got a barrel of monkeys to make that code. It doesn't matter. That's right. It's still Joe's code. That's right. That's right. And once you have that accountability, you now start a lot of write tensions happen where the engineer responsible for writing code has to figure out how to make the model produce the right quality code. For me, everybody has a slightly different approach, a slightly different pattern. What I do is I give a model a prompt, and we can talk a little bit about it, and that process was interesting.

12:23and then I let the model produce the code and I review it. I review it. I decide my first decision is like well did the model solve my problem in the right way or not or do I agree with the solution and more often than not I do and then I decide did the model you know did the model solve the problem to my liking. Does it have that did it use the right practices? Did it use the right libraries um is it overly complicated or did it miss edge cases and then i iterate on that on that project the way i would almost do it myself i i fix bugs i fix issues uh and at some point you're fixing the code directly at that point or are you prompting the ai to do the coding what's the balance there for you uh both um what i found out works the best for me is that if the model is almost there, but missing maybe a line or two, or maybe missing an edge case or two.

13:16I'll just take over and finish it. Just quicker, faster. I don't mind doing it at all. Occasionally I find that, well, it's not quite how I would have done it. And then we go for a second round. And no different how you would do it with an engineer. You provide feedback, perhaps change data structure here, perhaps let's use a different algorithms. And we kind of iterate on it until we go. Earlier on, though, and this is part of the learning experience, I would actually, and this is me getting into a little bit of kind of how my approach evolved. In the early days, I would literally stay glued to my screen.

13:56And I would look at lines of code appearing, and I would even stop the model in the middle and say, no, no, no, wait. yeah yeah you're going off on a tangent yeah let's change the direction let's try something different as i've gained more better intuitions and gained a little bit more confidence about how the model works i started going becoming more and more in asynchronous where like it's literally i i send the task over the fence i wait for the results i evaluate the results and i repeat Google. And almost universally, it's a multi-step process. We iterate, but I've got to the point where I've also calibrated my prompts enough to actually find out what's just the right level of complexity to ask the agent to do that results are going to be something to my liking.

14:44And I think at the moment, that's one of the sort of techniques or tweaks that's really important. And before we get into that, I'm going to call out what we're going to talk about in a minute because we're talking about this, but we have data that shows 10x development velocity. So we'll get into that. So I want folks to listen carefully to what we're doing here because this can really help. So the prompting is a huge thing. I think at the early stages of quote-unquote vibe coding, people are like, you know, write me Twitter and expect the thing to do stuff. And we've come a long way in terms of understanding, well, you know, the better you prompt, the better the outcome can be, how big should something be, etc.

15:19It's almost like the old microservices conversation we'd have is how big should a microservice be. So tell us about the prompting approach you're currently using. And I'll preface this on your behalf by saying, this is the approach you used today. It doesn't mean it's going to be the best approach tomorrow, but it's what you've learned. Yeah. And I think it hit something important when you said, you know, don't ask the model to write me Twitter. Because the reality of it, like just like anything else in life, you need to calibrate yourself on how to most effectively use the tool, right? Like when I first started software development, I learned, I started with C and I'm terrified to look at my first code.

15:58I didn't know what I was doing. I was likely, I was likely using wrong idioms, bugs galore, asking the language to do too much or something that it wasn't meant to do. And as you hone your skills, as you practice, you kind of get this intuitions about which approaches are likely to work and which approaches are not. And one of the intuitions that I find that is super helpful to build is finding the maximum supportable request from the model, meaning that something, you know, you ask too much and the model is likely to fail. It might run out of the context window or it may too much ambiguity. It does weird stuff.

16:37Yep. Yep. Ask it for too little. And well, you're not getting quite the speed ups because yours still has to be constantly in the loop and asking. And so one of the intuitions you build up and one of the reasons I think that actually doing and trying things is so important is that you build up that intuition of what is that maximally supportable request? And changes over time. It's not a static thing. It changes with the model's abilities, projects, domains. But having that intuition has been incredibly, incredibly helpful. And so for me, I've learned a couple of observations. One is the observation of having that sweet spot of the request helps me get the maximum acceleration, maximum speed up.

17:25The second one is ambiguity. And this is where one of the interesting places is where, you know, we work in a field where many different approaches can solve the same problem. And sometimes you don't care and you can just pick new ones. Other times you may have strong opinions based on your past experiences as an engineer, based on your kind of what you're trying to accomplish. And so helping the model disambiguate also what you want to do turns to be super helpful as well because it sets up the guardrails for what you want the model to operate, which is, by the way, no different than dealing with junior engineers where you want to set up guardrails, you want to set up shared expectations and work from that.

18:07And so a large chunk of what I kind of do, how I operate, is just trying to think through what are the appropriate guardrails, what are the appropriate constraints, what are the high-level approaches I want to do. And for example, it's super common for me to actually brainstorm a problem with the model first before we even start implementing. And so just recently, I was working on something where I didn't quite have a good intuition as myself yet what I wanted to do. And I literally started with like, here's the problem I have. List solutions. The model listed one. Immediately became obvious that one of those was really not going to work.

18:46So we went the other way. We worked back and forth to the point where I finally felt confident that this is going to work. The model understood what I wanted to do or at least the context was there. And then I flipped from the brainstorming mode to, okay, let's go make it happen mode. and so it is you know it is this the tool is extremely flexible it can be used in different ways and you kind of want to take the maximum advantage of it you want to not just um and not just tell it what to do but sometimes also use it to help you figure out what to do and how to do it i think i think that's a really important insight because it's you know if you think about how these models are trained they're trained on huge corpuses of code some good some not so good but lots of code and so it it has it doesn't have an opinion it's a statistical model but it has access to way more code than we can fit into our heads and there's a lot to be said for hey here's the problem domain i'm trying to work on and simply one of the things i've found is really useful with the models are saying ask me questions you know like prompt me to tell you what you need to do to get to a better point and you as you say you start that dialogue and you're still driving, but it's taking you around lines that you may have not even considered and different approaches that just weren't in your mind because, you know, you hadn't had your first coffee yet, you weren't sort of really thinking clearly.

20:06It's fascinating to see, like you said, it's like working with a colleague to some degree of having an interaction. Yeah, and that's exactly right. The model has seen every single implementation of B-Tree out there. I have not. Sometimes it's just brainstorming. I still want to be in the driver's seat. I still want to be the one that makes the ultimate decision the way we go but using the model as that sounding board uh on on problems is oftentimes i found it as a useful first step and a lot of times helps me help helps me decide what i want the model to do before i even go to the because you're still deciding this comes back to you own the code you're you're it's not you know hey model figure something out and then go implement something i have no idea about it's like you still you're and even if it's proposing something maybe you're not that familiar with i'm assuming you probably do a deep dive yourself and And so, well, actually, what is in this for me?

20:57Is this an algorithm I haven't seen before? Is this an approach I hadn't considered? What do I need to know to understand the risks? Yeah, absolutely. And you still review the code. And you still have to keep your judgment on what complexity you want to introduce and when you want to go the tried and tested way versus trying something more performant or more experimental. And you have to still own the decision. And at the end of the day, you have to verify what's being produced. But having that conversation is, I found it often useful to just, because at the end of the day, the clarity of thought, clarity of what you want to do is what provides the acceleration.

21:42The more you have clarity in your own head, the more you kind of dealt with ambiguity, the faster you're going to go. That's been true before. That's true even more so now. And so the models are fantastic tools to just help you gain that clarity as well and kind of brainstorm ideas and try new things. And then, you know, in the old days, we would use Google, we would use Docs. These days, it's just a new way of doing research and a new way of kind of learning. Very, very true. Well, you know, even things like the fact that, you know, there's the AWS MCP with access to all the documentation just saves us time on looking up the document.

22:17I mean, even we at Amazon look at the documentation. Oh, absolutely. In fact, I found out the models, they know AWS services better than me sometimes. Which is crazy because you wrote them. Asking questions and asking about behavior has been a tremendous time saver. Let me touch on context windows briefly because certainly what we're seeing is that if you're running a heavy full context window, So, things start getting squirrely. And so, certainly in my own personal workflow, I'm using the frequent intentional compaction approach and finding great results. I've almost become resolute about, you know, once it gets over 40 % to 60%, I'm compacting because weird stuff happens.

22:59Are you seeing that? Do you manage your context window particularly closely? Oh, like there's no tomorrow. And for listeners who are not familiar, models have context windows, which is the the ultimate kind of limit, constrained resource when dealing with the model. Typically, this range from 100 ,000 to a million tokens. And as soon as the context window reaches the maximum, the model cannot do work anymore. So you have to use techniques like compaction or reduction or kind of long-term memorization to just start working around that. And so it is one of the things that you as an engineer need to actively model and manage.

23:44And what I found out, what I do, I do a couple of things. And there's an interesting conversation we can go into what happens, how the tools need to evolve. But I clear the context window between every request. And so what I try to use, I use a lot of files as a long-term memory for the model. So concretely, some requests fit into a single context window where you want to fix a bug, make a change, and you work on it, you finish, you clear the context window. A lot of things I work on, they take more than, you know, they require multiple iterations. And there, what I find works really well is starting with a file that describes a high-level approach we wouldn't do.

24:29No different than what I would do if I was working on a large problem myself. yourself yeah yeah and then we break it down right you break it down um uh cure that some of that for you with their spec driven development i tend to use the command line tools a lot and i would start with the model i start a prompt with okay here's our here's the design we agreed on we're now on step two out of seven or two out of however many um and here's what we're going to do in this step and this step we're going to be doing blah blah blah and then Just these things. Just this thing, right. And then when we finish it, we commit the code and then we clear the context so we forget everything we've done.

25:08Except that durable file that keeps the track of our intent and the last commit and we continue from there on. And so, currently a lot of it is things I do manually by hand and it's just that's the match really well how I work myself as well. I start with the end-to-end goal but then I break down problem and it just generally how humans tend to work, right? You want to break down the problems, the smaller problems, then go after those. I can imagine longer term, this is going to become part of the built-in tools and this is going to become, this workflow is going to be a lot more natively built in.

25:44But yes, the context window is something in your, kind of in the back of your head, in the back of your mind, and you are effectively managing to it as a constrained resource and breaking down the problems as much as you can to the point where you take maximal advantage of that resource. And the funny thing is, both of us being quite, you know, experienced, let's say, practitioners in the field is that there'll be a time in the next few years where we'll sit back together and go, do you remember when you had to manage context windows? You young kids these days, you don't know what it was like.

26:16Yeah. So, Joe, you mentioned in your blog post 10x development velocity. Now, that's a classic, you know, well, that's got to be marketing gump. There's no way you can prove it. You know, come on. Yeah, and anyway, anytime somebody says use a round number, you have to. Yeah. You should have gone to 12.7x. Yep, yep, yep. So tell us about it. Tell us what that looks like in your team, in that team. Yeah, well, so I don't know exactly what the number is. Is it 9x or 11.3x? I'll tell you from my personal experience. and personally you know our our field when we think about measure productivity that's a that's a topic for many other podcasts because it's such a deep topic and so many strong opinions but at the end of the day the way i view it like well we we engineers we we build software to solve customer problems and then at the end of the day to build software you have to write code and you have to write high quality code but you have to still write code and for me i've always I've always enjoyed writing code.

27:24Time's always been a challenge as I've become a senior, but I would always find an hour or two a day to write some code, to do a little bit of engineering work because I just enjoy doing it.

27:39And with the kind of switch with agentic-first development, I just find that I just accomplish so much more in the same amount of time. And for us, you know, for our team, again, And commits are not the whole story. They're just the slice of the story. But we've written on average close to 10x, close to maybe even more than 10x number of commits across the whole team. And it's not even just one team member. It's not just B. It's every team member on the number team. It's the whole team. The whole team. And in your blog post, just for folks to understand, there is a great commit graph that shows the velocity of the team pre and post.

Read the full transcript

28:19and it's, I was going to say unbelievable, that's wrong because it's believable. The data tells the story. It's like it's this dense, packed amount of committing going on. But as you mentioned, I want to reiterate, still owned by the individual developers, still responsible for that, but you're shipping a lot more. And you talk about it like driving at 200 miles an hour, which I think is a good analogy. Well, in fact, even as a joke, maybe to drive the point home, So as you and I are talking right now, I prompted the model to write some code. I haven't seen the results yet, so I'm not actually paying attention, but I'm literally writing code as we speak.

28:58Can I share a dirty secret? I have Cairo writing some code for me as well. This is nerds. This is the modern nerds. We code even when we're doing other stuff now. It's different. Yeah. And really, the reality of it is the enablement, the amount of credit I've written would not have been possible in other worlds. Not just because it takes more time or I don't have enough free time. I fundamentally would not have had enough continuous time where I could sit down and write that code. Physically generate that code, yeah. Because there's a lot of demand on my time. There's a lot of things coming in.

29:35And so having this, it's not just the velocity improvement, but it's also switching from a synchronous mode of writing code to a synchronous mode of writing code where I can actually write code and not necessarily have an entire of my attention span focused on that until the end where I want to go ahead and review the results. And so that in itself is what's been so enabling for me is that my family jokes around. I've gotten to the point where I love giving a model something to do overnight. Just because I love kind of... It bothers me that there's 12 hours in the day. You've made it productive.

30:10Yeah, it's wonderful. Yeah, I can just give it a prompt and wake up in the morning and maybe it was too ambitious, it doesn't work. But it's like, let's just keep working, right? Nothing to lose. Exactly. I don't need to be up. So might as well use the compute cycles to produce some code and see where it goes. So if you're generating all this code and you're still responsible for it, how are you ascertaining the code is of high quality? Are you doing your testing? Are you seeing an increase of the velocity of bugs along with the increase of the velocity of code? Yeah. Well, humans are going to be humans, and so bugs will continue being an issue in that industry until there's a breakthrough in how we do validation, how we do verification of code.

31:01I suspect we're going to have to be dealing with bugs. And so that's not different with the code written by me or by the model. and so the thing that's changed and the thing that that our team had to work through and had to navigate is that even at the start even if the rate of bugs was lower than what would have been with a human they still happen and when they happen when you when you write a lot more code you're going to have a lot more bugs just just just simple math right rule of big numbers yeah but what's even worse about those bugs is that now it's your bug density once you have to deal with them, they impact the whole team, right?

31:39Like you checked in, if I check in a buggy code today, it's going to potentially break other engineers' workflows and other engineers' codes. You're going to have almost like a tools down scenario as everybody tries to chase down what's changed, what's broken. And so we've learned very early that we have to, and none of it is new, our industry has been paying a lot of attention to how to improve the testing, how to improve the verification of software. But we found ourselves that we needed to be raised the bar even higher. We needed to focus on how do we catch as many bugs as possible before they checked in, before they get into the production source code, before they get into a beta environment where they could impact other engineers who are doing testing.

32:23And so a lot of the thought that we've been putting, a lot of the energy we've been putting is how do we set ourselves for success in a way that we don't constantly stumble and introduce bugs. Once again, a lot of things are not novel ideas. This idea has been tried out. We've done them in the industry, but all of a sudden, they become even more important than they were before. Because at these rates of change, you need to have a way to curtail chaos or else it just becomes... It just explodes. Yeah, it explodes. It exists human's ability to reason with. And so a few of the things we've done, And this is maybe kind of worth it.

33:01If I had to pick the one thing that I think made our team successful, it was less about having folks who knew what we do. A lot of us, this is new space for all of us. Our whole industry is trying to figure out how things are going to work. But having folks who are, when faced with obstacles, look for solutions. And so it's very easy to say, yep, I introduced the bug model. Joe and Model together wrote a bug that made it to production. We should slow down and not continue. Not let that keep happening. Right? And it's a lot more satisfying, but yet at the same time, a lot more difficult to say, like, okay, what do we need to change to make that not true anymore?

33:46And so for our team, one of the things that we've been putting a lot of attention is how do we, how do we, we accepted that using AI-assisted agent decoding is the way we want to, the industry is going to work. What needs to change in our build systems, in our test systems, in our development workflows, in our operational workflows to make that a reality? And so I would probably not exaggeration to say that 25 % of the team's energy goes into that aspect, not just feature development, but just thinking about developing practices, thinking about operational best practices. And sometimes it's subtle things.

34:19A very concrete example of that, our build system you know our build system has been around for a while it solves a lot of Amazon needs but it's not fast and that made a ton of sense in the world where it didn't have to be because if the human takes a week to build to write software or if a human takes a couple days to write a feature who cares if it takes 20-30 minutes to build and test and run all the integration tests but in the world where the velocity is sufficiently high, that workflow now can become a bottom line. And so one of the things that we worked on is working with our build systems, with our partners in builder tools, and how do we actually speed up this workflow to the point where we can't get an answer in a few minutes.

35:07We can't have the model run all the tests, run all the builds, and catch integration bugs much, much faster. And you can have, it's not one big thing, but it's a lot of this little attention to details little like you see a barrier you knock it down you figure out how to how to pave the way and it just takes takes works takes attention to details takes a kind of almost like stubborn persistence to keep insisting that it's possible to get a 10x or 5.6x speed up let's figure out how we get it well i think it's interesting because you are pointing out that as you as you unconstrained one thing you discover new bottlenecks and similar to when we're writing services and deploying services at scale.

35:46You know, the attention to detail once you get to scale is vital to get the benefits. And suddenly, if we're talking about the scale of a software developer suddenly becoming, let's use 12.7x as our number now, 12.7x, suddenly it's really important to focus on all the other efficiencies around that person, what they're doing, because that's going to be the big pole in the tent all of a sudden. That's right. That's right. and a lot of it is just, like you said, attention to detail and just desire. It's desire to go fast and desire to un-bottleneck yourself while still keeping up the same bar on quality, reliability, security and all the other things that we value.

36:27Yeah, absolutely. That can't go at all. Now you talk about also in your blog, you talk about communication and communication bottlenecks. I think if all of us working in IT know that the ultimate world of IT is often me, myself, and I working on my own thing. No one doesn't have to talk to anyone else. Life is perfect. You know, no overheads. And the minute you add one other person, it gets more complicated. The minute you add more than one other person, it gets exponentially more complicated. But if you want to go far, you need lots of people. So talk to us about communication and what you found, particularly working with this velocity.

36:59Yeah. There's a famous beam of, you know, you have, it plays on a graph theory, But if number of nodes is N, then number of connector edges is scales based on N squared. And so as the team grows, communication becomes a disproportionate percentage of your overall time. And so, yeah, our hypothesis early on was that it is really hard to move fast without communicating a lot. And you can kind of decide, and you know, Amazon is famous for the service-oriented architectures where we use service as boundaries of communication, right? So a service A can operate without spending a lot of time talking to service B other than the few times they have to change the interfaces.

37:46And that works really well at the large-scale organizational levels. But when you're working within a single platform, a single service, communication is oftentimes one of the necessities for speed, right? that shared understanding about goals, about approaches, about trade-offs, intentions. And so our hypothesis early on was that it would be really hard for us to move fast, for a mental team to move fast without communicating frequently at high throughput, even high fidelity. And so our hypothesis was that remote is not going to work. And I know folks have all sorts of opinions about remote work.

38:30But for us, we have a thought that we will need to be all sitting together close to each other, be able to constantly communicate within the mantle team, just because the speed at which we thought we could move is just going to be really hard for everybody on the team not to be on the same page. And so we all sit. In fact, the whole team is sitting right outside my door right now, probably listening to me speak, but we'll see. So we all sit in one small area. we have a lot of interactions, we have a lot of discussions we have a lot of debates generally our mental model has been if we have a question or a decision to make we don't schedule a meeting, we just walk over to each other's desks and have a quick conversation.

39:15Sometimes we resolve the discussions quickly other times we realize that we've uncovered a fundamental decision point or fundamental trade-off and then we have to spend a little bit more time whiteboarding the idea, talking through this But I probably wouldn't exaggerate if I said on a typical day, I at least spent one hour just talking to other engineers in a high-throughput face-to-face interaction in front of the whiteboard just to work through the details. And how do you find that works in terms of obviously, and when folks get into quote-unquote flow, it can be frustrating if someone sort of taps you on the show and says, hey, can I borrow you real quick?

39:51How are you balancing that tension between those two things? um probably not too well for me um i generally find myself well you get to you get to say hey this is what we're doing folks yeah well not only that but i also find myself that i i i prioritize shared understanding of everywhere else and so if somebody comes to me uh with the problem or space decision they have to make i actually think that probably is most important thing i could be doing at the time yep i might be in the middle of writing some code i might be in the middle of debugging something, unless it's an emergency, I will prioritize shared understanding.

40:29Because at the end of the day, the cost of not having that shared understanding is that you're going to go build something wrong, and then you're going to have to double back and redo it. It's more expensive in the long term. It's more expensive in the long term. And so over time, I think I've taught myself to just always put my headphones down or turn my computer off and go spend that time. but at the time you know one of the one of the cool things about kind of having small packing teams is like you also learn each other's styles and you you know how different folks operate and so for example i know if one person has their headphones on it's probably because they don't want to be disturbed uh somebody else's uh somebody else is always just like me and they're happy to be to jump up from the table and talk to her and so you kind of learn you know learn each other's practices learn each other's habits and frankly that's to me that's always a sign of a healthy team of folks who just respect each other's boundaries, respect each other's approaches, and know enough about each other to work in a way that's most effective for each other.

41:31But for us, we generally, for small discussions, it's calmed up on the shoulder. When we have a big discussion, we want to make sure that we take a little bit more structured way where we would bring it out there and stand up and say, yep, we're going to have this discussion next. whoever needs to be part of it to come join it. But you and the team also, I think, have been very convicted about, this is something I know a lot of software engineers listening will be like throwing their hands up, going, yes, please, that'd be me. You've been very convicted about removing meetings and having little to no meetings in your diaries, which I think is fantastic.

42:10Just unpack that a little bit, because I know from a productivity perspective, it's a huge thing for developers. Yeah. Well, I'm not quite as successful. I still probably spent 20 % to 25 % of my week in meetings. But yeah, look, the meetings meme runs very deep. Our industry has been talking about meetings and discussions. One of the things that, even before we got to AI-assisted coding, one of the things that always I took prioritize, that's how I could find those couple hours per day to do coding is that I only want to be in a meeting where it's either absolutely necessary for me to add value to the meeting, or it's absolutely necessary for the meeting to teach me something that I need to learn.

42:58And so a lot of it already kind of came natural to me to reduce the number of meetings I take per week and prioritize just doing hands-on engineering work even before that. Now we took a stricter stance. We want to make sure that the engineering team can focus on building, building Mantle, building the best inference platform we could build. And we took a stance with the team of, aside from this whiteboard conversation, aside from actual discussion pertaining to building Mantle, So truly asking yourself, is this the meeting that we need to be in? A lot of times the answer is yes, right? You have to go meet with another team to figure out a solution to some technical problem.

43:45You have to go agree with an approach. But if you kind of look through that critical lens, a lot of the meetings that you go to may not be that important, right? And you kind of have to sink through, you kind of have to make that cost value of like, is this moving, is this helping me solve the customer problem in a new, unique way? The thing that I would maybe add to this that I personally found works is that having folks who are senior now who actually understand that trade-off is super important. And having, you know, there's a famous, what I find often helps, There's a framework that Maylan, a vice president at AWS, has written.

44:33It's a principles role. She calls it the principles roles framework. And it kind of works through different roles as senior technologists can play in a conversation. You can be a sponsor, a person who is, and I'm going to butcher a little bit of the explanation, but you're a person who is pushing an idea forward. You could be a decision maker. You're the person who is deciding on something. And a couple of other roles. And what I found out is that super helpful for me is looking at the meeting and deciding, am I one of those roles that are critical? Am I a sponsor? Am I a decision maker? Or am I the person who's going to be doing this?

45:08And the answer is no. Usually it's probably a meeting that would be okay to skip. And you still have to apply judgment. You still have to make a decision. But going to that framework of the outcome that you are bringing to the meeting is oftentimes a useful framework to decide whether something is worthwhile you're attending. And if you look at it, it turns out that, you know, you don't probably have 40 hours worth of meetings in a week. You probably have a lot less. Yeah. I like it. I like it. So you touched on the fact that, you know, you do a lot of asynchronous prompting and that sort of stuff.

45:40So what does a human do during that time? Like, what are you doing and what do your team do during that? Do you sort of kick back, play a bit of foosball? I'm guessing that's not the answer. Take a pop, do a podcast interview. Yeah, do a podcast. Exactly. Now, what are you doing in the gaps? A lot of it. Sometimes those gaps are a perfect time to have those whiteboard conversations where you go and you talk about what you're going to do next. Sometimes actually go grab a coffee or go take a meeting or go have a conversation. Increasingly, the idea I've been toying around with is actually like, well, can I use that time to spin up a second request and do a second change?

46:24And now you can start kind of seeing how you can go even beyond 12.6x and maybe you can get to 22.6x. But a lot of it is just, yeah, it's using that time to do something else. And to be honest, it's not a surprise to anybody, hopefully, that software engineering goes beyond coding. You have to do a lot of other things, right? And so this would also be oftentimes the time I would spend on other things that require building software. Major attention. Yeah. maybe maybe we are you know there's an operational issue i need to look at maybe there's a deployment i need to uh test maybe there's a customer question and and you kind of have to structure your day a little bit differently um and you kind of have to think through you know you start playing the game of like okay let me just get this request in get this prompt out a little quick before before my next meeting so i can i can don't waste the time have the model actually do something it's It's funny you say that.

47:19I've talked to a lot of folks who are like, yeah, as I'm walking to make lunch, I'm making sure I'm hitting enter before I leave the desk for the prompt to happen. I'm at home and I'm between chores and I'll quickly pick off another prompt because I know I can come back in there and start. I have this sense, and it's probably a thought I need to flesh out more, that the whole concept of task management, of work management, particularly for software developers, but all knowledge workers, is going to radically change. because suddenly we're trying to track all these things in parallel. I don't know about you, but once I've got three AI sessions going at once, it's tricky to maintain your context correctly because as human beings, we're not designed to do that.

47:58We're supposed to be tunnel vision and not context switching. So I think a lot more abstraction is going to have to happen to make that a lot easier for us. At the moment, we'll take the lift because we know the benefit is there, but it's not the natural way to operate. Yeah, we have our own context windows that overflow and we need to actively manage it. And they're not a million karat tokens, that's for sure. Yeah, absolutely. And I think this is where there's a lot of opportunity for innovation and tooling to help us manage this. Like, for example, Kiro's, you know, spec-driven development is a great approach to like how do you break down the problems and kind of help the human manage the overall workflow that the model needs to produce in a way that sort of harmonizes how humans and models work together.

48:46and I suspect that there's going to be a lot more innovations in this space, a lot more innovations that help humans interact with models, help humans manage models. Also, the models are going to become more powerful and they may be able to run for longer periods of time with more complex tasks. And some of them are starting to have that ability to spin off other models and all that sort of stuff. It becomes this sort of, you know, turtles all the way down at some point. Exactly. And so, yeah, I think, you know, we are kind of, probably sounds a little cliche by now, We are seeing a big shift in the industry.

49:16And a lot of our things, a lot of how things work are going to change. And we're going to have to learn. We're going to have to discover. We're going to have to pioneer some of those things. And I suspect there's going to be multiple approaches that work, just like with any other shift. And you're going to see a lot of cool new innovation coming out, a lot of cool new tools coming out that help humans help us. So it makes it interesting. That's right. Yeah, it's exactly that. It's what makes it so exciting and what makes it so interesting. And so what would you say the thing that, you know, working this way, you've done it, you know, seriously now, production code, our customers are using it, you've got a team, this is real, real stuff.

49:53What surprised you the most about working this way? Like, did something leap out and you go, wow, I didn't expect that? I mean, the trivial answer is like just the fact that it works as well as it does. That it works. Yeah. Yeah. Yeah. And it's still, you know, if you think about it, there's this model, you know, there's hundreds of billion, you know, trillion floating numbers that somehow produce functioning rough code. Right. Like that's, I suppose we all have to pause and think about how all of that works. If I told you that was going to happen 10 years ago, you would have said, I don't know where to smoke.

50:28Yeah, exactly. Right. I think, I think sometimes it's just worth reflecting the complexity of something and how well it works. but if i had to you know if i had to think that the thing that probably took me most by surprise is that a synchronous nature of software development it's the fact that all of a sudden i don't actually need to be present or even like paying attention um for you know for 80 percent of the 90 percent of the kind of cycle of making a software change and i have to kind of i have to well a figure out what to do with myself but b i don't actually have to be glued to the screen watching every line of code producing.

51:08I think to me, that was a little bit of a surprise because I was still envisioning, and maybe this is just me thinking small, that, hey, we are sitting together, we're actively peer programming, and I'm making changes while the model works. And switching to an asynchronous mode has proven to be a big enabler, a big friendly mindset, more so than just having model produce code. Interesting. And the other thing that's been pretty surprising for me. It's just, at the end of the day, to just make successful, we have to, almost like going to grassroots. A lot of things I talked about, smaller teams where everybody in communications, that's how we used to work 20 years ago.

51:52So where's the fundamentals? Yeah. Building sophisticated test harnesses, paying attention to deployments and builds. But those are invariable in time and they always mattered. They just matter a lot more now. And so seeing that sort of a full circle and coming back to things that matter, things that make you more productive, has really been, I would say a surprise, but been an interesting observation. And a colleague of mine said as well that AI-driven development is going to impact well-functioning teams much more than it's going to magnify well -functioning teams much more than it magnifies not-so-well-functioning teams.

52:38That is a really interesting insight. Yes, I like that a lot. So, yeah, that's, which comes back to, you know, in my experience, well-functioning teams do the fundamentals exceptionally well. It's like athletes, you know, pro athletes. Yeah, they're talented, they're trained, et cetera, but you look at what they do. They do the basics over and over again perfectly. Yeah. That's all it is. Exactly. So, we've got lots of listeners. There's folks listening going, oh my goodness, Joe, sign me up. This is the future of my team. I'm good to go. So what advice would you give to someone in that mode who's enthusiastic, rightly so, but about to embark on this journey?

53:17I'll probably give a couple of advice. I would say try, build. There's just no substitute by building. Nothing I say right now, nothing anybody else says, nothing you're going to read online is going to teach you how to apply the tools to your problem space, to your domain. just fundamentally um i would say being a builder is a lot more valuable now a lot more important now than it's ever before and so just start by building trying leaning in experimenting learning what works what doesn't uh kind of forming your own finding with those edges member yeah find your edges find you know build muscle memory build intuitions and then the second kind of the second advice I would give is that it paves to lean in.

54:03The thing that made mental team successful was the fact that we all believed that it was possible and we knocked down the barriers and we changed our own mental models, our own approaches to make it so. And so I'd say starting with that mindset of not the well, is AI going to work or not, but more of it's like, well, AI works, what do I need to change about my systems, my approaches, my software development approaches to make it so. And just going with there has been incredibly powerful for us because, frankly, earlier on, we ran into bottlenecks, we ran into problems, and it took a lot of perseverance and a lot of attention to detail, a lot of kind of trying things to get things up.

54:47It is hard to do, and it's hard to change your mind, too. And it's hard to let go of things that you did previously or things you think are good. and it comes out to our old friend be stubborn on the vision but flexible on the details. This is what this is. This is your like, you knew you wanted to go faster, you knew you wanted to automate but my goodness, you had to change a lot of detail. Yeah. You had to change. You have to solve a lot of problems. You have to learn a lot of new skills and you have to focus on the basics. Yep. Yep. That's how it is. Joe, this has been fascinating. I know a lot of folks will have enjoyed hearing this from the quote unquote real world if I can put it that way.

55:22This is well beyond Vibe Coding here. Just as a reminder, folks, you're using this code right now in your life. It's happening. Joe, we'd love to have you back sometime to share more about the journey because I know that in six months' time, your workflow will be completely different. So thank you so much for coming on the show. And thank you so much for having me, Simon. I really enjoyed the conversation. Always a pleasure. And would you love to hear your feedback? AWSpodcast.amazon.com is the place to do it. And until next time, keep on building.

From the publisher

In this episode, Simon speaks with Joe Magerramov (VP & Distinguished Engineer) to explore the transformative impact of AI-assisted coding on software development workflows. Joe shares his team's real-world experience achieving a 10x increase in code throughput using agentic development, but warns that simply bolting AI agents onto existing practices is like "adding a turbocharger to a car with narrow tires and old brakes." We dive deep into the critical infrastructure changes needed to sustain high-velocity development, including the mathematics of bug probability at scale, innovative testing approaches inspired by aviation industry practices, and the evolution of CI/CD pipelines that can handle dozens of commits per hour rather than per day. The conversation reveals why the biggest opportunity isn't just writing more code faster, but using AI to make previously impractical engineering practices economically viable—from comprehensive end-to-end testing with fake dependencies to rapid feedback loops that prevent the entire development pipeline from grinding to a halt when issues arise.

https://blog.joemag.dev/2025/10/the-new-calculus-of-ai-based-coding.html

More from AWS Podcast

All 45 episodes
#753: Amazon Bedrock Mantle and Developing at the Speed of AIAWS Podcast · 56 min
Listen in VO