← 返回本期How Anthropic Builds And How Engineering Will Change Soon | Thariq Shihipar

视频 · Ryan Peterman

Anthropic 如何构建产品,以及工程工作将如何改变|Thariq Shihipar

原题:How Anthropic Builds And How Engineering Will Change Soon | Thariq Shihipar

Ryan Peterman57 分钟
内容摘要Anthropic 工程师 Thariq Shihipar 说明,团队可将前沿模型视为思考伙伴,并围绕它建立重视验证的 harness、工作流、技能与 artifacts,从而扩展软件工程的工作边界。

Brief Description

A complete conversation about Anthropic's engineering culture, the development of Claude Code, AI-assisted software work, and the changes these tools may bring to how teams build products.

Table of Contents

  • The Conversation Begins
  • How Anthropic Builds
  • Claude Code and Engineering Work
  • The Changing Software Practice
  • Looking Ahead

The Conversation Begins

Speaker 1: Most software we wrote before LMS was not very good. This is Dark. He's an engineer at Enthropic on the cloud code team. And I asked them all about how their engineering team makes the most out of the models today. Can you move up like a higher abstraction level? You know, like can you build the system that builds the system? Is there something that you feel is kind of the next big shift that is going to diffuse into the industry? Yeah, I think there are a few different ones. Here's the full episode. My goal with this conversation is to ask you as much as I can about how can you get the most out of the models specifically for software engineering so that people in the industry can kind of learn from the best practices where anthropics having success.

Speaker 1: And so to start the conversation off, I'd like to ask you, let's say I was coming from a company that's maybe less AI pill and I was onboarding onto your team. What are the most impactful things that you'd tell me to start doing to successfully onboard? I think the number one tip we have for you know both people inside and outside anthropic is that like if you treat Claude like a thought partner and give it like the context that you need then you can usually figure out the next steps you know and and so I think that like starting with okay can claude do it if not why not you know and uh using that as the starting place I think is really important and I think just like always thinking about like okay what's you reflecting on can you move up like a higher abstraction level you know like can you uh you know set up a system can you build the system that builds the system right instead of just like building you know the the product itself I

Speaker 1: remember when we used to onboard people you would get assigned an onboarding buddy so someone who kind of really knows the codebase and you can ask all of your trivial setup questions to it sounds like Claude fills in a lot of those gaps And in practice, is it 100% you don't need an onboarding buddy and you can just ask the model for everything? You do need an onboarding buddy, but more from like a kind of like social and cultural perspective than a technical perspective. You know what I mean? I I think like from a technical perspective, you can basically just like work with Claude and you know, if you're like good at it, like you can get what you need to on board.

Speaker 1: But I think just like having the context of you know how to work with the team and also just like how to like you know get buy in on what you're building or you know understand like how the team works together or just even like have a friend to work with you know I think is really important. So yeah we still have onboarding buddies but not um it's not like nearly as much technical lift as as it used to be. There's a big difference between the external perception of the AI capabilities and the internal enthropic usage because I'll talk to friends and say, "Yeah, what Boris is saying is the reality."

Speaker 1: And so my question is why is there such a big difference between that that internal perception and that external perception? I think we have a good track record kind of of when we make these like claims. You know, you're like, "Oh, you're you're like it turns out to be true on a long large enough time scale." You know, I think a lot of engineers are not really in the IDE anymore. You know, like yeah, the code being written is like I I talked to large enterprise customers where like, you know, they haven't like typed a line of code themselves in six months, right?

Speaker 1: though we think of it part of our jobs, you know, to figure out how to work at a higher abstraction level. And like if I spend like a day trying to figure out how to get Claude to like, you know, do this autonomously and I fail, that's like fine, you know, and maybe even good, you know, because now I can be like, oh, hey, like Claude is not good at this. How do we make it better? you know, but I think if you're working like an average job, you know, your job is to produce the output and like I think automation always has a cost because you're like it's an investment and if it works then great, you'll make you know a return on your investment over time.

Speaker 1: Um but if it doesn't now you've like wasted all this time and so I think the nice thing about the models is that you know generally the chance of the investment working out is higher and higher because like the models are getting smarter and smarter. Uh but you still have to sort of take that leap as an individual. Your boss is not going to be super happy with you if you're like, you know, uh if you've been working on your harness setup the entire time and like not shipping code. Um but yeah, I think it's mostly just like culture and thinking of it as our job to sort of live in the future and then we try and like build it into the product and our harness as well so that you don't have to do as much manual step.

Speaker 1: Yeah. Are there examples that you come to mind when you think of things you don't see people doing on Twitter that are really having making a big difference and enthropic that you'd kind of recommend? Like using claude code for knowledge work I think is really valuable. The way a technical person does knowledge work I think is very different than the way a non-technical person does knowledge work um these days because you can get the models to do it. And so I think like you know increasingly if you can figure out like hey this is a task the task is made up of codelike things you know and like how do I tell the model the code steps to take you know uh in order to do it right uh you can like uh you know I think you can do a lot more right so I I think I do like a lot of accounting with cloud code using on the personal side using like uh scripts in Python instead of Excel, you know, or like I do video editing using ffmpeg and these libraries

Speaker 1: to render visuals and things like that. And so I think most of knowledge work is like uh reducible to code and coding agents if you like think about it well, you know, and um I think that that's like one I think like big difference uh that I see like other people doing less of. We talked a little bit about the the model and the harness and uh I want to ask you what's the relationship between the model and the harness in terms of getting the best end results? Obviously the model's important. So how important is the harness and are there any examples you could kind of share of?

Speaker 1: Yeah, I mean the harness is super important. I I think you I I think that sometimes there's this idea that the harness doesn't matter because the models will get better and better and if the model just does everything perfectly then why do you need a harness at all right and I think that in practice what we see is like the models get better and better and so the harness needs to become more and more complicated uh to allow the model to do more things right and so um an example of this is uh auto mode and so auto code, you know, is a classifier that runs after every, you know, uh, task that you normally have to ask a permission uh, prompt for for Claude.

Speaker 1: And back when we were like, you know, Opus 4 or even Opus 4.5 maybe, like it was not so bad to hit enter on the permission prompts because like you were, you know, the turns would only last a few minutes anyways, right? And now cloud is running, you know, it can run for hours. And so you really need that ability for it to, you know, like do work safely, stick to your instructions, and auto mode is really complicated software. You know, sandboxing is really complicated software. Um, and then like, you know, you also think about things like, okay, like cloud can do so much more work now.

