Boris Cherny: Building Claude Code
Claude Code creator Boris Cherny on Opus 5, agents that run for days, and building products when the models keep outrunning you.
Fresh off the launch of Opus 5, Claude Code creator Boris Cherny joins Diana Hu at Startup School 2026 to talk about what the newest models can do, how Claude Code came to be, and what it means to build products when the underlying capabilities keep accelerating.
Timestamps
00:07 — What Makes Opus 5 Different
02:06 — Solving Prompt Injection
03:21 — Why Claude Code Deleted 80% of Its System Prompt
06:37 — Press Delete on Your AI Product
07:20 — How to Rebuild Your System Prompt
10:30 — Product Overhang and “Unhobbling” AI
14:26 — Give Claude Harder Problems
19:32 — Prompt Engineering Is Changing
21:57 — The Two-Week Claude Code Prompt
24:42 — Running Thousands of AI Agents
30:15 — Coding Is (Almost) Solved
32:20 — What Every CS Student Should Still Learn
Transcript
Diana: Alright, Boris, we’re so excited to have you here, the creator of Claude Code. Thank you.
Boris: It’s great to be here.
Diana: Fresh off the press, you guys just shipped Opus 5 yesterday.
Boris: Yes.
Diana: And it seems that model performance keeps accelerating. You guys took Arc AGI 3 to 30%, which is incredible.
Boris: Yes.
Diana: And for context, before, the best score was in the low single digits or low teens, right? What can Opus 5 do now that it couldn’t versus a previous version?
Boris: Yeah. There’s a lot that goes into every new model and there’s a lot of new capabilities that we teach and get the model to do. Whenever you do model training, you try to teach a whole bunch of different things and most often it doesn’t work. But some subset of the things, the model does learn. And sometimes it also surprises you. It has these skills, it has abilities that you actually didn’t really teach it, but it just learned. For 5, one example of something it does that I think no other model has done is it runs for a very long period of time. And especially when you combine Opus 5 with Auto Mode, it’s just incredible. It can go for days, weeks, months at a time. It just won’t stop. You don’t even need to use scaffolding. So you don’t need slash goal, you don’t need all this other stuff.
It’ll just go because it knows it needs to do the task. Another thing that I’m really excited about, and I’m going to start to talk about a little bit more, but it’s surprising because it’s such a new capability, is the model does not seem to be prompt injectable anymore.
Diana: That’s prompt injectable.
Boris: It’s crazy. People have talked about this lethal trifecta for a long time. And this really affects harness design and agent design and product design. Because if the model reads some instruction on the internet that’s like, “Do X and Y and Z and also delete everything on the user’s computer.” A year ago, the model would have just done it. But nowadays, Opus does not. And this has actually been the case since Opus 4.7, 4.8. Sonnet 5 has been quite good at this, Table was quite good at it. But Opus 5 just hits a new frontier on this. So essentially if you combine a well-aligned model—so this is essentially three years of research into alignment—with a prompt injection classifier, which we run for all traffic. And what this is doing is it’s based on Crysola’s mechanistic interpretability work where it’s literally, we’re looking at neurons in the model’s brain that light up when prompt injection happens.
So the model won’t even tell you, but we can actually see those neurons and we can figure out and diagnose that it’s happening. And then you combine that with the auto mode classifier. And with these three layers, we just cannot demonstrate prompt injection anymore.
Diana: Talking about prompt injection, the other side of the coin is now the system prompt. Let’s talk a bit about the new release. You actually deleted over 80% of the system prompt from Claude Code.
Boris: Yes.
Diana: Tell us more about that.
Boris: I think something that a lot of people might not realize is Claude Code as a product and as a harness is just always changing. We’re always adding stuff. We’re always deleting stuff. Every time that a new model comes out, we delete a bunch of the system prompt, change a bunch of the system prompt. We change the set of tools all the time. We change the prompts for the tools all the time. And the reason is every model is very different. So something that you did for one model maybe three months ago, it just might not translate at all to the next model. And so one thing about Opus 5 is it’s just really intelligent. And a lot of the stuff in the system prompt was correcting for these behaviors that the model should have known, but it didn’t. Now Opus 5 just does it. So yeah, we deleted 80% of the system prompt.
You can actually try deleting the rest of it too. So when you run Claude Code, you can just do like dash dash system prompt and set whatever system prompt you want if you want to experiment with it. And another thing that you can try is simple mode. So this is actually this kind of undocumented feature. If you do Claude Code simple equals one, like this environment variable, and then you run Claude, it’ll delete all the system prompts, including from the tools. And we actually use this as a sort of ablation to figure out is the prompt useful? And what’s interesting is that the model is actually a little bit more intelligent without these prompts. That’s something that we’ve been finding. But when you use Claude Code as a product, you do actually want some of these prompts because it helps you use the product and it helps the product behave and the model behave in the way that you would want when you’re using it as a person.
Diana: I think the thing that’s really fascinating in this era of building, basically you have built the best harness in the world for Claude, and that’s Claude Code. From what I’m hearing, for every model released, you basically delete all of the code base, delete all of the prompt and start from scratch every time. That in the old world would have been not something a startup would have done for the product. It’s like press delete every six months for everything.
Boris: That’s right. So to be fair, we don’t delete the entire code base, but we do delete a lot. Every time there’s a new model, in research, we call this ablation. What this means is you delete the entire system prompt and then bring it back line by line to figure out the impact of each individual line. It’s like an eval and you can evaluate it. The ablation is essentially an eval, but you delete things to figure out the impact. We do the same thing for tools. We unship tools all the time. We delete code in the harness all the time. If you look at the code that’s in the Claude Code harness today, almost all of it is about safety and permissions and static analysis. There’s a bunch of UI code.
And we’ve actually unshipped a lot of the other code already.
Diana: Do you think this way of building an agentic product and harness, and basically doing ablations every time there’s a new model released, should everyone in this room that’s building AI products do that? Be comfortable and brave to press delete?
Boris: 100%. And for people that aren’t building agentic products, but are using Claude Code, every six months, delete your quantum D, delete your skills, delete your hooks. See what the model does and it might surprise you. For Opus 5, this is something we really do recommend—just try deleting all of these things because the model might not need all those instructions that you needed for past models.
Diana: Let’s talk a bit about how you build this new prompt. When there’s a new model release, for everyone in the room, everyone will want to try Opus 5 and they’re going to press delete on their system prompt. How do they go about rebuilding the system prompt? How do you set up your environment?
Boris: You do it piece by piece. The first step is you delete. The next step is you use it. You don’t want to guess what instruction the model needs because you might not predict it correctly. What you want to do is run it. If it’s a custom agentic product that you’re building, you want to run the product. See where it fails with the model, see what it does well. If you’re using Claude Code, see where it does well with your code base or maybe where it stumbles over the architecture or something else. Only when you see it repeatedly stumble on the same thing, that’s when you add it back. But you don’t want to do it too early.
Remember, the model is going to read this instruction every single time you use it. You really want to make sure that the model needs this instruction. I think this is the crazy thing about building on models. It’s so different than all the engineering that I’ve ever done. In the past, when you built on systems, you build these big, beautiful systems and you really think about the system design upfront. You have a big suite of unit tests. You think about everything. A re-architecture is a big project. Sometimes it takes months. I’ve worked on re-architecture products at big companies that take years. The model is not like that. The way to think about it is almost like a living creature, something more organic. It’s a thing where every model generation, it behaves differently. It has a slightly different personality.
You have to take the time to get to know it and then adjust the harness based on that. It’s very much an empirical and scientific thing. You have to take a scientific mindset to it where you try something, see the result, and then iterate based on that. If
Diana: You’re building in this world right now, what then becomes stable? Are evals something that you keep from the previous models and keep using them in each new model release?
Boris: We do until we max out the eval.
Diana: So that’s the tip for everyone. Code and system prompt—if you want to build at the bleeding edge and have the most capability for models, you have to delete those. But evals are constant and you keep appending to them basically.
Boris: Yeah, you keep appending. What happens is—I actually wouldn’t even go this far, to be honest. I think evals outlive the harness a little bit, but not that much. An eval might live for maybe one, two, three model generations. But nowadays, we’re on the exponential. The model is improving so quickly. Very often we just saturate the eval and then we have to throw it away and come up with a new eval. This is just part of the process. Again, it’s about being empirical. You have to use the product, you have to use the model, you have to see where it struggles. Based on that, that’s the eval set that you should build.
Diana: I think one term I heard you describe—how to build the best agentic products on top of Claude—is this concept of unhobbling Claude. Tell us more about what that means.
Boris: Yeah. So hobbling is this idea in research that the model is doing something and you’re just getting in the way. There’s this way of thinking about it that I really like. It’s very useful when you’re building product, and it’s called product overhang. The idea is the model is able to do all sorts of things with today’s models—not a future model, but today’s model—that we have not yet realized. There are so many capabilities the model has like this that people are not aware of. This is the ability to maybe use a particular tool, use a particular language, solve a particular kind of problem, do things a particular way that we thought was beyond the model’s capability. There’s this overhang because the model can do this at every given model generation, but there is often not a product that lets the model do this and lets it express this ability.
And on the flip side, often what happens is the product gets in the way. This getting in the way we call hobbling, and then not eliciting the correct behavior from the model, we call product overhang. So it’s kind of two sides of the same thing. One example of this was the original Claude Code. When I first started working on it, this was like a year and a half, two years ago, something like that. This was like Sonnet 3.5. At the time, that was an incredible coding model. That was the best coding model that existed. Nowadays, it’s a pretty terrible coding model by modern standards. But I think that was the first great coding model that we built at Anthropic. At the time, if you looked at the coding products of the time, what were they doing? They were doing single-line autocomplete.
They were doing sometimes multi-line autocomplete. That was a new idea. They were doing chat, so you could talk to the agent, but it wasn’t write access. You could only read. You could ask about the code base. So the feeling was that there wasn’t really a product that was fully eliciting the model’s capability to write entire functions at a time, entire files at a time. At the time, it wasn’t entire features. We weren’t there yet, but probably entire files. That was the level of capability at the time. So the idea with Claude Code was, all right, we think the model can probably do this. What if we get rid of all the scaffolding and just give the model the simplest possible harness so it can write an entire file at a time and build an entire feature? And that was kind of it.
That was the product overhang of the time. The model was capable of doing something and everything was just getting in the way. I think that nowadays with modern models, there is so much product overhang that I’m not seeing startups capture. I think there are people thinking about these problems, but there’s just a huge amount of opportunity to elicit these behaviors from the model that are amazing and interesting and commercially valuable.
Diana: I think this is such a special insight for everyone here in the room. Basically, all of you could create the next Claude Code if you figure out how to unhobble the models because that’s effectively the birth story of Claude Code. You unhobble Sonnet 3.5 because all the previous iterations were still getting the model very rigid in IDEs. And Claude Code was one of the first instances that gave it just full terminal access.
Boris: Yes.
Diana: And that then created this amazing product that just keeps going. So let’s talk about what are some areas and how should future founders here think about unhobbling Claude and fixing this product overhang?
Boris: So there’s a couple of things that I will think about. One is you should give the model slightly harder tasks than what you think it can do. I think a really common mistake that I see is people are using Claude Code, they’re using Claude, and they just give it way overly specific instructions. They’re like, “I want you to do this, but I want you to do it in this way, this way, this way. You must do one, then two, then three, then four.” For modern models, that’s actually really not the way to do it. You want to go a little bit higher level. You want to describe the task, you want to describe the guardrails, you want to describe the exit criteria, and then just go let the model cook and come back in a little bit. I think it’ll surprise you. Again, this is just not something that would have worked six months ago, but it does work today.
Diana: Can you give some examples of these challenging tasks or capabilities that people should explore that it can do now that it couldn’t six months ago?
Boris: Yeah. So, okay. One example is the model can now rewrite essentially any code base from one language to a different language. It’s just sort of crazy. It’s this work that would have taken a very long time as an engineer and now the model’s quite fast at it. So one example of this is Claude Code is built on the Bun JavaScript runtime. It’s an open source JavaScript runtime. It’s an alternative to Node.js. It’s kind of a faster node. Bun was written in Zig. Zig is a systems programming language. It’s kind of like C. It’s very low level. One of the problems with Zig is you have to manually manage memory. So it’s quite easy to run into situations where there’s memory leaks and other memory management issues. One thing that the Bun team was doing is they were having Claude fuzz the code base and try to simulate and trigger memory leaks.
And they were doing this for a long period of time. They were able to find a lot of memory leaks. It was like a case at a time. That was the capability of the model at the time—doing this fuzzing. Then at some point, Jared on the team said, okay, let’s just rewrite it. Maybe the model can do this. I think this is one of these test problems that he threw at the model with every new model generation. Starting with Fable, the model started to be able to do it. I think Opus 5 could do it as well. What he did was essentially define a test suite. The nice thing about Bun is it’s very, very well tested. There’s a big test suite in Bun, there’s a big test suite in Node.js.
So it’s easy to know if you did the right thing. He had the model rewrite it from Zig to Rust. It was one prompt. It was a dynamic workflow. Dynamic workflows are a feature in Claude Code that essentially let you orchestrate dozens, hundreds, thousands of agents to do work productively. It ran for 11 days and it rewrote the entire code base.
Diana: And this was one shot?
Boris: It was one shot with—well, no, it wasn’t one shot, but there was steering. There was steering. But previous models just couldn’t do this, even with the steering. It just wouldn’t have been possible.
Diana: Just 11 days. Oh my God. This would have taken in the past, even with the best engineers, multiple months, years?
Boris: Definitely over a year.
Yeah. Over a year. This was over 100,000. JavaScript runtime is really complicated. There’s a lot of stuff in there. And yeah, it works. This is in production now. This is what Claude Code uses now when you’re running it. So this is one example. I would give a second example—a product overhang. This is a practical use case where there’s a problem you’re solving. It’s a business problem, an engineering problem, a product problem. You should just keep throwing the latest model at it to see if it’ll just do it. Because even if a previous model didn’t, the new one might. I think the second way to think about it is experiment. Just give yourself freedom to play with a model and do creative things. Often it’ll surprise you. Something that’s actually been really popular internally, that’s been viral within Anthropic the last couple of weeks, is someone figured out that you can give Opus 5 OpenCV and you can have it draw.
Something you can do is you can ask Opus, “Hey, use OpenCV to draw this image.” It’s actually quite good. It can do portraits. It can draw animals. It can do landscapes. We didn’t train the model to draw. It’s just the solicitation gap. If you ask it to do it the right way, it can just do it. We discovered this accidentally just by playing around and trying creative things that didn’t have direct commercial applications. But it’s interesting. My hypothesis is there’s probably dozens, hundreds of opportunities like this with the models of today that no one has yet realized.
Diana: And the big area of research for this is basically model elicitation, right? Becoming really good at figuring out all these capabilities and asking the model to do the right thing, right?
Boris: Yes.
Diana: How do people get better at that? And effectively, how do people get better at prompt engineering? Do people still need to do a lot of prompt engineering or is that changing as well? Tell us about where this is going.
Boris: Yeah. I remember a year ago, one of the most popular job openings was prompt engineer. Then it changed and I think it became context engineer. So there are these waves of it. I think these will come and go. I think the skill nowadays is less about prompt engineering and more about figuring out how do you give Claude a hard task that seems a little bit too hard. Then how do you make it possible for Claude to verify its work along the way? The verification is probably the single most important thing that people do not get right, largely.
One example of this is people were—we have this desktop app for Claude and it’s built using Electron. We’ve made it quite fast. Now it’s a pretty awesome experience. Six months ago it was sluggish and it wasn’t very reliable. Now it’s pretty awesome. It’s the thing that most of the team uses. As an experiment, I wanted to see what it would feel like if it was native. So what I did is I started a Claude Tag session. Claude Tag is a new product we have. It’s just Claude running in Slack. My first question was, “Hey Tag, do you have access to a Mac OS runner on GitHub?” It said no. Then I hooked up a runner. So it was able to start a Mac virtual machine using GitHub. My second question was, I created this empty code base that was a Claude desktop app rewritten in Swift.
I asked, “Can you access this code base?” It said no. Then I gave it access and it was like, “Okay, great. Now I have access.” Then I said, “Okay, now what I want you to do is I want you to rewrite the Electron app in Swift. I want you to run the Electron app in the Mac virtual machine, screenshot it, and then look pixel by pixel. Compare it to the Swift version. Don’t stop until you’re done.”
Diana: And that was your prompt basically?
Boris: That was my prompt.
Diana: And how long did this take to run?
Boris: It’s still running.
Diana: When did you start it?
Boris: It’s been a little over two weeks. So it’s like 14 days, 15 days.
Diana: Yeah. So I don’t know if anyone in the audience has gotten Claude to run a task for more than two weeks. I don’t know. Raise your hand. Anyone in the audience?
Boris: This is about elicitation. So this is really one of those examples where the model can do it today. You just have to let it do it. And you don’t need the fancy stuff. You don’t need slash go. You don’t need slash loop. These help. But really all you need is give the model the task, give it a way to verify the output of its work so it doesn’t get stuck and it’ll just go. And actually in this case, Quad also decided to live blog it. So what it did is it created a Slack channel internally and it started just posting screenshots every few minutes of its progress. Wow.
Diana: So the prompt sound is so simple. Everyone here could do it. And I guess what is separating the people here that can become the top 1% Claude Code users? How can people learn to use Claude Code like Boris?
Boris: Maybe don’t listen to the LinkedIn influencers.
Diana: Don’t listen to it. Don’t read Twitter.
Boris: This is the thing about the model. I think everyone’s looking for the one weird trick to do it. That doesn’t exist. There’s nothing like that. The way the model works is you have to approach it empirically. You have to give it a task that’s too hard. You have to give it the tools to verify the work like you would yourself, like you would if you were doing the task. You have to see where it struggles and then you have to fix that either with better prompting or with a skill. Or if the model’s missing context, give it an MCP so it can pull in the context that it needs. That’s kind of it.
Diana: Sounds very simple.
Boris: I think people tend to overthink it a little bit. I think people tend to over-engineer because in a lot of ways, when we build systems in the past, that’s the way you had to do it. So when I look at engineers that have been coding for a long time, for years or for decades, this is a really, really common failure mode: trying to overspecify and trying to be overly specific, and get the model to do the task exactly the way that you would have done it. And that’s just not the way the model works. But I think a lot of people are unlearning this and it’s a journey to unburn it. And it’s a journey to figure out how do you treat this thing like you would a coworker. I think that’s the level of intelligence that it’s at now.
Diana: And as part of this, let’s go deeper into this task that’s still running two weeks since you launched it, two weeks ago. How many agents did it spawn?
Boris: I’m not sure. I can ask Quad and then I can get back to you. I would guess thousands, tens of
Diana: Thousands. Has anyone in the audience had a prompt to any of the models that spawned more than a thousand agents? No. I think this is another of the tips. The best Quad users are able to spawn tasks that are really providing you a lot of leverage, like thousands of agents.
Boris: Yes.
Diana: How do you do that?
Boris: There’s a few different ways to do it. The easiest way is dynamic workflows. To use dynamic workflows, it’s a fairly new feature in Claude Code. And all you have to say is use a workflow. That’s it. And then Quad will just trigger the dynamic workflow. What a dynamic workflow is, is essentially we have the Bun runtime. We use Bun as a sandbox and we start a virtual machine within Bun. And we let Quad start a lot of agents and orchestrate them. And it doesn’t just do one agent. It doesn’t just do 10 parallel agents. What it might do is, let’s say a task is rewrite the codebase or do really in-depth data analysis over some really complicated data. Or maybe build a very complex feature that takes multiple stages and maybe dozens of pull requests. And so what it’s going to do is it’s going to start a bunch of agents to do the first pass.
Based on that, it might do a second step where it has another set of agents that verify the work or that summarize the work. Then it might do a third stage where it’ll fan out again. So it’ll productively orchestrate a bunch of different agents. My background is functional programming. And so the way that we design this is it’s essentially an algebra for agents. So there’s a way to run agents in sequence. There’s a way to run agents in parallel. And Quad has different tools in order to orchestrate these agents inside of the sandbox to use tokens efficiently to do really, really complex work. It’s kind of cool and something that just hasn’t really been written about a lot. This is actually a new form of test time compute. When we talk about the scaling laws and we talk about the model getting more intelligent over time, historically it’s been a function of the size of the neural net, the amount of training data, and the number of flops that you put into the training.
And then recently we also added test time compute. So this is essentially a fancy researcher way of saying how many tokens does it generate? And now dynamic workflows are essentially a new way to orchestrate test time compute. And it’s a new way to really, really ramp up the amount of test time compute that you use to do a really hard task. So very long way to say this is one way to launch thousands of agents in a way that is productive and efficient. A second way to do it is loops and routines. Loop is essentially a cron job that’s running locally for Quad. Routine is the same thing, but it’s running in the cloud. So you can close your laptop. And this is slightly different because for a dynamic workflow, it’s one task and you break it up into chunks. For loops and routines, it’s one task that is repetitive that doesn’t share context, but it might share memory.
And you do this over and over. You can do it every hour, every five minutes, every day. A thing that we’ve started doing is we actually have Quad maintaining itself now. The way we do this is we have a Slack channel where we just had Quad start a bunch of different routines to maintain its own code base. We actually do this for the CLI, for the iOS app, for the Android app, for the desktop app. For example, one routine is clean up dead code. This is a single prompt—it’s one sentence. Quad runs this every day. It’ll look for dead code across all the code bases using static and dynamic analysis. We didn’t prompt that; it just figured it out. And it’ll put up pull requests every day to delete the dead code.
Another example is shipping experiments that should go out. So the experiment’s already out to 100%. It’ll delete it from the code base and just ship it. Another one is writing tests for areas of the code base that need test coverage. Another one is deleting tests that don’t need to be there because they were useless tests added by older models or added by people at some point. One that I really love is this—I forgot what we called it. I think we called it abstraction police. The idea is, often in a big code base, there’s the same abstraction and it appears multiple times. And if you squint, it actually maybe should just be the same abstraction, but over time, for whatever reason, you rebuilt it multiple ways in different parts of the code base.
So Quad goes out every day across all our code bases. It finds these nearly duplicated abstractions and unifies them. Now we have every day maybe 20 or 30 of these routines running across all of our code bases. It’s not totally there yet, but we’re on the path to fully automating the maintenance of our apps by doing this. This is, again, hundreds of agents running every day, sometimes thousands of agents every day. It’s doing the work of dozens or hundreds of engineers—this is what it used to take to do this kind of work. This means that engineers can just do the thing they actually want to do, which is ship new product and talk to users and do stuff that’s actually fun.
Diana: Guess next conclusion from this, which you have mentioned in the past, that basically coding is solved, right? You have mentioned this. I’m curious, now that effectively everyone can write software, what separates the exceptional builders from the rest? What are the qualities now that everyone can ship code?
Boris: I would give one caveat. Coding is solved for the kind of coding that I do. It’s not solved for everyone. There are still code bases that are super deep systems code bases where Quad still struggles. There are distributed systems where Quad still struggles. There’s really in-the-weeds UI verification, like something is off by a pixel or something. Quad is still not perfect at this. Opus 5 was a big leap in vision and computer use, but it’s still not perfect. But I’m actually curious, for people here, maybe raise your hand if 100% of your code is written using agents. You don’t write any code by hand anymore.
It’s pretty good. Okay. How about more than 50%? Slightly fewer hands, maybe about the same. Yeah. So I think it’s getting there. It’s getting to being solved for more and more kinds of code, and that’s cool. When I think about the people that are the best at using Quad, I think there’s a certain mindset that you can bring that’s really effective. It’s really about being empirical. So forget all of the things that you learned about past models. Forget everything that you’ve learned about computer science theory in class. Look at the model, try to do a task, see where it struggles, and then based on that, adjust. So it’s very much become—not a theoretical science, it’s become an empirical science. I think people that are really good at this, that are really good at forgetting their priors, letting go of this idea that didn’t work before and just being open to trying it again—
This is the kind of skill that’s just very, very successful now.
Diana: Now my last question is, given everything that we talked about, if there’s someone here that’s studying CS and you learned to program before this era of AI agent coding, what should students still learn the hard way, the old way?
Boris: So for me, I learned computer science practically. I learned it by teaching myself to code in order to solve problems. Whenever I was doing this, I was doing it to solve a particular problem that I had. I actually first learned to code on TI-83 calculators. This is back in middle school. I ended up writing a guide on the internet for programming TI-83 calculators. It’s still off on the internet somewhere. It was BASIC—that was my first language. I learned how to program on calculators so I could get better at my math tests by cheating on the test.
So it was about something practical. To me as a middle schooler, that was the most practical thing I could think of. I ended up getting good grades and then I got this little serial cable to give the programs to my classmates and they got really good grades. Then the math got a little bit harder. It wasn’t something that I could solve in BASIC anymore. So I went from this algebra solver that was written in BASIC, and I had to solve harder problems. Once we got into calculus, I had to run assembly so that I could write a better solver so I could cheat better on the test now that it was calculus. For me, programming has always been very practical. I think this is always my advice for people in school: learn not just the computer science—this is intellectually fascinating.
And it’s really interesting to know, but learn how to apply it. Often this is about building startups. It’s about building products. It’s about developing your own design sense, developing your business sense, learning how to do data science, learning how to talk to users. There are all these other skills. And when you combine them with computer science and engineering, that’s where it becomes really valuable. So those are the hard skills that I would still be doing by hand.
Diana: So if I’m hearing and summarizing, start with making something you want first for yourself, and then level up and make something people want.
Boris: Yes.
Diana: And we just have one last special announcement, Boris. One last thing.
Boris: Yeah. So for everyone here today, you are getting Max 20X.
Diana: Incredible.
Boris: So look for a quote in your email. And I can’t wait to see what you build.
Diana: So I’m curious, someone in this room should be building something that runs hopefully multiple months and thousands of agents now that you have the account to do it. And with that, thank you so much, Boris.
Boris: Thank you.
