# Self-Improving software factories: The new open source model" — Zach Lloyd — session 2026-06-30T20:55:00.000Z → 2026-06-30T21:15:00.000Z

_72 transcript lines · 4 slides · source: full recording_

## Transcript

Okay. Hello, everyone. I'm excited to be here. My name is Zach Lloyd. Today I'm gonna be talking about self improving software factories, the new open source model, and basically what I think is happening to development. A little bit about me just to begin. So I am a former, principal engineer from Google, used to lead engineering on the Google Docs suite. I've been an engineer now for over twenty years, a long time. I am still, shipping frequently, but I haven't written a line of code in the last six months. And I'm the founder of a company called Warp. Warp, if you're not familiar, is a open source agentic development environment. You may know us as a terminal. That is how the company started. We're basically a terminal that has agents built in. We open sourced it a couple months ago. And I'm gonna Talk a little bit about that experience and the motivation for it. It's a popular open source project, over 60,000 GitHub stars. We've had a couple 100 people contributing. We have over 800,000 active developers who are using WARP. And increasingly, we are focused not just on the terminal aspect and the interactive aspect of development, but more so on how do you automate development. I'm gonna talk About that. So the thesis that I have, is that the discipline of software engineering is going to become something more like factory engineering. And I'll explain what I mean by this in a minute, but just keep that in mind. That's what I think is gonna happen. If you look at development over the past couple years, it's, I mean, it's it's crazy how it's changed. We've gone from a world of chat and AI autocomplete, Cursor Copilot, to the phase that we're in now. Now, which I consider to be mostly interactive agents. So you're sort of sitting at your computer, and you are telling Cloud Code to do something. You're telling Warp to do something. And I believe what's gonna happen over the next six months, a year, hard to predict the pace, is that we're gonna move much more towards a world of automation. But before I get into that, just quick show of hands, how many folks in here are building with agents? Ever ever a 100% makes sense. How many how many folks are building typically with multiple agents at one time? So again, almost everyone. How many people are running an agent right now? I'm not offended. I would Okay. That's totally cool. I would be doing it too. How many folks are running agents in the cloud, out of curiosity? So that looks like less than half, but still significant. And how many folks have have set up a system internally to automate the whole software development life? Cycle. So everything from, like, triaging, specking, implementing, reviewing. So I see some hands. So some people are doing this. So this is what's gonna happen. Every project of significant size, I believe, is gonna have something like this, and it's gonna look kind of like this big loop. And everyone is talking about loops. There's nothing that complicated about loops. This loop says the cloud software factory. This loop could literally just say, like, the software development life cycle. It's the same thing. But just to go through this loop, it's like ideas are gonna come in at the top. Agents are gonna do triage. If something is complicated, they will write a spec. These little blue boxes are where humans step in. Humans will review the spec. Agents will do the implementation. A human and agent will review the code. Agents will verify. Human will review the product. You ship, and then you Monitor and round and round you go. And this is what software development for better or worse I think is gonna end up looking like. So I repeat the thesis which is that if this is what software engineering is gonna look like, software engineers are going to be the ones who end up building and managing these factories. Now, I promised at the beginning and I put in the title of the talk that I was going to talk about open source. And so I want to do that for a few minutes. I'm going to take a quick digression. I bring up open source because one of the main reasons that WARP open source was to build Build a public factory. And so this is a picture of this website we've built called build.warp.dev, which shows all of the issues that are flowing through our system and what state they're in, what agents are working on them, what contributors are working on them. And it's kinda like a proto factory done at scale. It's not working perfectly, but it is working. And one of the reasons we open sourced was to try to build this. Just in general, I think it's interesting to talk about open source in the time of agentic development. This is a really stupid graph, but it's like, it just you get it? It's like, it's becoming much cheaper to build software. A corollary of that is that it's becoming trivial to clone software. And so if you are in the software business, and I don't know how many folks in this room are in the software business per se, but it's very hard To build a software business, if it's free to build software, it's hard to capture the value, especially if a competitor can clone. And so my big takeaway or a big tip for everyone in here is that the first thing you should do is patent your code. I'm kidding. This is a complete joke. Don't don't do this. My my first tip is, obviously, you need to have a great product. This has always been the case, but I would say a great product probably was never enough. But even now more than ever, if you think that you're going to build a great software business just by building and shipping a great product, you're probably not going to succeed. You need advantages beyond the product. And so those advantages could look like distribution, ecosystem. It could be that you have a great brand or a data moat. You might have capital. But if you're a startup again, I'm coming from the startup world here you just don't have these advantages. You still want to break through. And one of the ways that I suggest doing this is by building in the open. And so to be clear, it took Warp five years of building closed to sort of make the leap into building in the open, and I'll explain why. But if you build in the open, it helps build your ecosystem. It can take you from being like hated on Hacker News to like tolerated. It can burn Your brand. It creates community. And so there's all these advantages to it. And some of the things that I think have traditionally been a pain, can now be managed. And so, like, the traditional, you know, pain of open source might be something like you get a lot of noisy issues. You get sloppy PRs. You can end up in code review hell. You can end up having to spend a lot of time verifying changes. And so the solution, so kind of a long winded way of getting to this, for open source or at least for WARP in the case of open source. Thing that made us finally decide to do this was that we built a whole set of automations, really a software factory, around managing the open source project. And so, like I said, this is what I think the future is gonna look like. I'm gonna drill into it a bit just to get a little bit more technical for folks who want to try to build something like this for their own projects. So what are the components of an effective software? Factory, it's really not that complicated to start or at a high level. You need a set of automations. You need a way of providing context and skills. You need a way of bringing humans in at the correct time, sort of like when things get stuck on the factory. And then a really important thing is you need some set of self improvement capabilities. So think of this as loops. And if you do this right, in the open source world, you can get a, you know, Where agents are helping contributors contribute, they're helping maintainers maintain. And I want to emphasize there's nothing special about open source here. I think every sizable project can benefit from this approach. And I I predict that every every company, every open source project will have at its core a software factory, kind of like the way that CICD became just like, oh, of course you have that. Maybe I don't know when that happened ten years ago. Let's The factory floor for a second here. So you're not gonna look at this. This is too much. The the point of this slide is not to have you read the workflow. It's that the factory floor is basically a graph of steps where you are defining, like, okay, how does software get built for my product? And it looks pretty similar for every product. Things come in, they flow through, they get stuck at certain points. And, you know, broadly Speaking just to back out a second. So there's the inputs. The inputs are really ideas. The inputs could be coming from your team. They could be coming from your users. The inputs themselves tend to come in through certain channels that you should think about as, like, your task tracker is an obvious one or Slack, your Teams, like your communication channels. It could come directly from, like, your terminal or IDE. They could come from your monitoring systems, but there's some set of inputs that bring work into the factory. There's triage. This is a really important step. So, again, I boil it down to something very simple, but, like, you want an agent that is looking at issues as they come in and just saying, you know, if this is easy and this is unambiguous, just implement it. And this is how you can actually get going with a factory. If an issue is hard, I recommend having an agent that produces specs. Folks in here using spec driven development? Show of hands. People follow this. Okay. You can do this many different ways, but I think it's very effective. The way that, we do it at Warp that I recommend is having an agent write what we call a product spec and a tech spec. Product spec describes the product invariance that you're building towards. Tech spec describes the architecture and the shape of the code. Then you have an implementation agent. This is basically a coding agent that runs somewhere in the cloud. It makes a diff. You can use all sorts of coding agents for this. You have review. This is in many ways the most painful part. Like, I expect that people are a little bit tired of reviewing Adjentic Slop. I would have an agent to code review first, and then it becomes over time, like, a risk management exercise of, like, when do you bring in humans to do code review? But you wanna have a step in here where humans can do it. This is a very important step, for certain types of Apps, the verification step. So this would be things like computer use, if you're building a a sort of UI, having the computer actually use the code that the agent produced and producing videos and screenshots. CICDs, still use it, obviously. And then monitoring. So agents don't stop in your factory when code is shipped. They should observe what's been shipped. Is it crashing? Is it being used? And round and round you go because you take the output of this monitoring step and you feed it back into the top of the factory. Now you could try and build this. And, I went to a talk earlier that my friend Adam gave where Uber has built an internal version of this, and it's pretty cool. I would say for most, you know, most organizations, it really depends where you are, you'll be able to build a simple version of this easily. But to build a thing that actually scales is probably like, you should probably be focusing on your own product, not building this infrastruct. Because there's a lot of stuff that you end up wanting. You're not, again, not supposed to read this. It's just a lot of stuff. If you do build it, or if you buy it, you'll end up with something that looks kind of like this, which is, you're going to have a bunch of ways of getting work into your factory. That's what's at the top here. You're going to have a sort of control plane for figuring out how work gets distributed across your factory floor. You're gonna have the actual place where the work happens. And so that's gonna be cloud sandboxes. It's gonna be figuring out what agent to run. So what's The harness, what's the model. And then finally, I think this is a really important thing. You're gonna wanna set up some kind of a data plane that sits below your factory. And so that's something that lets agents remember what they've done, learn, improve over time. The factory is not just like a product. It's also a mindset. And this brings me back to The thesis I had at the beginning, you need to measure and improve. So factory this is where the I don't know. You can stretch this metaphor as far as you want, but, like, you should be thinking of efficiency. And so that means, like, how much software did you ship? How much did it cost in terms of human time and token time? And you're going to want to measure this and try to improve it over time. A key part of this is creating loops. So So, loops are again, they they sound complicated. They're not that complicated. Loops are basically ways of, having agents improve, by, like, observing what they're doing, where they're failing. And so a common kind of loop that you're gonna wanna put in your factory is like a skill loop. That means you're gonna have your factory agents that are running skills, and then you'll have observer agents that are seeing how those skills are being applied, looking for issues, and trying to improve the skills. So So for instance, if you had a code review agent, and it was leaving comments and a senior engineer on your team Was going and correcting those comments. You'd want an observer agent that would look at that and basically, improve the code review agent for the next run. This is one thought just to leave folks with, like, what is where does this leave engineers? I think you're gonna have to get into this mindset. And I'm trying very hard to get our team into this mindset. It's not always easy. That you're not just building the product, but you're building the thing that builds the product. And that's, like, it's just different. It's more like process engineering or manufacturing or something like that. And you could think, like, okay, maybe that's a bummer. Like, is that a bummer? Is that, you know. And it depends. Like, it depends what joy you get out of software engineering. If your joy is in writing the code, I think your everyone in here who is a software engineer is going to be writing less code. But if your joy is in shipping product Act. Like, it's never been a better time, and this is actually where I find my joy. It's like I like building and shipping the thing. So everyone in here is gonna code less, but they're gonna ship more, and that's gonna be a trade off. But if you approach it like you're a factory engineer, I think you can see, like, that there's still a really cool set of engineering challenges. Almost think of it as like meta engineering. Like, how do you engineer your system of agents to be the best possible engineering? But I think it's a very compelling and interesting set of challenges to solve. So that's it. For folks who are interested, if you follow the link on this QR code, I've set up a open source GitHub repo where anyone who wants to try building their own factory agents can do it. This uses Warp's agent platform as part of it. But you honestly don't have to use it. I'm not trying to push into our product. This should give you a good sense of, like, okay. If you wanna set up, an agent that does, triage or an agent that does, spec writing, how do you actually do that? How do you get from, like, the theory of working with a factory to actually putting it into practice? I don't know if we have the capability to do questions in here. I saved a few minutes for questions if anyone has questions. Otherwise, I will. I will wrap up. Yes? Yes. It's a great question. So I said something that's almost contradictory. I think, you should the way you should think of it is, like, everyone's gonna deploy some sort of factory, but then the tuning of the factory, the, like, are these the right skills for my domain? Is this factory building my product in the right way? I still think there's a bunch of interesting engineering challenges. And for some places, you can build this. Again, I think I think that you should probably be focusing on building the core product for your company for the most part. But there's a bunch of, like, tuning and, like, figuring out how to make the factory work for your product that matters. That's a great question. Yes. Yes. So the the question in case people couldn't hear was, like, if I was a college student graduating and entering the workforce right now so I think that the most important skills in this new world are adaptability. I think that that's critical thinking. It's like the the speed at which you can learn. I do think I don't know if you're a computer science student, but I still think there's a ton of value in understanding, like, the underlying systems and architecture and being able to reason and understand the code. Understand the specs that agents are written sorry, our writing. So I I would focus on on those skills. And, like, I don't know. We're hiring more people than we've ever hired. There's a lot of kind of, like, misdirection around, like, you know, people not being hired because of AI. That's not the experience we've had so far. And what I'm looking for are, like, really adaptable, product focused thinkers who can, like, basically be great problem solver. Problem solvers, even as the Underlying technology changes. Yeah. I think I have time for one more question. Yes. What about the product discovery ideation? What about the like, so the question was, what about the the product taste in, like, the how do you actually build something useful? I think is probably the right, like, maybe the framing and, like, where do the ideas come from? And so I think that, the problem with the factory metaphor, even though I'm, like, leaning into it because I think that's

## Slides

### 00:14:18

# The factory primitives:

- **Terminal** (Agentic Development Environment)
- **Oz Web** (Agent dashboard)
- **Integrations** (Agent dashboard)
- **

### 00:14:48

# You need to measure and improve.

**Factory efficiency** = Software shipped / (token cost + human cost)

### 00:15:16

# And you need loops for improving this system.

## Inner loop
`issue-triage/SKILL.md`
- New issues get created.
- Triage agent classifies issues.

## Outer loop
`improve-issue-triage/SKILL.md`
- Skill updater reviews comments
- Agent PRs improvements to skills

Engineering the future of AI

[Diagram showing two interconnected feedback loops, an "Inner loop" and an "Outer loop", illustrating a system improvement process.]

### 00:15:43

### The Factory Mindset:
You won't be building the product.
You'll be building the thing
that builds the product.