Speaker 1: Um, how does it represent the work that it's done? It's worked for like eight hours and you want to know what's done in eight hours, right? So this is what we use artifacts for, right? And artifacts themselves are a form of prompting because like how does Claude represent that in a useful way, right? Like there's a lot of different ways that it could represent that information. Um and so I think roughly what we see is like the harness harness engineering is definitely like this like mix of science and art. I think it's very unintuitive in a lot of different ways.

Speaker 1: Um, but I think it has like just big abilities to like unlock new parts of uh, you know, like model behavior and uh, yeah, I just see the harnesses get more and more complicated and it's kind of harder and harder to like actually vibe core do your own, which is like a little bit unintuitive to me because of like how good the models have gotten. Uh, but yeah, things like auto mode and workflows and things like that that that which are like actually quite complicated pieces of software. um become like really loadbearing.

Speaker 1: I think as LMS have advanced more and more of the human part can be taken out of the loop you know at Enthropic what percent of your or your team's changes are fully autonomously made versus actually pairing with a model like people were doing more of like around a year ago. Um I think it's very dependent on you know what you consider autonomously made or um what uh what team or what function you're working on as well. You know for example a designer might give you a Figma file and then you pass the Figma file to cloud code.

Speaker 1: Uh cloud code is great at using the Figma MCP but like you know the designers put a lot of work in there. Um, I think that like roughly um our goal is to sort of get Claude being able to do all of the like uh the glue work that like ties everything together, right? So, okay, you've got like a Figma file. Do I really need to like rewrite that in React or something? Like probably not, right? Like I think like that work has been done once, right? And so the way I think about it is like what's the unique work that I need to do every day, right?

Speaker 1: And uh the more I'm like doing that unique work, the better. And and like I think there's just a ton of demand for, you know, unique work and thinking. And the more I'm doing something I've done before, I'm like, "Okay, like can can Claude do this?" Or like if I'm just translating what someone else has done, you know, I'm like, "Oh, like can Claude do this as well?" It's really blurring the lines of like what what does it mean? Even even if cla is fully generated as PR, you've probably done a lot of made a lot of decisions and and add a lot of context along the way.

Speaker 1: So, how close are we to a world where someone just says, "Hey, Claude, here's the ticket. Just don't tell me till you're done." Yeah. So, I mean, it depends on how good the ticket is. If someone has like perfectly written out essentially like a software spec for this ticket, then yeah, actually cloud can probably do that, right? But I think that like um to start you know like let's say that we get a GitHub issue that you know is this worth fixing is this a featur like oftentimes issues are like also feature request or something where there might be like multiple things happening that maybe you combine together in a different way you know what I mean and so I think that there is a lot of that work is okay what's the vision for the product where where do we want to go how do we like you know um make sure what we we're building is cohesive and so I I think for a specific spec like a specific enough spec claude can do it in practice people

Speaker 1: don't have haven't figured out what they really want you know and haven't figured out the unknowns or the shape of the problem and things like that and maybe the way you would have done it before is like you start writing the code and you're like oh like what am I supposed to do now like or like you know like you you figure it out that way uh now I think you need new ways of figuring about what you don't know yet, right? And I think you can still chat to Claude really. Um, but I think uh that's the hard part. And I think definitely a failure mode is like you you tag cloud tag and you're like, "Hey, please do this."

Speaker 1: You know, one sentence or less description, no previous context or memory. Um, and then it does it and you're like, "Oh, no. I don't like it." You know, and then you're like, you know, just iterating forever on that, right? versus like figuring out what you actually want like really quickly. when I was working at Meta like the ambiguity of the task really ranges oftentimes proportional to people's I mean levels aren't everything in software engineering but you know roughly senior engineers kind of take that ambiguous uh business need and convert it into something that's a lot more concrete and then people who are maybe newer in their careers to kind of do the implementation work um and like intern projects were kind almost line by line specified.

Speaker 1: If I was still uh working at Meta and I had an intern, I was like just kind of give the give Claude my intern spec and it would kind of do it. What kind of work does an intern do then at Anthropic if Claude can kind of handle it? What we see in practice is that there are just so many new types of work that no one has ever done before, right? And I think that like we all have to figure that out. And so for example, how do you do an eval? You know what I mean? Against like uh these new coding behaviors, right? like how do you make sure like uh that like you know how do you measure cloud's performance across like millions and millions of users u ac doing all sorts of tasks sometimes these tasks might have trade-offs you know so I think there's a lot of new work to be done especially like in the research side of things and um I think that like it's harder and harder to write those specs but there's also less and less experience that is relevant

Speaker 1: you You know what I mean? And so like I think that yes, having some experience means that you can sort of like, you know, you know how to get work done and you know how to like learn, but I think you also get those skills out of college and and you know, now I think as an intern trying to figure out like, okay, what are the things that people have not done before and doing that I think is really exciting. And I think that there's um yeah, I think internships are less write the React code, you know what I mean? And there's so many new problems to solve.

Speaker 1: We need people to solve them. It's helpful if you have fresh set of eyes on it, you know. Um but it is definitely be more proactive and like opportunistic maybe than uh than before where if you're it was maybe more of like a pipeline. We talked a little bit about knowledge work and that makes me think of computer use and browser use and I wanted to ask you you know how far away is that from being widely adopted in the industry and impactful maybe you can talk about how anthropic uses it since it feels like they're always far ahead.

How Anthropic Builds

Speaker 1: I I think computer and browser use the models have gotten a lot better. Opus 5 I think is like a really good computer use model but there are like these weird edge cases where like for example it can't type a password on my behalf because my passwords are in one password or something you know it can't access that and so like it gets stuck and um I think there's still like those edge cases which are kind of UXY edge cases um and then I think also obviously computer uses also uh you know the more and more people turn APIs and MCPs into like new ways to use cloud.

Speaker 1: I think that can also take a lot of the use cases that you're using computers for, right? And so going back to like, oh yeah, knowledge work, everything is code. I think like you know there are some things where there's no API, there's no way to execute in code other than just like opening up your browser. But I think increasingly there are more and more ways. And I think yeah, cloud tag is a great example of we've just sort of like tried to roll up all these things into APIs that it can use. And so um it feels like it can do a lot of work on your behalf even even though it's not literally running like a virtual computer and clicking things.

Speaker 1: You know, I have noticed that whenever I use uh any kind of computer use tooling, it feels painfully slow. I look at the cursor and it's sitting there for 10 seconds, moves over, you know, goes there for 10 seconds. What where is all that latency coming from? Do you have a sense? I think that like it's hard to make a small model that's really really good at it. I think just because there's a lot of knowledge that you need to have about this task and how these things work together and stuff. And so, um, you want like a smart model and smart models, you know, take a little bit longer time.

Speaker 1: It's like I think a lot of people thought we'd get here sooner, but I think it's just been a harder task than we expected. Um I think like one thing I've someone's told me about computers before is that like it's a state machine where you don't control the entire state. If you are on the Door Dash website or something, you want to add something to the cart and you add it incorrectly. Now you have this new flow to like undo it. You know, now you need to go click and now you need to go delete it and you can make a mistake along that side as well, right?

Speaker 1: Whereas like in code you can sort of undo, get you know whatever you control all of the state. Um but for computer use like each action is if not irreversible it's like uh you know much harder to re reverse than than others. Enthropic um I get the sense that employees have a lot of budget in terms of the compute to kind of speed up whatever it is they need to do. And so to if we were to spur the imagination of people who use the models to make them more productive assuming they had infinite compute like what what type of workflows would you start telling someone to do if they had infinite compute?

Speaker 1: I I think this difference is slightly more exaggerated than you'd think. I think you know what I mean? I think that like for example I use my Mac sub on the weekends and I have almost never hit a 5 hour limit. I think the models are really smart and I think that like a lot of times when we're spending a lot of compute we're just trying to find sort of capabilities or we're trying a bunch of different things and and it's more about like us figuring out model possibilities you know what I mean than getting a lot of work done.

Speaker 1: When we're testing for math for example, we're trying to understand how smart is the pro the the model and that is useful to us. That's useful output to work and it can also sometimes solve like the reman hypothesis or something or like not make progress. You know what I mean? People can replicate what we do at home just by thinking at a higher level of abstraction. For example, I'm trying to like get Claude to draft feedback for you. And so I want the funnel for like Claude has drafted some feedback to the user has submitted feedback to be really good, right?

Speaker 1: And so I monitor that funnel and then I ask Claude I I had some ideas, but then I was also like, oh, what if I ask Claude to try and improve the funnel, you know, and be like, here are some ideas. Can you come up with some as well? Let's figure it out. All of those things you can kind of do yourself right now. You know, if you're like, "Okay, let me when I'm making a feature, let me like uh annotate it with events." You know, let me make sure that Claude has access to those events. Uh let me run a loop in the morning every day to check, you know, what events have fired and what changes were made.

Speaker 1: Maybe even like let me proactively suggest some ideas, right? This can all happen, I think, within a fairly reasonable amount of compute. I actually what I see more often is people running into limits where they've actually done kind of the opposite. They've started in a small midscope task. you know it's like oh hey like uh you know refactor this function in this way and then claude does it and and maybe it's like has some following effects because like refactoring this has means you have to do some other work too and that's not exactly correct or like you know you won't you're iterating there and it's like you know you just spent a lot of time whereas uh if you had sort of like stepped up a level told claude your goals then figure out okay what are the details you know do some exploration uh maybe write out the schema or like you know and and then work with it then let it run you could probably get the same output.

Speaker 1: I remember it was going kind of viral this idea of creating loops. Um and I mean that that does feel like a pretty uh expensive sort of thing to set up if you're just asking it to kind of keep hammering away. Maybe first could you define this loop engineering thing and then I'm curious how often do you use it and you know would you hit limits if you were on a max plan doing that kind of stuff? Yeah. So I Okay. So loop engineering roughly it's like uh instead of prompting claude directly you're setting up a system that prompts claude you know and uh you don't have to think of it if you use claw tag a lot of this comes naturally.

Speaker 1: you just ask it like hey every day do this thing you know and uh that will uh that's a loop you can definitely do that sort of work right now but I think if you're trying to set up like let's say like 10 loops or something you know that are like uh triaging your feedback and implementing and things like that we do that sort of work but we also spend a lot of time making sure our skills and things like that are useful you know and like are good at like triaging uh that we can have we're good at verification and so that we can like make sure that the changes land you know and then I think at that level you know what it means is like now we have someone monitoring issues that we just could never have kept on top of before right and it just like increases our software development velocity and it's worth a lot of value to us and so yeah I think that like if you're kind of at the scale of like okay you want it to essentially be auton autonomously

Speaker 1: running, you know, doing a software engineering job. For certain cases, I think it can do that if you set up the verification well, if you set up your skills well, if you give it the right data sources, but um it is a lot of work, right? And I think that like you have to make sure that that work is valuable to you in the same way that like if you hire someone, you know, you have to make sure that work is valuable. We've talked a little bit about anthropic being kind of just ahead because that's the job of the company on adopting AI.

Speaker 1: Is there something that you feel is kind of the next big shift that maybe Anthropics already felt that you feel is going to diffuse into the industry and if so what might that be? Yeah, I think there are a few different ones. Obviously cla tag I think is our, you know, the way we do a lot of our work right now, right? And I think the way I think about it is that cloud code is really good at the implementation of code and cloud tag is for the rest of the software development life cycle you know so like so uh getting feedback uh you know doing code review like babysitting building CI/CD incidents like you know all of these other things cla at a high level turning every part of your software development life cycle into kind of like a a routine or a loop using claw tag or something like that I think is probably where things are headed you know um I think probably generative interfaces are still to come and I think that like artifacts and you

Speaker 1: know uh yeah basically artifacts I think are going to be like an increasingly large way of how you like interact and read with claude and and so I think that you know I use artifacts for almost everything and and so I think that like we're going to see that also become big and I think that's also O ties into cloud tag, right? So like let's say that you are um on your phone and cloud tag has done a bunch of work for you. It creates a report. The report is readable, you know, on your phone because it's made the like the artifact look really great.

Speaker 1: Could you explain uh artifacts a little bit or kind of what are they and how do people use them? artifacts are basically um cloud can upload essentially a web app for you to use you know and I think that uh you can use it in a really wide range of capabilities. They can now for example call your MCPs. So you can make an artifact for example to read your inbox you know and like display it or sort it or tag it right as like a one way. You can also use artifact to uh show you a plan for coding, right? And then in that it might show like diagrams and file snippets and code and schemas.

Speaker 1: Um and so it shows you like sort of uh it's like an interactive display for the t for the job you're doing right now, you know, and as Claude does more and more, you know, like jobs, we're realizing that like just text in text out is probably not useful for everything, right? and Claude is doing is better and better at creating essentially the exact interface for you at the right time. Um, I think that there's like a lot more to do there. And I think it's another one of those things where you have to think about like, oh, you know, could I be interacting with Claude in a different way, right?

Speaker 1: Like could I interact with it through an artifact? Could I, you know, use it to like learn more or like to understand it better or stay in the loop or um improve some of my like own knowledge work or something? So, um, yeah, I think it's pretty exciting. We're still kind of early to it. Does the daily driver model vary among engineers or do people typically just pick the most intelligent one that's available at Enthropic? I do think, you know, similarly with models, if you use the smart models and you use them well and you give them task where they can, you know, are well shaped and you've spent some time setting up a good verification harness and things like that, you can get a lot out of them.

Speaker 1: I don't think it's like choosing which model at the right time, you know? I think it's like, oh, how do you get the most out of the frontier models? Um, because I think technology works the way it does, right? Like everything gets more abundant, more available. Um, and so I think we're in this current weird spot where, you know, we don't quite have enough compute for everyone to have Fable at 100% of the rate limits. Um but I don't think this is like a durable skill to build figuring out like oh when do you use fable and when do you use sonnet right so um I think it's like unintuitive there uh but I think in practice if you're today what I would do is like I use fable for planning for brainstorming for finding unknowns for coming up with the detailed spec and I'd use Opus 5 to implement it um and uh I would probably use Opus 5 with workflows uh using like a verification aid like schema or like harness that's built with Fable, right?

Speaker 1: So, I'd use Fable for those high leverage task. Um, and uh, yeah, Opus 5 for the execution and implementation. Um, but yeah, I think increasingly probably next year I I I think you're just not going to be thinking that much about like which model. you mentioned that skill of I guess prompting and I've heard some people they say it's not too durable of a skill because it's kind of it's really specific to a model like these models they almost have their own unique uh I guess spiky intelligence. So if you if you knew everything that was very specific to let's say today's fable and you're a master of today's fable.

Speaker 1: I mean maybe you don't need to know any of that stuff like a year from now when fable three or four or five or whatever comes out. Let's say you were talking to software engineer who's looking for career advice and they're thinking hey should I really become a master of engineering my prompt? I do want to say prompting is like a little bit more than just a prompt you put in. It's also, you know, you might have done made a skill or you might have like, you know, added some data or something. It's not just a prompt you write, but it's like everything you've done before that builds up into your context, right?

Speaker 1: So, um, sometimes people see us write small prompts and they're like, "Oh, what does that mean?" But we've we just spend so much time on the the harness and the verification and and the skills. So, um I think it will be like really valuable to just keep better at prompting. I think to what you were saying about each model is different. You're right. Like I think each model is kind of its own kind of like almost organic digital thing, you know, and so there are quirks you have to learn and you do have to unlearn them.

Speaker 1: So we recently wrote about like how we removed 80% of the system prompt from cloud code, right? Um, and one of the learnings we had was like we needed to remove examples from the tool descriptions. And you know, this used to be the only way you could get good output from the models was through tools, right? Or or through examples, right? So you'd have to be like, hey, this is the right tool. Use this here. Here's an example of writing a file well, and here's an example of not doing it well. Um, and now we found that like examples are mostly negative, I think, unless um, you really see Claude doing something you don't like because uh, it's just like quite imaginative.

Claude Code and Engineering Work

Speaker 1: It's good at sticking to your intention and working with you. Um, and so we removed a lot of examples. So in that case, yes, you do have to sort of like adapt, but the skill you're building is the skill to adapt. You learned how to use Fable and now you know a lot about Fable, but you also know how to learn you learned how to work with a model, right? And so Fable 5.5 comes out, you need to learn how to use it again as well, but you'll be much faster because you're better at learning. You're better working with Fable 5, you know.

Speaker 1: And I think for me, I think the first model I worked with was GPT2. And I remember like it was it was so hard to get a JSON output out of GPT2. Like if you could just get it to like choose one of the categories that you gave it, that would be like incredible, you know? And so um I think that but like building that skill, GPT2 is such a different model than Fable 5, but I feel like the skill I spent doing that has like helped me be better at prompting Fable 5. Is there any like tribal knowledge or quirky tips in today's models where you'd say someone should should know that to get more when they prompt?

Speaker 1: I actually need to counter one I think that people have been saying where it's like oh just believe in yourself or something. I I know that Jared Jared's post about the reman hypothesis had like he was just like keep going just believe in yourself. I think in this case it was mostly just Jared saying it's okay to use compute to solve this problem and I'm giving you permission to do it you know and I think that like that's not exactly the same as you know ju I believe in you you know what I mean it's really just like letting the model use compute so I think that that is something I would I like to tell the models right now is like okay hey I think this is a hard problem use sub aents you know use workflows like if you need it.

Speaker 1: Right? So, like I always tell it to like use its own judgment, but I'm giving you permission to do this stuff, right? And I think that uh you have to sort of remember that the model is by default, you know, do what maybe the average user wants, which is like they want it to respond and start doing work as fast as possible roughly like complete the task but not spend like a crazy amount of compute on it, you know? And so I think that like um you have to sort of if you want the model to do it differently, you have to nudge it slightly, right?

Speaker 1: So you might have to be like, okay, hey, like I don't want you to do any work yet. I want you to brainstorm, you know, I want you to like think with me, right? Um and if you prompt it that way, it will start doing that. If you want it to spend a lot of compute, if you're like, hey, you know, sometimes I'll say like, yeah, hey, I think this is a hard problem. Uh feel free to use workflows. If I'm running overnight, I might just be like, "Hey, I'm going to sleep." You know, set a slashgoal or something and then uh let it let it run.

Speaker 1: So, um yeah, I think there is a uh just like giving it permission to do the thing you want. When you recently removed so much of the system prompt, how did you prove that the end result was better? We have a bunch of user metrics just like how you know how much do people like the output of claw? Sometimes you get that survey and you see it. Um we run evals against you know our internal eval uh and external evals to see like how it performs at these different task. Um but I think it is hard like sometimes you don't realize that they're not if cla is telling the user if it does all its work and then is like hey maybe you should go to sleep there's no eval for claude tells you to go to sleep you know what I mean and now we're like have to like catch this like new behavior.

Speaker 1: Um so it is hard. I think we spent a lot of time basically just um you know like removing lines in the system prompt running evals uh seeing how it worked, seeing how people uh reported it internally and then like adjusting. But it was like a full-time job for several people over long periods of time. And so I don't think I'd necessarily recommend everyone do this. I think that's kind of why we wrote that post about what we learned from like adjusting the system prompt. And we think that's pretty general. So hopefully you don't have to like now go through this like crazy iteration process.

Speaker 1: Open AAI, Enthropic, Cursor, and Verscell all use this product to make their lives better. And the problem it solves is when you're building SAS or an AI product and you want to sell to other companies, there's all these requirements you need to meet. There's SSO, there's SKIM, there's arbback, there's audit logs. These are all things that take time to integrate but aren't the main focus of your app. Work OS is an API layer that lets you meet all of these requirements in just a few lines of code. So let's say you have a new SAS product and you want to sell to other companies.

Speaker 1: Work OS will solve all of these critical feature gaps for you. You can check them out at workos.com to learn more and get started. And I appreciate them for supporting my work and sponsoring this podcast. I think uh a lot of people when they use cloud code they get excellent results when it's kind of getting very objective work done but when it's kind of prompting models to do beautiful or tasteful work it's kind of not always you it's pretty much more hit and miss and so you know how do you best instill like a very particular style you're going for or particular taste in the models outputs when it's a much more subjective ive domain maybe like front end the way you do it is sort of like you stay in the loop I think you give it references right and I think the more references you give it with data the better so like it's better to give an HTML file than a screenshot right it's better to give a Figma file than like a raster image or something

Speaker 1: right because now if cloud wants to know the border radius of this thing it's like oh what's the Figma component border radius and let me just copy it And so I think giving it a bunch of references ideally in code is a really good way right of like getting it to stick to this. Um I think if not you can then ask it to if you don't have like uh let's say you're not a designer there's probably step one is being like okay I'm not a designer there's a lot I don't know about design you know and like there's a lot I don't know about iteration I don't even know what good looks like right and I think this is like part of the art of working with the designer is like they will just know what good looks like and they'll be like this isn't good enough in this way right and they like prompt it And thi that I think is also a skill that will keep getting valuable and even more valuable over time is just like what is good output, what is worth doing, right?

Speaker 1: Like I think uh for example with the uh the reman hypothesis Jared prompted it but he had no idea if it was correct until like Lev who was like you know one of the world's best mathematicians was like you know okay like how do I is this correct right and he worked with it and he asked it like tons of follow-up questions and we could not follow that at all. We had no idea what he was saying, right? But he was like really intrigued and and so I think more and more being that like high taste user and like knowing a lot about a problem in a domain space is how you get good outputs, right?

Speaker 1: That's how you solve these problems. Uh otherwise like maybe cloud did solve like physics or something but you just wouldn't know it, right? Like you're like uh you don't know enough about it. And so I think when you're talking about design, the first thing you do is how do you become more tasteful with design, right? And so you can ask Claude that as well, right? Like you can be like, "Hey, I'm not a designer. I want to be better at design. I don't even have the language. First, maybe let's find some reference sites."

Speaker 1: And and then maybe you pull some reference sites and then you're like, "This is what I like or this is what I don't like, right?" And then you sort of build up that, you know, those references and you give Claudet and and now maybe you tell it, hey, let's do some exploration. This is sort of my taste. And then it'll do like a few different mockups, right? And I like to do these mockups all in HTML because it's all self-contained, easy to edit. And then once you have that, you know, that reference, now it's a reference.

Speaker 1: So now you can be like, you can make a new session and be like, hey, this is a mockup of a design I want. Uh, start implementing this and, you know, it will have all of it in code and you can start getting there. Um, but I think that like the really hard part is just knowing like, oh, when is something good enough, you know, versus like when can you, you know, push harder, right? And you see this with a lot of the math proofs, too, right? when like Terrence Tao is like okay enough with the half complete theorems just do the full theorem you know and and so I think like it sounds simple but it takes a lot of domain knowledge and expertise to get to the point to be like okay like it seems like you're smart enough to have done that now do this when I was a software engineer there was a lot of um I guess it was like glue writing work kind of where you you finish some work and you write a launch post or you are part of some work stream and you

Speaker 1: got to post an update every two to four weeks or maybe you have a direction doc or design doc and all this like writing around the software that you actually write and curious your thoughts on if that's changed at all at anthropic how much of that is written by LLMs and how much of that is you know human written still My rule of thumb is like if I would be happy to show someone the prompt, I would send them the output, right? And so a lot of times the prompt is just collecting context is the most common one, right?

Speaker 1: So, for example, uh before every one-on-one with my manager, I ask Claude to, you know, read every Slack message and GitHub message and, you know, or rep PR and compile like, you know, a report of what I did, right? And uh that's context that my manager doesn't have because you know they haven't been literally reading every PR or something. And so I don't feel bad if like you know like my manager could also run this command but it doesn't have my context and I don't feel bad with them knowing that this is the prompt I used to generate this command right so um I think likewise like if you're sharing updates or something like that you know like uh you might want to prove that you've read it you know I think this is important and and sometimes like little edits are ways of proving that you have also understood this work right and So if it's just like a data readout, you know, maybe you you're sanity checking like the numbers make sense and

Speaker 1: this like these are all the numbers you intended to include and as part of that maybe you format it differently or you add like a little sentence and on your behalf, right? And but I think ultimately it's a data readout. Everyone knows the prompt you wrote is like hey like generate a readout on this feature based on this and and you're fine, right? But like I think if you're pitching like a new concept or a new idea and your prompt is like help me come up with a new concept for you know this product right like you probably at least people want you to know that want to know that you've like believed in it right and so like even if you think Claude's idea is incredible and just verbatim you wouldn't change anything what I would say is like I'd be like hey Claude generated this um but I think it's great you know like I or I've did like a hundred different generations and I think this was really good and here is like something you know that

Speaker 1: I want to send you right um and so I think that like it's good to be upfront about it I think right because I do think what people don't like is when they feel like they've been like misled a little bit like oh like you we thought we you were doing this work but you know um it it's really clawed right and I think that like um writing sometimes can have a lot of like there are some parts of writing where individual words matter, you know, like funnily like tweets are I think an example of this where like the individual tweet matters, right?

Speaker 1: So, um you like more and more you can't use claude to do that because it's like like every word has some thought that you've put into it and some intention that you've put into it. So like you know yeah a pitch or an essay or something like that. We do a lot of like internal essays at anthropic being like hey this is why I think we should do this and that's generally like all humanridden. It's very like looked down upon I think to have like Claude like your essay written by Claude, you know what I mean? Um because like every word is something that you like are intentional about.

Speaker 1: So it sounds like the proportion of the writing that's all that boring route writing like the data readouts, the the one-on-one updates, the workstream updates that's increasingly becoming AI but always reviewed by a human. And then the novel thoughts, novel direction is still very human written and feels like it should remain that way even if the models were a little bit better too. Yeah, I think it's like if you're, you know, so like writing is also a way of thinking, right? And so like maybe if you need to think about the data stream or data readout more then maybe you need to like summarize it you know and and so um but yeah I think like especially gathering context is one of those things where no one will ever like hold it against you kind of right like uh oh like you know you did a bunch of research and you know Claude did this but yeah like I don't want to ask my agent to do the same research like you know it's a shortcut but like

Speaker 1: just acknowledging it is good. Someone else I was talking to, they had this thought of it would be valuable to have almost like a git blame, but it's like like a prompt blame of because it would be nice to reverse look up what was the prompt that generated this change to kind of debug things. Do you have any sort of metaverion control on the prompts that generated the software or is it still very vanilla, you know, git history? Yeah, that is a little bit tough because again like you know what goes into a prompt is not just the prompt but also like context and skills and things like that.

Speaker 1: So like maybe you know a prompt might seem basic but isn't. Uh I think it's kind of hard to judge but I do you know like going back to like when I'm giving a PR I don't think a PR at this point is any different than an artifact or something like Claude is doing basically all the codew writing right? So, if I send someone a PR, I usually also attach an artifact of every prompt I sent to Claude. Um, including failed like approaches and things like that, you know, um, so that they can see like, okay, I've considered a lot of other things, you know, and if I haven't, if this is just a oneshot, I just tell people I'm like, hey, this is the oneshot example.

The Changing Software Practice

Speaker 1: This is the prompt I used, right? Um, and uh, I think that's like usually impressive and interesting to them as well because they're like, "Oh, like it's cool that Claude could oneshot this." Um, but the worst is when you get like, you know, you you just I'm just trying to avoid cases where I send in like this 10,000line PR and they're like, "Did you like how much have you like read this or like, you know, like how much did you work with Claude on it?" And if I'm doing like a large PR, I am going to like show my work as much as possible.

Speaker 1: on maintaining code because AI can generate such high volumes of code at this point. Do you have any tips on what's worked well at anthropic for code ownership and maintenance? I do think you have to revisit like what is important with code maintenance, right? And so I think that like there are some things where like naming used to be really important, right? because like it was like how you as a team thought about this like abstraction and feature. Um but I think naming is becoming less and less important. A lot of stylistic things in code are becoming less and less important, you know, and I think that like this is not the same to me as maintenance, right?

Speaker 1: So I I think that like um if you you might want to sit down and be like, okay, like what things really matter now, what don't, what opinions do we have that don't matter? That's one. And then I think on the second on the maintenance side is sort of like having good scaffolding right so I think that it's like uh having a good verification harness having a good like uh sort of skills we use the simplified skill a lot I think that like you know sometimes even from a model perspective like it might do a lot of work and then like even just giving it permission to be like hey I think this is the right uh idea let's simplify it gives it that permission to do it right but like you don't want a model to by default do work and then simplify, right?

Speaker 1: Because uh maybe it's not correct, right? Like you don't want it to simplify work that's not correct. It's like um you're wasting tokens, right? And so I think this is also how humans think, right? They're like, you know, you think generatively, you try and approach and then maybe you like simplify and abstract a little. Um, so I think there's like some work inside your own codebase or like setting up those skills and that those practices where you're like, you know, you're not just submitting like the first take, but you've like simplified it and tried it.

Speaker 1: Um, and then like yeah, having a really good verification harness where you feel like you're catching, you know, like you have a good belief that Claude is like testing every part of it. uh like you know when you submit a PR to cloud code you get a recording back of it using the feature and testing it as as an example right um and you can just get really really creative with different ways to like uh test stuff like I think you should basically have on the order of I'd say more like a hundred times more testing code than you've ever had before you know what I mean so like uh you should have uh fixtures for everything you can just pull production code and create fixtures and mockups on the fly for for databases.

Speaker 1: You can uh have story books for front end and things like that. And you can have all these different ways of testing and verifying your code and that I think is really valuable for maintainability, right? It's like um just having like all these ways of verifying it. Uh and then uh yeah, of course, like there's just like the human element of like where do you want your codebase to go? If you know that's the case, probably you start thinking about like, you know, how you'd replay and undo and redo becomes really important, right?

Speaker 1: Like just like that sort of stuff. And so the but if it's single player only, that actually matters a little bit less, you know, like you like the average user is not going to undo a 100 times or something, right? And so like, you know, many like single player applications undo stop working pretty quickly, like you know, after like four or five times, right? um just because it's not that important. But in multiplayer, the ability to compose different things together is really important or compose different operations together is really important.

Speaker 1: And so um that's just an example where like if you know the direction of your codebase, there are things you care about and you want the models to know. And uh you know, you can include that in your skills. You can also just like you know like that's sort of what maintainability means to me is like having a vision for what your codebase is good at, where where you're going, you know, keeping it in line. Um, I do think the models are getting better and better and better and like almost every codebase probably I think will have this moment where you're like, do you just ask the model to rewrite all of it?

Speaker 1: You know, um, and like because now you're like, oh, like I can do it in the most performant language. I can mix and match, like, you know, like there's not a reason that every software in the world shouldn't run in web assembly in the browser. You know what I mean? There's not a reason why I don't know like your Xbox game can't run in your browser actually, right? Like the Xbox like the hardware like the consoles are much weaker than your average like MacBook right now. You know what I mean? But it's just like the code base, right?

Speaker 1: Um but we could like and and so I I think probably over the next year or two like everyone's going to need to think about that, right? And so I I don't think you want to spend too much time like worrying about maintainability in this like way that might not matter anymore. I'm not saying maintainability doesn't matter. You just have to update your mental model of like what does it mean for like code to be maintainable. You know, I was talking to this friend um who was saying that he leaves tons and tons of tech debt leaving around because the next, you know, the next iter why why waste time fixing that now when the next iteration of Fable is going to oneshot all this tech debt and refactor this for me.

Speaker 1: So, kind of funny. Yeah, I I don't think that's completely incorrect. It depends on the circumstance, right? Like I think this is also just a classic thing in startups right where you're like you know even in normal human engineering you always have this problem of like um hey do I refactor do I do tech debt or do I deliver more customer value would refactoring help me deliver more customer value right now I do think that like just generally I think you should think on your projects on shorter time scales so you're like okay how do I deliver value over the next month or two and if the project you're talking about is delivering value over 6 months or 12 months, you know, then maybe yeah, maybe like wait for the next model a little bit, you know, and then like that like just deliver value on like the short time scale scale, make sure it's like, you know, really good.

Speaker 1: And if the models are not quite good enough, like they might get there soon. It it depends very much on the like specific case, right? But and I'm not saying this is true of everything, but like just something you should keep in mind. I've talked to some friends who work at big tech companies like Google, Facebook, those types of places and then they as they've become more and more AI pill one thing that people have noticed is there's a lot more incidents or sevs in in their usage and it's natural in those organizations because they they read the code less and there's more code flying out.

Speaker 1: you know what counter measures have worked really well for enthropic to prevent breakages given that the code velocity is so much higher. Yeah, I think this is something that like is a byproduct of moving faster sometimes and we have to figure it out. Like I think that uh you know I don't think our uptime is exactly where we want it to be either but also as a company we're a little like almost six years old I think around right so it's like no company has grown this fast before and a lot of that is because we've been able to like create more products faster than ever before right and so you can use claude to make your uptime better right and I think that like the way we think about this is just like really good what's the dream testing environment the dream like you know deployment environment like can you like you know take requests and replay them across like you know mock databases and fixtures across everything.

Speaker 1: Can you chaos monkey everything? you know, in my personal workflows, I have so many more custom random tools and scripts that just make everything faster. And just curious, you know, on your team at Enthropic, for instance, does everyone have a set of miscellaneous tools that help them, you know, get random things done? Yeah, everyone does for sure. Like I I think part of this is is the job. Like I think that sometimes uh what we try and do is we play around with harnesses. Like sometimes some people on the team build their own harnesses for a little bit to figure out like oh is this like useful or not you know and then they they figure out if it works and if not they like integrate it right.

Speaker 1: So I think there's like that's part of the job uh in some ways. Um I think like other examples of like sort of like MISK stuff people will do a lot of people have like uh unique cla setups. I think claw tag is one of these things where like you know you can have it like I have it scheduled my calendar advice right and so like if someone wants to like schedule something with me that I'm just like hey you can just like tag claude here in this channel and I'll accept whatever it like puts on my calendar you know what I mean so um I think there's like some stuff like that I know like a lot of people use it for like email I think that um I've seen like some people do like interesting like multi-clotting sort of t-muxing like setups, right?

Speaker 1: Like where like what's the ideal scenario for you to like display like 50 different cloud codes and you know what's the best way to for you to figure out what's going on at any one time. So, um, yeah, I think there's a lot of different ways and we're trying to make cloud code more hackable as well, so that like, you know, more people can, uh, sort of like even, uh, make their own version of cloud code like more different and everyone might have their own little twist on it. your role at Anthropic is really interesting because of the external visibility that you have and um I think a lot of people when they give career advice visibility is a a good thing but they don't have this level of external visibility and so do you recommend to software engineers like they should be posting on Twitter and X and you know if so what what advice would you give in that sense generally the thing I say to people is that you should share your work externally

Speaker 1: as much as you can. Especially um I think within certain companies like you might not be able to but like maybe you have side projects or something like that. I think just um before I joined Enthropic what I did was like I spent a bunch of time working with different companies building stuff and writing about it and talking about it. Um, and uh, like this was really valuable cuz it like increased my surface area of luck, you know, and so I think that like uh it's really like the bar is much lower than you think. Like basically whenever someone askked me for advice, I'm like, "Okay, I I'll I'll sit them down.

Speaker 1: I'll be like, I know statistically I I tell this advice to a lot of people and almost no one does it. Um, and everyone who's done it is like either in a job that they're pretty excited about or running their own company. Um, and there are reasons why you're not going to want to do it. But like this is I just can tell you one like I don't care about your resume like like you know don't do that. Um, you have to choose like an interesting project to work on. You have to work really hard on it. You have to like lock in and then you have to ship it and write about it.

Speaker 1: Like you have to do it. You can't like there's going to be so many reasons why you don't want to. it's like not good enough yet or like you haven't like you think the write up is not very interesting or something but you have to do it and you can't get discouraged you know like maybe the first one might not work but you have to do it again um and maybe Twitter is not the right place maybe it's Reddit uh maybe there's a specific Reddit or Hacker News or something like that part of what you're trying to do is you're just trying to find people who like like what you're doing right but I think that like people in general want really like you know we consume more content than ever, right?

Speaker 1: And you know this, right? Like I think that like um people want really high quality content. High quality content, as you know, is a lot of work. And so I think going back to like what we said before about like would you show someone the prompt you did, right? Like I think a lot of times people are like, "Oh, what's the shortcut? Like oh, like should I just ask Claude to manage my Twitter account and is that how I like grow?" And I'm like, "No, like like you you should not do that, right? like you have to sort of engage authentically.

Speaker 1: Um you have to like post like you know do good work and talk about it and I think like build up networks and things like that. But I think that as long as that's one of your goals and you try hard at it, I haven't seen anyone not succeed at it. But it is really hard. It's kind of like saying like, oh, I want to like go to the gym every day or I want to like lose weight or something, you know? like there are simple things that you can do that take a lot of discipline and are easy to get discouraged with and um but like worth doing if you do it and I think like posting or more spec more specifically like writing about your work is like I think really really valuable.

Speaker 1: You mentioned luck surface area. Do you have an example that kind of illustrates the value of expanding your luck surface area? Yeah, I mean okay, how did I get my job at Anthropic? I did uh a fellowship with a company called Goodfire where I did like some applied research and so they they're an interpretability AI company and I was trying to figure out like how do I use interpretability to in like to make better products and so I learned about their research um and I uh like felt like I want to work on a project and it was really important for me to like share it and so like I when I agreed to work with them I was like that's my goal is I want to like share what I'm building.

Looking Ahead

Speaker 1: I think that's good for you as well because GoodFire is a startup and you know people I want they want people to learn about them and so this is what something I'm going to do. So I built this like interpretability visualization and I shared about it. This is my first like big post on Twitter, but it was only like 500 likes or something like at like now like you know that's like not very much to me but like it's like back then it was like a huge post and um several people saw it and like some of them DM'd me about it and then uh like I then got an intro into you know like uh into a role here.

Speaker 1: And so um I think that like I spent like a month on that project I think in particular. So, it wasn't like, you know, crazy. Um, and uh, yeah, it just like showed people that I could like do interesting work. And, um, and I got paid for it, too. So, it wasn't like I was doing it for free. Um, and and there's plenty of examples of like I think people are happy to do that sort of thing for you, you know, like if you like sort of show that kind of initiative. Um but yeah, you have to like it is like you really have to like do interesting and novel work and work work hard and be proud of your work as well.

Speaker 1: You know, there's not like a shortcut to that I think. But um if you do, I think everyone is always looking for interesting work and wants to support you and you know, wants to hire you or um yeah, give you money like uh lots of good things. I see this tagline going out a lot with some of the stuff that Anthropics been um maybe like I think it was like Boris went on some podcasts and the tagline was coding is largely solved. You know should people still learn to code if coding is largely solved? I think being technical is really really important.

Speaker 1: Knowing how do computers work? How does like um yeah how does how do computer programs work? How do languages work? like what are the hard things and like what's a backend service like what's a cache like what's what like like you know what like what is memory allocation like all of these things are actually kind of really important to learn um I do think it's hard to motivate yourself sometimes to do in the same way that like mo you know doing math by hand was not that motivating to me you know but some people just love math and did it um I I think that like that's probably something that people have to figure out I think it is really worth it like being technical is really really important like we talked about at the start of or like earlier where like oh the only way you can tell you solved you know the reman hypothesis or like made progress or whatever is like or the Jacobian conjecture is like if you're a great mathematician right

Speaker 1: and in the same way the only way you can tell if you're like built great software is like if you're a great software engineer um I think that like how do you do that is hard but like we've talked about some of this stuff before just like staying in the loop like you know like put like uh like putting like reflecting on your process and and getting better and and you can use cloud to learn as well and and sort of explain things to you. So like treating it like a thought partner. Um but learning like truly I think like you know Kaparthi says like learning should feel like effort you know and I think that's like one of the hard things is like a lot of times even if you ask cloud to explain something to you might just like nod along and you're like oh yeah like I learned it but you didn't really because you didn't put any effort in right so I think that like it is really technical.

Speaker 1: You should learn it's hard to learn and and sometimes like what school forces you to do is to learn that. Um I don't know truly like I'm not learning programming from scratch so I don't know exactly what how to do it now. I think if short of better ways I would still like type out and build programs and run them and learn them. You know what I mean? Um there might be better ways that are more cloud informed as well but I think it's really important. Um, I think when Boris says coding is solved, I think it just means like, um, you know, we don't get stuck in the same ways that we used to before.

Speaker 1: Like I think coding used to be this very high variability thing where you're like, oh, like could this bug take a day or could it take two weeks? You have no idea sometimes, you And I think like um on the whole coding used to be like in real terms like something that was very rare for something to go well. Do you know what I mean? like very few people in the entire world could write software and they were very very rare and even if you got them all together. There were so many other reasons why it wouldn't work, right?

Speaker 1: And coding was this like one of the rarest things in the world where like the chance of a software going project going well was like on absolute terms very low, you know? Uh and if you were like hiring someone to like make software for you for something that's not like a huge product, like if you're hiring someone to make software for your car dealership, you were almost certainly not going to get the software you wanted. you're going to get like essentially scammed, you know what I mean? Um, not because anyone was trying to scam you, just like software is really really hard.

Speaker 1: And you know, it could only be spent on like the most important scalable things in the world. And now that coding is solved, I think what we mean is that like you can use coding to do all these other things that we've not done before. But that's not to say that like that's not a lot of work still. Um, it's just like it's not this like incredibly rare difficult thing that mostly like just doesn't work and you have to spend like eight hours a day locked in to do. Well, what's really insane that shows the difference in expectation is when I used to write software, I would be shocked if it worked on the first try.

Speaker 1: I was like, whoa, wait, why is this working? And you you expect to kind of bash your head against the wall a little bit and then it it works. even if it's just like you missed the semicolon or something like that. And now I almost have the flip expectation where when it doesn't work I'm like wait what why why did Claude what what happened here? Usually I expect it to work almost uh the opposite like on the first try. It's crazy immediately. Yeah. Yeah. I think humans get really used to abundance, right? Like there was this like um article someone shared recently about like going through a modern apartment and talking about all the like wonderful things that we have now that people could not have imagined before.

Speaker 1: Like something that can play music on demand that's suited for your mood, you know, like before you'd have to like hire a musician, you know, to like go write like, you know, incredible music, right? Um but I'd say on the whole probably more people are getting paid to make music now than ever before, right? like um and I think that like music is reaching more people than ever before and I think probably the same thing will happen with software will happen with math will happen with all of these things um where you know when you get abundance people are like great like I want more abundance I want my software and everything you know like I want my music everywhere you know so yeah yeah one potential other data point from this conversation saying that maybe people should still be technical or learn how to code is I Think earlier in the conversation we talked about automating knowledge work and you mentioned that people who were technical

Speaker 1: had kind of a leg up because they could kind of understood how to coordinate claude to do a variety thing like you're calling ffmpeg to automate some video editing and like I don't think someone who is not technical would have that thought so it does seem like even in this case where models are doing a lot there's still so much value in being technical knowing how computers work. You know, in the same way that like look probably like the most technical CEOs are like the best CEOs are technical, right? Like Zuckerberg, El Yon, right?

Speaker 1: But like they probably haven't written like a line of code truly in a long time, but you know, they understand how systems work. They understand, you know, constraints and things like that and and that's really really important and so um you know, even if all that work has changed, I think like being technical is really really important. And then last question for you is if you could go back to when you just entered the industry and give yourself some advice knowing what you know now, what would you say? They're like kind of like two wolves sort of.

Speaker 1: I think like you have to believe in yourself, you know? I think like this is really important and I think that like at least when I joined in the industry, it was rarer to believe in people when they were kind of younger. Like I think that was like the whole point of why copinator or something was like believing in young people early on to do really great things. And so I think that like you know even going back to like the intern discussion we had earlier, right? Like I think that like thinking of yourself not as like someone who's like being trained to do something but someone who can do like something incredible right away I think is really important, you know?

Speaker 1: And um I think I wish I had done bigger bolder things that I'd written and shared about. I think there were lots of ideas where I was like wow like I think I think I had like I thought I had done original work that I wish maybe I'd even shared in some form but maybe not like form that like survived the internet you know and it wasn't like a like goal of mine and so I wish I'd like sort of been bolder and like you know done and shared some of this work but at the same time you also there is a lot to learn from people you know what I mean and like I think that Um you like I think when you're young you're like you know you tend to fold fall follow either you're not bold enough or you're you're not like uh you don't like learn enough you know or like you're not like you don't like you're too bold and you don't like figure out what people have done before and figure out why this not working right um and there's this balance and I think uh you

Speaker 1: everyone has different failure modes but I think like uh I think I probably didn't take enough advant advantage of like, you know, mentors and people who had learned a lot. Um, and I think I probably had to like relearn a bunch of things as a result. Um, so there's probably not universal good advice, but just things to think about as you're, you know, as you're entering. Awesome. Well, thanks so much for your time, Drake. I really appreciate it. Yeah, of course. Thanks, Ryan. It was fun. Hey, thank you for watching this podcast.

Speaker 1: If you liked it and you want to see the show grow, please support with a comment or a like. Also, if you have any recommendations for people you want me to bring on, please drop a comment. Guests like Barbara Liskov, Mike Stonereaker, Mark Brooker, these were all people that I brought on because someone left a comment. On another note, aside from the podcast, I'm working on building the ergonomic keyboard that I wish existed. Here's a glance at the prototype. It's a split keyboard, so there's two sides. This is in the case, but yeah, we launched on Kickstarter and we hit our goal within eight hours of launching.

Speaker 1: I really appreciate it if you were one of the people who grabbed one of the early units. Um, we're now working on the long journey of building the tooling now and so if you still want to pick one up, I've left the late pledges open on Kickstarter, so you can grab one there. I'll put a link in the description. Thank you again for watching the podcast and I'll see you in the next