The Peterman Pod - Boris Cherny (Creator of Claude Code) On How His Career Grew

Episode Date: December 15, 2025

Boris Cherny is the Creator of Claude Code but few people know his full career story. I interviewed him about everything he learned growing at Meta and for insights from his time building Claude Code ...at Anthropic. 𝗣𝗼𝗱𝗰𝗮𝘀𝘁 𝗹𝗶𝗻𝗸𝘀:• Transcript: https://www.developing.dev/p/boris-cherny-creator-of-claude-code• YouTube: https://youtu.be/AmdLVWMdjOk• Apple: https://podcasts.apple.com/au/podcast/the-peterman-pod/id1777363835𝗧𝗶𝗺𝗲𝘀𝘁𝗮𝗺𝗽𝘀:00:00:00 - Intro00:00:59 - Starting at FB00:09:43 - Early side projects and book rec00:17:05 - Being under leveled00:18:55 - Staff (IC6) promo story00:25:19 - Proximity to leadership learnings00:29:36 - Scoping out work for 100s of engs00:35:31 - Senior Staff (IC7) promo story00:44:39 - How to find side projects00:50:45 - Principal (IC8) promo story00:54:20 - Building credibility in a new org01:04:23 - Joining Anthropic01:10:05 - Why Claude Code succeeded01:15:56 - Claude Code use outside of code 01:17:22 - What he thinks of competition01:22:57 - Advice for his younger self01:23:57 - Outro𝗪𝗵𝗲𝗿𝗲 𝘁𝗼 𝗳𝗶𝗻𝗱 𝗕𝗼𝗿𝗶𝘀:• LinkedIn: https://www.linkedin.com/in/bcherny/• X/Twitter: https://x.com/bcherny• Threads: https://www.threads.com/@boris_cherny𝗪𝗵𝗲𝗿𝗲 𝘁𝗼 𝗳𝗶𝗻𝗱 𝗥𝘆𝗮𝗻:• Newsletter: https://www.developing.dev/• X/Twitter: https://x.com/ryanlpeterman• LinkedIn: https://www.linkedin.com/in/ryanlpeterman/• Threads: https://www.threads.com/@ryanlpeterman• Instagram: https://www.instagram.com/ryanlpeterman• TikTok: https://www.tiktok.com/@ryanlpeterman

Transcript
Discussion (0)
Starting point is 00:00:00 The models are moving so quickly. If you ask me this question in three months or six months, my answer will be totally different. This is Boris Cherney. He's the creator of Claude and former meta principal engineer. And we talked about everything that shaped his career. Can you explain latent demand? Latent demand, I think, is the single most important principle in product. You said that there were some clear cultural differences, and that was difficult.
Starting point is 00:00:25 Oh my God, difficult is such an understanding. It was a nightmare. We also talked about Claude Code and what's the thing. actually happening in Anthropic right now. Even though Anthropic has tripled, productivity per engineer has grown like almost 70% because of quadcode. Don't build for the model of today, build for the model six months from now. The one technical book I would recommend to everyone that has had the greatest impact on me as an engineer is...
Starting point is 00:00:49 What are your thoughts on the competition with Codex and OpenEI? Here's the full episode. I want to start at the beginning of your story with you getting promoted to senior engineer at Meta, what's the story behind the projects that got you promoted and where were you at the time? If I remember it, the project was chats and groups and this was a project to bring Messenger and Facebook a little bit closer together. And I actually, the first few projects that I worked on at Meta, it was about Messenger and Facebook. And I think the first one was like Zuck had this idea about like syncing Messenger chats and Facebook groups. But there's a few of these
Starting point is 00:01:32 project's just trying to bring like Messenger and Facebook closer together. And I think the motivation was, there was this feeling that this kind of public space social product was disappearing and that things were moving a little bit more into chat and these kind of more casual real-time spaces. And so we tried a few versions of the product. And chats and groups is the one that worked. I think it was like number three or number four at the time. And I was in the Facebook groups org in Facebook at the time. And I was working a lot with Messenger. That was like organizationally very distant. And this is an idea that I think Steve, who was a PM at the time, he sort of had this idea, this is a thing we should build. And I just picked up on that. And I was like, yeah, hell yeah,
Starting point is 00:02:11 let's do this. And so I sort of hacking on it. And then pretty soon there was some signs of life. So I asked for more engineers. And there were three engineers that joined. There was Chautambri, Crystal and Chopin. They were like the first three engineers that joined this. And then we got some data science support, some design support. And it started just on web. Then we also moved to mobile a little bit. And yeah, I think we just kind of proved out this idea that you can have chats inside of Facebook groups and this kind of product can work.
Starting point is 00:02:45 And there was just like a lot of stuff, honestly, that didn't work at all about it. It was like a super jank experience, I think, by modern product standards. Like back in the day, everyone was building on web. And all sorts of bugs were totally okay. nowadays, I think the standard, honestly, like the visual standard, like quality standard is a lot higher. And yeah, so like the product grew. And we were such a small team. Like everyone had to do everything. And I remember, like, we didn't have a user researcher. So I would go to the cafeteria during lunch and we would have a new feature and we would show the cafeteria workers the feature and be like, hey, can you figure out how to open a chat? And, you know, like sometimes they would find it. Sometimes they wouldn't be able to. And this is just like an observational user research study.
Starting point is 00:03:25 So you kind of see how people in a particular situation can do a task, and you don't prompt them that much. So you don't want to give it too much away. And you kind of see where they struggle. You see what they get. And so we did this. And then I kind of taught the team how to do this. So then pretty soon we would all go to the cafeteria at lunch and start bugging cafeteria workers to, you know, as just kind of like representative users to be like, you know, does this make sense or not? It's interesting how the early Facebook culture that you are operating in let engineers do.
Starting point is 00:03:55 so much outside of just like the code. For instance, you're doing UXR. It sounds like in some of it, I remember in your story, you did some design as well, and you were coaching people to do design. So I think that's pretty interesting, unique thing in Facebook's culture. I think this is so important. And I think to this day, you know, on the quad code team, and this is the team that I'm on right now, we really prioritize generalists. So I love working with generalists. If you're an engineer that codes, but you can also do product work, can also do design. You have product sense. You want to go talk to your users. Like, I love this kind of engineer to work with. And this is actually how we recruit for all functions now. So, like,
Starting point is 00:04:36 our product managers code, our data scientist code, our, you know, user researcher codes a little bit. So, like, I just love these generalists. And I think this is really like the way that I grew up. Like from the beginning, when I was running, you know, my first startup when I was like 18, I had to do everything. And up until Facebook, I worked at smaller companies where you had to do everything. And I kind of feel like at big companies, you get forced into this, you know, particular swim lane, but it's just sort of official because like, what is engineering? It's like, it's a very narrow skill set. But really the thing that you're doing is you're building product or you're building infra and there's just so much more that goes into doing that end to end besides
Starting point is 00:05:11 just writing code. It was just really cool being at a place that, I think Facebook uniquely kind of rewarded that at that time. And I think actually at the end of that half, I got promoted. And then I think that half after every single one of the engineers got promoted to. In those early products, there was this concept latent demand that you mentioned a few times, which it sounds like was the impetus for a lot of those product directions. Can you explain latent demand? Latent demand, I think, is the single most important principle in product. And I think if you look at, especially at Facebook successful products,
Starting point is 00:05:48 every single one has an element of latent demand. So, for example, a marketplace that came from this observation that, if you looked at Facebook groups at the time, 40% of the posts were buying and selling stuff. And so Facebook groups were not designed for commerce, but that's what people were using it for. And so it's kind of cool. Like you design this product in a way that can be hacked. It can be abused by users a little bit. And then you look at the data, you see how they're abusing it, and then you build a product around it.
Starting point is 00:06:16 And so, you know, like there was Facebook groups and then there were buy sell groups. And then that succeeded, obviously, because people already wanted to buy and sell and do commerce on Facebook groups. And then Marketplace was next. It was just a natural extension of the same intent that people had. I think Facebook dating was pretty similar. I think the observation was something like 60% of profile views were people of the opposite gender that were not friends with each other. So, you know, this kind of like traditional like kind of like creeping on each other.
Starting point is 00:06:43 And I think for like Nate and like PMs at the time, like this was evidence that this would work. And I think the principle and product is you can never get people to do something they do not yet do. The thing you can do is you can find the intent that they have, and then you can steer it to let them better kind of capitalize on that intent and kind of do the thing that they want more easily. I think also at this part of your story, you mentioned that you worked across orgs. You worked because you were bridging the gaps between Messenger and a lot of the group's engineering work. I'm curious, you said that there were some clear cultural differences, and that was difficult. Do you have any advice for working across very different culture orgs?
Starting point is 00:07:29 Oh my God. Difficult is such an understanding. It was a nightmare. Like for Facebook at the time, we wanted to ship. Like, we just wanted to go fast and ship awesome product as fast as we could. And then Messenger was all about reliability and performance. That's all they cared about. It was just polar opposite values.
Starting point is 00:07:46 And this isn't just cultural. It's not just like an engineer to engineer thing. It's like the engineers on that team were suspicious of us because we would affect their performance. metrics. And organizationally, their org was set up in a way to ship slowly without regressing the metrics. And we were set up to ship quickly. So it's like, and then the goals were totally different. You know, like they had SLA opt times. And for us, it was just about daily active users in engagement. So I think for me, the running was these kind of cultural values go super deep. It's not just a thing people talk about, but you can actually see this in like in org
Starting point is 00:08:18 design and in goal design and in every part of everything. And honestly, I think, One of the reasons that project failed was, and eventually it evolved actually into something successful, but that version of the project failed was because of this difference in values. So I think that fundamentally, if you want to get companies with really different values to succeed and kind of work together, you have to find some kind of shared goal or kind of shared interest, shared belief, some kind of hypothesis that they want to test together that would be really interesting for both of them if it worked. And I think this like chats and groups think fundamentally, it was really cool for Facebook, but it's not that cool for Messenger for a lot of
Starting point is 00:09:01 reasons. So knowing what you know now, how would you change things going back to that kind of project? I think I probably would have gone to Zuck and just been like, if you're really serious about this thing, we should move Messenger into the Facebook org. And I think this has since happened. And it's actually happened like a few times. Like Messenger was in the org, then it moved out and then it moved in, then moved out, like, it's a big company, like this happens. But I think fundamentally for this kind of thing to succeed, the common report can't be, you know, the common manager can't be like Chris Cox. It has to be like a little bit lower down. And so you can structure the orgs to be a little bit more collaborative. I see. To align the incentives so you don't get that kind of constant
Starting point is 00:09:40 struggle. Yeah, exactly. At this point in your career, I saw there were a bunch of really interesting side projects that you had. And I'm kind of curious, like, what's the butterfly effect? of those kinds of projects. So for instance, even before you got to meta, you worked on Undux, the state management framework for React. I'm curious, like, how did that impact your career, if at all? Yeah, I mean, for me, side quests are so important. And for me, like, when I hire engineers, this is definitely something I look for.
Starting point is 00:10:12 I want people with side quests, like, cool weekend projects, cool side projects. Like, even someone that's, like, you know, just really into, like, making kombucha or something. Like you want people that are generally curious and interested in stuff outside of their main work. These are kind of well-rounded people. These are the kinds of people I enjoy working with. I think for me, this is where a lot of my growth came from is working on these kind of side projects. So something like Undux, honestly, where it came from is React state management is honestly unnecessarily complicated. And at the time, the state of the art was, there was like flux. And then there was this other thing called Redux. And I just couldn't wrap my
Starting point is 00:10:50 head around Redux. I was just, you know, I consider myself kind of average engineer. Like, I build product. I'm like, I'm not one of these like incredible systems engineers. And so for me, like Redux at the time, I had these concepts of like, you know, like reducers and this kind of like, just like this like very complicated flow you had to go to just like update a little state. And I just couldn't wrap my head around it. So I built a simpler thing that seemed to work. I used that. I was volunteering at a nonprofit at the time and they started using it and their engineers liked it. And then when I joined Facebook, I saw a lot of kind of frustration around Redux usage, because there was an internal group for people that use Redux, and there were all these
Starting point is 00:11:29 questions where people were asking the same questions I did. You know, like when you as an engineer or, you know, as a product person are running into a problem, sometimes it's just you. Often it's other people too. And I think it's important to build the spidey sense for like when this problem might be shared by others. And so this is a problem that definitely was shared by others. And I could kind of see this in support posts and by the difficulty my team had using Redux. And so I launched Undux internally. And Undex is like, it's fine. It's like not that great of a product.
Starting point is 00:11:59 But at least it's better than Redux. And at Facebook, I didn't actually know how to get adoption. So I kind of posted about it. A few people started to use it. I remember there was like Jeff Case on the notifications team was a big early adopter. And we spent some late nights debugging some like gnarly like notification related bugs due to it. And I want to. I wanted to get more adoption. And so what I did was I wrote a little script and I scraped the group of
Starting point is 00:12:24 people reporting issues and I just tallied them by team. And then I reached out just over chat to the tech lead and the manager for every team. And I scheduled like a tech talk just for that team. And I think overall I did maybe 20, 30, 40 tech talk, something like that over the course of like a few weeks. And I remember just like biking around the meta campus and kind of doing these talks. And it was so fun because people were so engaged and they were just so excited that someone cares about solving this problem that they really have. And I think at some point, Undux was like the most popular state management framework at Facebook. And then I think it got pretty quickly replaced by recoil and kind of more modern alternatives. And nowadays it's like relay and things like that.
Starting point is 00:13:06 Does that kind of side project appear in your like performance reviewers like help you in some way? So I think it was in my performance review. I think by meta standards it's kind of a cherry on top. it wasn't really, you know, something that kind of gets you to the next level in itself. But I had a lot of other side quests around that time, too. Like at some point I got really into TypeScript, actually. And this was like at the previous company I was at. We were using it.
Starting point is 00:13:31 There weren't a lot of good resources. And so I just like started writing a book about it because I was like someone, like someone should do this. It's crazy. It doesn't exist. This language is just like magnificent. It's just this like really, really shockingly, shockingly good design. It has all these ideas that no other language had at the time. You know, things like eventually, like at the time there were no conditional types,
Starting point is 00:13:55 but like conditional types, like literal types for everything, map types. They're just like absolutely insane things. Like even like the gnarliest Hascala is going to be impressed by this kind of language feature. But no one was writing about this stuff. And so I just got like super into it and like wrote this book. And it just sort of like ate up like a year of my life. Would not recommend it. But it was really fun to go really deep on it.
Starting point is 00:14:17 And then I also started, I think, like, the world's biggest typescript meet up at the time in San Francisco. And that was a really cool chance to meet. There was, like, Ryan Dahl who created NoGS. There was just, like, all these, like, famous JavaScript celebrities. And it just sort of made me realize, like, all these people are just people. And, you know, like, everyone just, like, builds cool stuff. And some of it's cool, some of it's cool at a particular time. But it's all just people and anyone can do this stuff.
Starting point is 00:14:44 Did you end up using TypeScript or that technical depth later in your time at meta or maybe even in Anthropic? Yeah, I think there is, you know, it's funny. I actually like, I used to not care about languages. And then at some point, this was maybe like 10 years ago. I used to write a motorcycle and I got in a pretty bad accident. Actually, I broke my arms. Oh, my God. And so both of them.
Starting point is 00:15:05 Both of them. Yeah, I had like two slings on. Oh my God. How'd you code? So that was the hard part. So like I actually like couldn't code for like a month. And then, you know, my hands like still kind of hurt. And so like I couldn't write.
Starting point is 00:15:14 JavaScript, which is what I used to write at the time. And so I actually had to branch out and learn other languages because they literally used less keystrokes. And so I started with a coffee script because I was like less parentheses and stuff. I don't think that language even exists. No one uses it nowadays. But that's also how I got into Haskell and kind of functional programming. Because it was kind of, you can do the same thing with fewer keystrokes.
Starting point is 00:15:37 And that was like literally the motivation at the time. And then at some point I was working in at a hedge fund. This was like before Facebook. And I had a coworker Rick who was really into Scala. And I really didn't understand Scala. And he kind of really got me into it. And he got me into this like functional programming side of the house. And this is still like the one technical book I would recommend to everyone that has had the greatest impact on me as an engineer is this book called functional programming and Scala.
Starting point is 00:16:08 And you're probably never going to use Scala Day Today. But the way it teaches you to think about coding problems. is just such a change from the way that most people were encoding, either practically or in school. It's just, it's incredible. It's going to completely change the way that you code. And so for me, it was kind of like, Scala was like, there was kind of like Haskell and kind of coffee script,
Starting point is 00:16:30 these kind of few keystoric languages that was like a first step, then Scala and then TypeScript. And I think this kind of, this changed the way I think, because now I think in types when I code, the thing that matters in your code the most is the type signatures. This is more important than the code itself. And so like getting this right leads to very clean code. And so even at Facebook where I was writing mostly kind of flow and hack and then later
Starting point is 00:16:52 at Instagram Python, it was very helpful. Here at Anthropic, I mostly write typescript in Python. So it's actually quite relevant. But I think the bigger lesson is just thinking types. At this point in your career, you mentioned that you came in underlevel. You came in as a mid-level engineer, even though he had a lot of experience. And you said, in hindsight, you were lucky to be underleveled. And I'm curious, what's the thinking behind that?
Starting point is 00:17:21 Just lower expectations. Yeah, I feel like at a big company, there's all these kind of, you know, like at every level, there's certain expectations in terms of kind of the project impact and people impact and all this kind of stuff. And the specific criteria are kind of different across companies. But there's, I think a lot of it is about either project impact or kind of checking a bunch of checkboxes. And all this just takes a lot of time. And so I think coming in under level, they just gave me the space to explore and just like build cool stuff for the sake of building cool stuff.
Starting point is 00:18:00 Definitely. And I wonder if it also helps with building momentum. Like what I mean is if you came in as mid-level or E4 and then you. you you were crushing it everyone's saying Boris is amazing what this is crazy as opposed to you came in at your whatever I don't know expectations and you did good I think there can be this uh effect when you come in and you really wow everyone you have such a strong um you know first impression I think can be helpful for building a good reputation that gives you more credibility more projects and stuff like that in the future. Yeah, I think that's totally true. And I think actually this is probably good
Starting point is 00:18:43 advice for any company is like, I think a lot of times engineers switch jobs and they really push, you know, like, I want to go to a different company and I want like a level plus one or whatever. And actually, there's a lot of downsides to that, like you said. Going on to the thing that got you promoted to staff or E6 at Meta, I'm curious the story behind, you know, where you were at the time and what got you promoted into more of that leadership position. So what was happening was chats and groups that was launched and that was going and there was kind of a teamworking on this. And I actually had, I'd done a lot of JavaScript before I joined, but at Facebook, I'd never actually written JavaScript because it was all PHP. And so I really just wanted to write JavaScript.
Starting point is 00:19:29 And we had this like web interface. And for Facebook groups in particular, a lot of people use web as opposed to mobile. Because for example, for like being a group admin or whatever, it's just easier to do on a big computer with the keyboard and stuff. And at the time, the site was really janky. It was like a static site. It was all PHP. There's these little bits of JavaScript that are injected a little bit in different places. There's all sorts of inconsistent state, like all these problems that come out of it.
Starting point is 00:19:55 It doesn't feel like a good U.S. And so I wanted to rewrite it in JavaScript, and I got a lot of pushback from the org at the time. And I think the big reason was that the infrared just wasn't really ready for it. Luckily, at the same time, Comet was starting. And Comet was like the rewrite of Facebook.com on desktop. And this was like Tomicino, who's now at Versal. This was Jing Chen. There's a bunch of these kind of core people that were working on this.
Starting point is 00:20:22 And I just really wanted to be involved. So I reached out and asked how I can help. And I offered Facebook groups as the getting pig for it. And I didn't ask anyone. This kind of did it. And then later I kind of went to my leadership in Facebook groups. and was like, hey, comment's coming. It's going to be a bunch of work.
Starting point is 00:20:38 We can get ahead of it, kind of set the standard for everyone, build a relationship with these other teams. And I still got a bunch of pushback that was like, hey, you know, you can't put 20 engineers on this. And after a bunch of reviews and kind of haggling for engineers, I think we got like 12 engineers or something like that. Because those are a pretty big migration. You know, it's going to take like a year.
Starting point is 00:20:58 Groups is the single biggest product service in all Facebook, which is actually kind of surprising. Yeah, and the migration kind of work. And I think something that was pretty fun about it besides just like building relationships and friendships with this Infer team I never would have worked with otherwise, which was in itself so rewarding and so fun. I think a lot of it was we got to influence the direction of Comet. And it's kind of weird because for an Infra project, a product team often cannot influence the direction. They're more seen as a customer of it. But what happened here was because we helped co-build it.
Starting point is 00:21:31 We built a lot of the abstractions that were then used by other teams that were. we're also building on Comet. And, you know, for example, a particular one I remember was like relay mutations. So, like, you send API requests and you need some sort of consistency. But there's actually this bug where, like, let's say there's like a button and you press the button. Every time you press it, you send a post request. And every time you press the button, it toggles the state of that button.
Starting point is 00:21:56 For a really nice U.X, what you want is as soon as you press the button, the state should toggle, which means you need an optimistic update. But also when the network request comes back, you need to also update the will. cache to make sure it's consistent. And if you're just like mashing that button, what can happen is that the responses come in out of order and you might end up with a different state than what was in the UI. And so I wrote a system to kind of queue up mutations. So it was like consistency at the cost of reliability and this was kind of the right tradeoff
Starting point is 00:22:22 at the time. And everyone ended up using this. And this is how I met like Joe Savona and a bunch of the relay team that was working on the data stores. And it was just really fun. And this is something that since then and before then, and whenever I work with engineers, I just love when people go a layer deeper.
Starting point is 00:22:41 And just try to figure out what's going on. And just because you're a product engineer, it doesn't mean you can't build infrared. Just because you're an infrared engineer, doesn't mean you can't go talk to users. Just be curious about these other parts of the stack. Definitely. And in your agency and getting ahead of comment
Starting point is 00:22:57 are this big JavaScript rewrite. You mentioned in your writing that, you know, getting ahead of that actually gave you a lot more control and also dibs on opportunities. So when you talk about opportunities there, is this what you're kind of talking about, like building these fundamental pieces of prod infra that are impactful for everyone
Starting point is 00:23:16 that's going to take on the new platform? Yeah, yeah, that's an example of it. And then maybe, you know, like a different kind of example is Comet was a lot higher quality than the thing that came before because, you know, it's like a single page web app. So it can just feel a lot more polished. But we had to get figured out
Starting point is 00:23:33 like what exactly quality means on the product. side. And so I wrote a bunch of notes trying to define that and then did a bunch of tech talks, trying to just like teach people on other teams, like, here's what we learned about quality. And just kind of like setting up the conversation about that. You mentioned a big headcount ask for, I guess, this migration to comment. You know, I feel like I'd be curious what that would look like in today with these new tools like Claude Code, etc. I'd be curious, like, knowing what you know now about Claude Code and let's say you were in charge of doing that same scoping for that same job, how many engineers do you think it'd take to do
Starting point is 00:24:14 that 12 engineer job? Yeah, so I think overall to move Facebook groups, so it started with 12 engineers, but I think at the end it was maybe like 20 or 30 engineers or something for about two years. So it turned out to be a pretty big project. I think nowadays it would be maybe, I don't know, like five engineers for six months, something, something like that. So fourth of the, fourth of the time and like more than a third or less than a third of the engineers as well. Yeah, yeah, because you just like everyone would just have a bunch of quads running in parallel and, you know, just like let it cook for a couple hours and then it comes back with a PR and
Starting point is 00:24:49 then you give it like puppeteer or something so it can kind of see the UI and adjust. And I think that's pretty much all would be. And then, you know, nowadays the world we're in is so different from a coding point of view. because the models are moving so quickly that, you know, if you ask me this question in three months or six months, my answer will be totally different. In six months, the answer might be this is actually one engineer. It's just moving so quickly now. It's really hard to do these estimates or to predict how they're going to change in the future. At this point in your career, you had mentioned something, maybe it was ton in cheek.
Starting point is 00:25:24 I'm not sure. You said, this was when I learned to always present three options in VP reviews, since 80% of the three. time, they'll just pick the middle option. And then it says, your VP picked the middle option in parentheses. What's the thinking behind that? Yeah, this is very much tongue and cheek. But maybe this is actually kind of true at meta at that time. I think like decision makers that are far away from the work want to know that you did the due diligence of finding the right options and the right tradeoffs and that you did the work. But they also want to contribute somehow to the decision So, you know, the middle option is kind of the easy way to do that.
Starting point is 00:26:05 It's a little tongue in cheek because I think not all leaders are like this. A lot of leaders will do their work themselves. They trust their teams more or less. There's so many different ways to operate. But at the time, I remember we had like a pretty non-technical leader. And this was kind of the way to help her make decisions. I think at this point in your career, you had the most proximity you've had to senior management. You said you were reporting to a senior director at some point, and you're involved in a lot of huge scoping conversations.
Starting point is 00:26:37 I'm curious, what's the downstream effects of reporting to someone so senior like that? Yeah, I think it kind of depends on the engineer, and it depends on the company. So, for example, like, you know, now I'm at anthropic, and I think at Anthropic, it doesn't matter. It doesn't matter which level you report to. There's some of the most senior people at the company report to line managers. a lot of the line managers are like XCTOs and things like this. So it actually doesn't matter. So I think this is kind of like a meta, it's a very meta-specific cultural,
Starting point is 00:27:08 cultural observation. I think there's sort of like two things going on. So one is you want, at meta you needed, as an engineer, you always needed to find scope. Some of this you can find yourself, and then some of it your manager helps you find, or your tech leader, the people you surround yourself with. And, you know, like, the PSE process is like grueling, like famously grueling at Meta. And so you just have to constantly talk about your impact. And like scope is like the biggest contributor to that.
Starting point is 00:27:36 Like if you have enough scope and you executed, well, that's impact. That's the formula. I think the other part was at Meta, no one had titles. So even the most senior engineers, their title is software engineer, which actually really love. And, you know, like the labs had this with like a member of technical staff. And this is true at Anthropic too. We actually go even further. Here, everyone's title is member of technical staff.
Starting point is 00:28:01 It doesn't even matter if you're an engineer or a PM or a designer. It's all the same title. And I actually really love it because back to this point of working outside your lane and doing stuff that just should be done and, you know, are just good things to do regardless of what you are personally expected to do. I think this kind of culture just sets that up. I mean, I see a lot of the benefits of things. the no titles, I could also see a case though where, and maybe this is only true for big companies,
Starting point is 00:28:30 where you reach out to someone across the company and you say, hey, I'd like to, I don't know, do this collaboration. And if your title said director or whatever, it kind of is like a shortcut for them to understand how seriously to take you or how to interact with you, like if you're a designer or some other role. So, I mean, now Anthropics got a bit bigger at this point. Do you see any of that? I mean, people probably all know you, so maybe you don't see it as much. Yeah, I think this is definitely the downside. I think that upside outweighs it, which is you have to earn trust. And I think this is true, like, you know, regardless of what company you're at, you got to earn it. And just because you did a cool thing before, it doesn't mean that you have,
Starting point is 00:29:15 you should deserve respect. Well, everyone deserve respect. It doesn't mean that you should deserve authority at a new company in a new setting. So I think even for people coming in, manager titles, you kind of have to earn it. And in some ways, having a manager title makes it a little bit harder to earn this kind of trust. So as an I see, you got to do it either way. And I think just the lack of titles makes it a little easier. At this point in your career, you were kind of like becoming more and more of a tech lead or an Uber tech lead.
Starting point is 00:29:42 And I think you had a few stories where you scoped out work for hundreds of engineers. And I was just thinking about how do you do that? If there's so much to scope and you're one person, how do you go about doing such massive scoping requests for leadership? Yeah, this was a totally insane time. So I worked a lot with Tina Suchman, who's, she's now on Microsoft, but she was my manager at the time, and then I, Faye, who's my manager after. And there was a lot more investment going into Facebook groups at the time.
Starting point is 00:30:16 So I think the org was maybe 150 or 200 people when I joined. And by the time I left to Instagram, I think it was like 600 or 800 people, something like that. So there's this feeling from Zuck that Facebook app should be all about communities. And he just wanted us to go like faster and faster to make that a reality. And, you know, as an executive, your kind of biggest way to do that is to put the right people in charge of decisions. And then to give them resources. And so like in, you know, in the case of meta, it's just engineers. You don't need like GPUs for this.
Starting point is 00:30:48 You need like engineers to do stuff. And so we pitched this project to Zuck, and it was called Communities as the new organizations. That was like the internal name. And he grinned with just like a bunch of headcount to go towards this. And so we just had to figure out what these people will do. And, you know, for him, I get it. It's like if the thing is important, you've got to put a bunch of people on it. In hindsight, what I would have done differently is I would have put way less people on it.
Starting point is 00:31:13 Because what matters is like solving people's problems and building awesome product. And this actually has to kind of be bottoms up. kind of want to like slowly dial this up as you find product market fit for new product lines. You can't just do it all at once. And yeah, we just have to like scope out all the stuff. Like there were weeks where I had to, you know, do like a scoping doc for like, okay, we're going to put 30 engineers on this. Here's like three technical options.
Starting point is 00:31:36 We're going to pick this one. Next project. We're going to put 20 engineers on this. Here's three options. We're going to pick this one. Next project we're going to do. And just like doing this like over and over again just to have like, you know, some sort of of confidence that this thing isn't totally crazy.
Starting point is 00:31:48 We did some baseline technical scoping. roughly matching the number of engineers to the project. And there's actually some pretty fun stuff. Like I remember we were trying to merge Facebook groups and pages at some point, like in the data model side. And this is this like very gnarly migration. It would have been, you know, to fully do it, this is like many years and like probably hundreds of engineers to fully do it
Starting point is 00:32:10 because you have to do it across like the data model, the product layer, integrity systems, ad systems. There's just all sorts of stuff that has to get merged. And at the time, Yosef Karver, he just joined. I think he came from either profile or events, like a different org that joined forces with groups to make this happen. And he was working on it, but he was kind of struggling with a decision at the time. And I think he was even more senior than I was. But he just like wasn't making the decision on the data model. And so I just took a bunch of people and I was like, all right,
Starting point is 00:32:38 all the tech leads across the entire org, we're going to spend the next like three hours on this day and we're going to do this like essentially like game where we get to do architecture. And so I split everyone up into two teams. I think it was like blue team and green team or I forgot what these were. And we gave everyone this like this problem like, how do you merge these data models? Here are the requirements. And then everyone had three hours in a whiteboard and they had to come up with a design.
Starting point is 00:33:02 And what was cool is that going into it, we had no idea how we would do this because it just seemed too crazy of a problem. But going out of it, we had two designs that were 80% the same. And so it was really obvious what we could execute on. And then the 20% where the differences were, it was very obvious where the risk was. And so we could kind of front load a little bit of that risk with a little bit of technical
Starting point is 00:33:24 spikes. But also we can just start execution right away because we knew exactly what we had to do. Yeah, that was really interesting when I saw that. It was like a technical design competition with all the senior engineers and you just put people in separate rooms to come up with. I've never heard anything like that. When you proposed that idea for this design competition within the org, where people excited about it or was it like kind of a crazy idea? Yeah, it was sort of crazy. I mean,
Starting point is 00:33:52 with this sort of thing, you just have to kind of do it. So I just kind of told everyone, hey, we're doing this. And then I just put it on everyone's calendar. And it just seems fun. You know, so like as an engineer, you would want to do it. But I think this is the sort of thing where like sometimes you need consensus and sometimes you just have to act. And in this case, because the path wasn't queer, it was important to act. But at the same time, I didn't know how to proceed. So we had to kind of get everyone together to build consensus. And so I think it's like as a leader, you're kind of always juggling these kind of two things. After that experience, just being given hundreds of engineers and scoping things out, do you have any tips for
Starting point is 00:34:27 someone who's like a tech lead who needs to do quick, you know, scoping, anything that worked well for you? I think the biggest thing, I think the biggest failure mode that I've seen is people just taking too long and getting too into the weeds. There's always an infinite number of details. Just start with a high level. You know, most technical scoping you can do within like 30 minutes, very, very roughly. And if you don't know the systems, like nowadays, you would just use quad code, run in the code base and just ask it to like, you know, like, what are all the systems involved?
Starting point is 00:34:55 They can actually just do this for you. And this is another just totally insane change. You know, when I was doing this stuff, I never would have expected that AI could do this for me now. But now it does. In the past, I think that would have been my biggest advice, though, is just timebox it. spend maybe 30 minutes, maybe like couple hours max if you have to like dig through code and stuff. Definitely reach out to experts and just make a list of experts, talk to all of them,
Starting point is 00:35:23 run the design by them. Don't just ask them for input. Give them a straw man because then they can actually like give you feedback on it and it's something to go off of. Continuing with your career story, I think the thing that got you promoted to senior staff or IC7 was public groups on Facebook. So I'm curious, like, the story behind your involvement and that and, you know, anything interesting that happened at that point. Yeah. So Public Groups was one of these projects that came out of this, uh, this coping for, um, you know, like making Facebook groups more about communities. There's this like one very narrow change that we wanted to make that seems so simple on the surface, but it was so complex under it. And it's just funny like explaining this to anyone that wasn't there.
Starting point is 00:36:03 They're like, wait, this is like a one line change. And I'm like, no, it's not. It's like, it was very difficult to pull it off. And so the change was, In order to participate in a public Facebook group, you no longer have to join first. So you're saying you can just view, like you have read access for all groups essentially, or public groups. Read access for all groups. And for some groups, even comment access. So you can comment without joining first. Interesting.
Starting point is 00:36:28 And this is a thing, you know, it feels like a one-line change and actually was a one-mind change. But there's all these downstream implications that were so tricky. So one is, you know, in the data model, there's essentially a field in the data. database that was like group member. And we had this like really intense technical debate about like these people that are commenting in a group, are they group members? And the model also changed where before to join a Facebook group and admin had to approve you. So there's kind of a vote of confidence that you can be in this group. And then after we switch to this model where to join a public Facebook group, you just essentially press like follow. And we actually went back and forth should
Starting point is 00:37:05 it be join or follow. Like what's the right verb to describe this? But it was essentially follow because there's no reciprocal action. You know, if you follow a group, are you a member? Like, should you be stored in that same part of the database? And we just went back and forth on this for a while. And I remember at the time there was this like really senior engineer or Bob. He was kind of the most senior engineer in the in the org at the time. And he felt very strongly that it should not be the same thing. And he kind of pushed us pretty hard, even though it would be a ton of engineering work to migrate stuff to make it a different thing. And so we did this work because he was actually one of the early engineers on Facebook group, so he knew it really well. And he felt pretty strongly.
Starting point is 00:37:44 There's a bunch of these other like downstream changes around like moderation and different new admin tooling that admins would need to handle kind of the influx of spam and things like this. And I remember at the time thinking like if anyone can make a comment, the comments are just going to be like filled up with spam. And I had a hard time kind of convincing people of this. And so at some point I built this like Montecaro like visualization of how this would work. And it was just like this like really simple kind of like scratch pad of, you know, like a comment comes in, there's a certain probability of it being good or bad. And then like what actually happens to comments. And I think that actually did a pretty good job of convincing the integrity teams to jump in and help with this. And so at the time, the page's
Starting point is 00:38:22 integrity team jumped in and they helped with a comment ranking. Because kind of ranking spam comments slower was the main technical mechanism to make it so people don't see these comments. So there's a bunch of these like pretty gnarly downstream implications of letting people participate. There's also this data model migration that we're doing. And so to do all this, we had to staff a big team to kind of make this happen. And so we hired a new director, Yaman, who hired a bunch of engineers. There's a bunch of internal transfers. So some of the most senior engineers from the org, like there was like Henry, Henry Long, Joe Chetham, there was like a few other engineers. And they were all working on this. And I was the same level with them. I was like a, you know,
Starting point is 00:39:03 an IC6 at the time. And so were they. And I remember. just feeling this kind of imposter syndrome of having to kind of direct them and kind of point them at work, knowing kind of in my mind that were the same level, even though levels are hidden, you kind of, you know, you know through like rumors and stuff, who's what. You know, in hindsight, I think this is sort of like misplaced imposter syndrome because levels don't matter at all. This is my current view. And, you know, some people that are very junior can shoot way higher than that and just give you amazing results. Some people that are very senior can give you terrible results. And so the level actually doesn't matter that much.
Starting point is 00:39:40 But at the time, I remember just like really thinking about this. And it was just kind of hard to step into this role. And eventually I did it. And it's funny, eventually the thing that got me the promo to IC7 was reversing this decision that Bob did. Because he wanted to do this big migration. And we did it. And it was just like, dude, it was so much work. It was like six months or a year of work or something, just migrating just hundreds and hundreds and hundreds of callsites.
Starting point is 00:40:07 to do this correctly. And then technically, I felt like actually what we did is we essentially just added an if else at every single one of these call sites. In the process, we audited all the call sites. We kind of knew that it was safe. But we didn't actually change the logic. And so actually what we've learned is that, yes, member is the right field to model both followers and group members.
Starting point is 00:40:28 This was the right decision. And so I pushed the same engineer that did this to then undo it. It was the right thing to push this engineer because it showed maturity on his part that he said yes and was able to do it. He also had the most context technically so he could do it the best. And I think for Bob, it made, he felt better about me as a technical leader because he knew that I was wishing, I was willing to pull back, to push back on decisions that even senior folks make. And in the end, this was the right thing. So we reversed the migration. It also took a long time to do it. But in the end, it made it so everyone building on this infar could do it. And everyone wasn't always
Starting point is 00:41:08 constantly bumping into this. Like, should I use this field or this field? Yeah, I'm curious about that part because you had a strong technical disagreement with Bob or senior TL. But the outcome at the end is actually, it seems like it strengthened the relationship. He was a champion for you in your promotion. So I'm curious, how would you recommend going about strong technical disagreement in a way that doesn't hurt the relationship? I think the biggest thing is you have to earn it. Yeah, you just have to earn trust. And it could be as simple as, you know, like what I did at the beginning,
Starting point is 00:41:45 which is just disagreeing and committing and showing that I'm willing to do that and I'm willing to just execute if someone else thinks it's a good idea and I kind of look up to them. But also you have to kind of show that you have good technical judgment. But you can't really do that until you're in trust. So take the time to get that trust first. And then on the imposter syndrome, leading those engineers that were also very strong, do you have any advice for overcoming imposter syndrome? Yeah, just don't overthink it.
Starting point is 00:42:14 You know, no one really knows what they're doing, you know, at any level, no one really knows. We're just trying to figure it out. It's easier said the done. Was there like an aha moment where you realize, actually, maybe I do got this or this isn't that big of a deal? You know, I don't think so really. There wasn't a single moment. It just, it kind of goes away over time. And I think at every, at every level, it doesn't matter what level you're at,
Starting point is 00:42:38 you should always feel a little bit of imposter syndrome. Because if you don't, then you're not pushing yourself hard enough. At this point in your career, you were like more and more of tech lead and, and therefore you were writing less and less code. And you mentioned that, you know, at meta especially, there's cases where other functions are understaffed. and you view that as an opportunity for engineers. So to be more product-minded and maybe help out with the PM opportunities,
Starting point is 00:43:09 I'm curious, when would you say that you should go that direction as opposed to escalating and say, hey, we need more PM support and trying to write more code instead? Yeah, you have to understand the tradeoffs. I think this is the thing that I think a lot of people don't really get when they push for stuff. or, you know, I think a very common failure mode is an engineer will push for an idea and then gets, gets frustrated when no one else buys into it or wants to fund it. Or the organization just like doesn't listen or their reader doesn't listen.
Starting point is 00:43:40 But what you have to do is understand the tradeoffs. And whoever it is that you're trying to convince, think of it from their point of view. What do they care about? What are the projects they're working on? What is this trade off against? If they do this thing, are they going to see their work as a success? So I think that's really important. And for some orgs that sometimes they might not have PMs because it might just not be a very sexy project.
Starting point is 00:44:06 And so it might be really hard to hire. And maybe the leader is already feeling that pain. Maybe for some orgs, they are trying to hire PMs, but there's actually just much more important things those PMs should go to. For other orgs, they might actually have like too many PMs. And so actually if you ask, that's the right thing to do. because they could just take a PM off a less important project and put on your project because it's more important. So I think it's really important to kind of be situationally aware, understand the context you're in, and understand how your decision makers think about it. At this point, and this is kind of the end of that part one of your story, you credit a lot of your success to, again, the side quests and like having these side projects or a running list of you called them 20% time ideas.
Starting point is 00:44:52 and I'm curious, do you have any tips on how to find opportunities for engineers? Yeah, I think at some point there was probably, I forget the exact numbers, but there was probably like 50, 100 engineers or something like this that were just like working on these like side quests that I like scoped out and like spun out of various points. And so pretty much like every week, I would think of like some project, you know, just like on a run or something or maybe like while I'm coding, I think of some idea. I'll just do some basic validation and then I'll just ping an engineer that I know and be
Starting point is 00:45:20 like, yo, are you interested in this? and then I'll connect them with a couple other engineers that might be interested. And this kind of added up very quickly. I think for me, one way that I really think about my work is how can I do less of it? And as an engineer, our superpower to do this is automation. The most tedious stuff you can automate. And this is something that's really hard actually for other fields. But for us, it's this incredible thing that we can do.
Starting point is 00:45:46 And it's something a lot of engineers don't really do for whatever reason. But we should all be doing it all the time. it's so important. It's leverage. It's like free leverage. And so a thing I often did was every time I did a code review, if I was commenting about a particular kind of issue, maybe like a stylistic issue or something, I literally had a spreadsheet where I would tally up that issue.
Starting point is 00:46:07 And I posted kind of the link to that pull request. And then I would do this for every code review. And then when I commented about the same kind of thing more than a few times, I would just write a wind rule for it to just automate that. So this is kind of an example of leverage. So, and at some point I automated most of my code reviews because like I just had a, you know, like a flock of lint rolls that were just like doing all this work for me. And I think this is actually kind of similar because all these side quests, it was improving prod infra and dev infra. And these are things that slowed me down in my day to day coding. And this is why like when I was doing West coding, this was actually very dangerous because as an engineer, you need to be anchored to reality. You need that intuition. And if you're not in the code anymore, then you lose it very quickly. It's a very dangerous place to be in. And so for me, when I was in the code a lot, there was all these really cool ideas that came out of it. And it was leverage, not just for me, but for the whole inch team. Because again, of this principle that if you have a
Starting point is 00:47:00 problem, probably other people have a two. And, you know, I did like YC back in the day. And in YC, they teach you that first you build for yourself. You have to build like awesome stuff. You have to build stuff people love. But if you're trying to find a market to build for you, start by building for yourself. And that's a pretty good indicator. Other people probably have that same problem. Yeah, there was a quote that you wrote that I thought was really good. You said, better engineering is the easiest way to grow your network and gain influence as an engineer. So I could totally see you had like your scope of influence was so much further than just the code you're writing because you're passing people all these great ideas and, you know,
Starting point is 00:47:38 overseeing them. It's the leverage is really insane. Absolutely. Yeah. And it's also just like an example of being contextually, was it situationally aware? Because, you know, I met at the time, engineers were evaluated in the performance cycle. We looked at project impacts, people. Do you remember the other? Direction. And Eng excellence. And Eng excellence.
Starting point is 00:48:00 And the Eng excellence is a thing that a lot of engineers struggled with. And so, you know, I was, you know, one of the people that came along and was like, hey, if you want to do Eng excellence, here's a project. And people are already incentivized to do it, so they see it as an opportunity. And I think this is just like, I don't know, I think it was a chance for me to kind of hone my skills about working with people where you never ever want to tell anyone what to do in any in any context. In a personal context, in a work context, everyone hates being told what to do. But if you understand what a person wants, then you can go to the right person with a right
Starting point is 00:48:34 opportunity and they see it as an opportunity. And this just always works better for everyone. When I think about these 20% time ideas, I mean, there's the top of funnel finding the ideas and then there's actually, you know, executing on them that, you know, getting someone to, you do it or whether it's yourself or someone else. The thing I'm interested in is the top of funnel. Like how how do you source so many ideas as an engineer for these side quests that are impactful? Just common sense. I don't know. Maybe spidey sense. I don't know the right word. Like how so? Like what's a what's a concrete example? Yeah, like a really concrete example is
Starting point is 00:49:14 you know like I think wind rules are a good one. Maybe maybe another one is there were all these cases where we had SEVs because Facebook groups were not being tested with very large sets of ASSOCs. And so, like, for example, and a SOC kind of like, this is kind of like a Facebook way of saying, like, you know, rows in a database. So you could imagine, like, a Facebook group with like 10 million members. Like, no one's ever tested this. There's no, like, unit test for this. You only see it in production. And when I looked across the org, I started seeing similar cases of this.
Starting point is 00:49:46 There's, for example, like, if you have a profile with, like, 20 million followers, a lot of stuff breaks. But obviously, like, no one tests this in an automated way, just because it's kind of annoying to write a unit test with this much data. And so there's a bunch of instances of this. And then I pitched an engineer to build a way to write unit tests for large data sets. So, you know, like a really big object, like a group with a lot of members, a profile with a lot of followers, an event with a lot of attendees. And I think this infrastructure still exists. And it's, you know, it prevents a lot of issues. And this is something where you can scope it.
Starting point is 00:50:19 And then he brought in a bunch of other engineers to do the work and help him out with them. So I guess just think about the problems that you actually hit day to day. Got it. Okay. So think about the problems. And if you're experiencing that problem repeatedly, then it's time for automation. And that's like a great better engineering project. Yeah.
Starting point is 00:50:37 Exactly. Exactly. Like if you hit the same problem like two or three times, you should probably kind of look around and see if other people were hitting that project, hitting that problem too. The last leg of your career at meta is where you got the E8. I know that you moved orgs. So you did all of your growth in Facebook groups and then you moved to Instagram. I'm curious, what's the story behind you moving orgs to Instagram?
Starting point is 00:51:02 At the time, I was dating. My wife and I were still dating. And she was living in Berkeley. I was living in SF. And at some point, she's like, I found my dream job. And I was like, sweet, awesome. And then she was like, we're going to have to. to move. And I was like, okay, great. We've been dating like three months at the time. And
Starting point is 00:51:23 we were kind of deciding why should we like keep dating? And so she was like, yeah, we would have to move if you want to like keep dating. And I was like, yeah, okay, I do. Let's do it. And then so the job ended up being in like rural Japan. It was sort of like middle of nowhere. And I was trying to figure out like, how do I do it? Because I really like the work that I was doing. And so first I talked to like Facebook groups, leadership and tried to set up like a Japan office out there for Facebook groups. That didn't really work for, you know, a bunch of kind of organizational rules. Then I tried to do this with the VR org. And it was actually working, but then the person that was sponsoring it left to go to, I think, like, YouTube or something.
Starting point is 00:52:04 And then at the time, Will Bailey reached out. And he was in the Instagram Tokyo office. He was part of this, like, landing team for Instagram. And he was like, hey, I kind of want to grow this office. Do you want to be part of that? And I was like, yeah, let's do it. And I didn't know anything. I didn't even have Instagram installed at the time. I'd never used it in my life. And so I said yes, and then I immediately downloaded Instagram, and then I moved, like, I think like the next week or something. So pretty much, or actually, you know,
Starting point is 00:52:33 I think it was like a few weeks that I had in the U.S. But I moved out pretty quickly. And I actually really fell in the love with the Instagram culture. It was very different than Facebook culture. a big emphasis on building awesome products, on shipping stuff that people don't use, on thinking about things not just from a data point of view, but also from a human point of view and an experience point of view. And you can see this in the app and in the craft that goes into it.
Starting point is 00:53:03 It's just completely different engineering and product and design cultures between the two companies. So I weren't so much being on that team. That was such a fun journey. You mentioned the unshipped part. What is that? Unchipping is the idea that if you just add features to an app, it's cool for some small percent of users, but it's actually bad for most users that don't use the feature. And so you can think of an app where you only add features to it, and over time the features accumulate and they add up.
Starting point is 00:53:36 And if every feature is used by like 10% of people, the average user sees a bunch of features that they don't use. And so it seems cluttered and confusing. And when they open the app, they don't know what to do. And, you know, like with software fundamentally, the screen is a limited size. That's the limited real estate. It's a limited resource that all the different features are competing for. And so by adding a feature that's taking the opportunity away from, you know, a different feature the person could have used. And so unshipping is the idea that you have to meet some sort of usage bar.
Starting point is 00:54:07 And if a feature doesn't meet that bar, then we just delete the feature. And a small percent of users are going to be pissed. But it's actually great for the majority. of users and on average it's really great for everyone. At this point in your career, I mean, you moved, you didn't just move orgs. You moved across the world to work at Instagram. And I think when you're such a senior tech lead with a lot of credibility in your existing org, it's much easier to get things done or at least influence others because they say, oh, I know Boris and I know his past work. But I'm curious, how did you build up credibility at Instanti?
Starting point is 00:54:45 Instagram when you were so far away from everyone else. I think a lot of the credit early on, this goes to NAM, who was, NAM Gugian, he was the, he's still the VP of Avenge at Instagram and Jeff Huang, who was my director at the time, but now he's a VP. And, you know, Will, I think there was a lot of connections made by these people. So, you know, for example, NAM was like, hey, you really like doing, you know, working on code quality and like tech debt reduction, you know, which, you know, we'll be. we call better engineering at meta. And he kind of connected me with the people working on it.
Starting point is 00:55:20 And this was like Lucas Camera and Gabe and a bunch of these other folks that were working on this stuff. So those connections were really useful. And then I think a lot of it was I just had to earn the trust again. And honestly, this is a healthy thing to do. And I think this is one of the really awesome things about meta engineering culture that there are not titles. And so you kind of have to constantly re-earn your trust.
Starting point is 00:55:48 And, you know, even if I was a great engineer in the past, I may not have been a great engineer at Instagram. And if I wasn't, then I don't deserve influence. I don't deserve to have a really loud voice that people listen to. So I had to earn it along with everyone else. And so my first few weeks, I spent a lot of time, like, meeting people, mapping out the org, mapping out goals, writing a lot of code so I can get to know the code base. But then in Japan, it was totally different because, you know, like 4 p.m.
Starting point is 00:56:14 Tokyo time was like or it was like 9 a.m. Tokyo time was like 7 p.m. New York time. There was just like no time zone over up. It was rough. Yeah. But it was also great because I think in the few years before I was doing so many meetings and docs and all the stuff. I just wasn't coding. So I just started to feel pretty unhappy because like as an engineer we code. That's that's what we do. Like that's that's the reason we pick this job is you like for me like when I write code I have an emotional relationship with the code. And it's something that I think about. When I'm really deep in a problem, I dream about it. So it's just so important for me to code.
Starting point is 00:56:50 And when I wasn't doing this for years, it was sort of rough. And I think I was starting to burn out of it. And so actually, it was a gift to be in this time zone where I literally couldn't do meetings because people weren't awake or didn't want to, like, you know, do 9 p.m. meetings just to talk. So I didn't do any more one-on-ones. And this is actually still something I don't do. So I still don't do any standing one-on-ones. And I just could spend a lot of time coding.
Starting point is 00:57:14 And what I realized is I was one of a few engineers at Instagram at the time that was coding this much. You know, people code, but people don't code that much because there's all the stuff that fills up your time. There's meetings and, you know, docs and all these other obligations. And I was able to do a lot of stuff that I think everyone else wanted to do, but just didn't have time. And this was kind of a superpower in that org. And pretty early on, NAM connected me with Joe Pamer, who's still a good friend and mentor. And he's at Google now. And we just started talking about, like, you know, at the time the codebase was written in Python.
Starting point is 00:57:57 And it was sort of rough for a lot of different reasons. And really, the codebase should have been moved over to hack, which is the main Facebook bonolith. And this is where all the language support is. There's so much infra. HHVM is just this absolutely phenomenal web serving stack. there's nothing else like it in terms of like efficiency. If you're using GraphQL, you absolutely have to use it because it's just so optimized for this stuff. And Instagram just wasn't using any of this.
Starting point is 00:58:22 And engineering was suffering. Like in the really early days, you know, like when like Mikey was at Instagram, really basic decisions were, the basic principle for decisions was do the simple thing that works. And this worked really well. But then at some point it stopped working. Once you get to like a thousand engineers, 2,000 engineers working the code base and, you know, many, many, years of tech-ted and products built on top of each other, you kind of have to do, you have to make slightly different decisions than you would have made at the start. And so even if Python was absolutely the right decision at the beginning, it was not the
Starting point is 00:58:54 right decision by the time I was there, and this was painfully obvious as an engineer. And I think a lot of other people saw this, but what stopped them was just the amount of work it would have taken to move the stuff over. And so I just started like scoping this and kind of figuring out what it would take. And so I started by finding the people that would disagree the most. there's a bunch of these, like, infra old-timers that I just thought this was like a terrible idea and would never work. And so I went to talk to them first.
Starting point is 00:59:18 I like food in New York and, you know, like, we got a bunch of beer and just got to know them as people before we even talked about the technical problem. You have to build trust. So I had to kind of get to know them as people. And this was so valuable. And this is still a lot of my friends today. And after building this trust, I also weren't there was a bunch of other people that actually did want to do this and were kind of afraid to say it.
Starting point is 00:59:40 And so these people came out of the woodwork too. And eventually we started scoping this and this project kind of spun out. And it's actually still going today and there's many engineers working on it. But it's funny because at Facebook, I think this kind of problem rarely happens because the org is so engineering-driven. At Instagram, there were many problems of the shape because the org is very product-driven. So there isn't just a lot of time for those engineering-driven initiatives. This project at some point, I mean, you got it off the ground kind of this bottoms-up initiative. and then at some point it became high-prye enough where it needed that in-person support of someone
Starting point is 01:00:15 that wasn't in Japan. And I understand that Jake Bolam is someone that you helped onto the project. And he kind of took more of a lead role, but location-based and close to everyone else. So he can help shepherd it along. I'm curious your thoughts on that point of delegation. Like, when do you decide when to delegate something so big? When do you decide, oh, I need to still be around? And how do you navigate that tradeoff?
Starting point is 01:00:43 Jake is amazing. We're, you know, we're friends. Every time I go to Seattle, we hang out. And he's just one of the best engineers I know. So it was obvious that he would be a good owner for this. The same roles of delegation apply as always. So, you know, you never delegate the thing you don't want to do. That's kind of the most important rule.
Starting point is 01:01:01 You always delegate the thing you do want to do and that you know well because then you can monitor the progress and make sure it's going well. And there's this really great book, High Output Management by Andy Grove. He was an old Intel CEO. And it's just like the most boring sounding book ever. But it's just like the best. And this is one of the pieces of advice is delegate the thing that you like to do so then you can monitor progress.
Starting point is 01:01:24 And so, yeah, it's kind of the same thing. You kind of delegate a little bit. You check in. The more trust you have, the less you have to check in. And with Jake, he's so good technically and so proactive. There was just very little I had to do. It was very much on track from the start. And so I think this coupled with some other work, large migration to kind of GraphQL or modernize some of Instagram data model, ended up getting you promoted to this principal level before you left meta.
Starting point is 01:01:51 What was the story behind the promotion or anything that you might share? That promotion, I think in a one-on-one that I had with Will, my manager, he was like, hey, like, I think you should, like, we should put you up for ICA. And I was like, cool. That was pretty much it. I hadn't really thought about it. Yeah. It's not something I really asked for. I think Will was just like, does a great job of recognizing people and kind of advocating
Starting point is 01:02:15 for his team. And he felt that I was ready. And yeah, that was that. At any point in your journey, because it sounds like you were impact and impact only and growing and your leverage and your credibility, everything was growing. And then the promos were this lagging thing where they just, oh, they kept happening as a byproduct. I'm curious, though, to structure your thinking about how to get more leverage or kind of have more impact, did you ever think about the levels? Or would you say that it's not good to think about like, oh, what's the next level?
Starting point is 01:02:51 More think in terms of just, I don't know, leverage or impact or something else. You have to think about what levels are for, right? Levels exist so that the company can communicate to an engineer, what it is they expect the engineer. to do. It also exists so that there's some accountability. So for example, in performance reviews, the engineer at a particular level, you can compare them to another engineer at that same level. And also sometimes on the finance side, different engineers or the PID costs a different amount. So you can kind of think about what kind of portfolio you want. So, you know, levels, it kind of exists for company reasons and not for engineer reasons. And for me, it's just never the way that I
Starting point is 01:03:29 thought about any of this. Like the thing that I like to do is work on interesting projects. I like to figure out the problems and solve them. I like to just make the things that people use delightful, like the products that they use delightful. This is what really motivates me. So for me, this was just never really the way I thought about it. And I don't know, like my first week at Facebook, I was like an IC4 and I had like all these ideas for stuff that we should build. And so I just started writing like product briefs. And then I remember I went to like the VP of like connectivity and like pitched him some idea.
Starting point is 01:04:00 And he just didn't understand it at all and thought it was terrible. and then like that didn't work. And then I had another idea for Messenger and like I went and like pitch that and like they also like didn't do it. But then they actually did end up building it a couple years later this particular idea. So yeah, for me it's just like, you know, what are the cool ideas and like how can I help and who else is interested in this stuff and how can we build cool stuff? You left meta to go to Anthropic and I'm very curious.
Starting point is 01:04:27 What was your thinking about going to Anthropic? I remember using ChatGPT for the first time when I gave. out. This was, you know, this was like years ago. And I remember I was, I was in Japan. I was the only engineer in my town. I was the only person that spoke English in my town. And there's just no one that I could talk to about text off. And I remember every, every morning I read Hacker News. And I remember using chat GPT and I was just like blown away by the product and just this feeling that it gave me of just nowadays we take it for granted, but, you know, LEMs are just magic. It's just this absolutely incredible technology. And I think now my view of it has shifted. It's like, to me,
Starting point is 01:05:08 it's LMs are this kind of alien life form that we get to nurture and we get to bring into existence. It's not just a technology. And I'm also a really big reader. I read a lot of sci-fi. That's kind of my big genre. And so at the time, I was like, oh, my God, I have to work on this stuff. And, you know, what are the labs that are working on it? So I went to talk to friends working, you know, at various labs. And I feel like when I came to Anthropic, I remember. I remember my first lunch, this was with Ben Mann, who's one of the founders here. And we were sitting at lunch with him and a bunch of other people. And I mentioned this weird sci-fi book that I like.
Starting point is 01:05:44 I think it was by Greg Egan or something. It's like hard sci-fi author. And I've literally never met anyone that's read this book. And at the table, I kind of gave an anecdote from it. And everyone around the table was like, oh, yeah, yeah, yeah, that book was good. But like, what about this other book? And so it was just like this group of people with these like intense sci-fi nerds, these people that think so deeply about these same problems I care about.
Starting point is 01:06:07 And I think the other part for me was you're reading a lot of sci-fi, you kind of get a sense of, you know, in a very speculative way, how this thing can play out. AI is just so transformative to society. I think it's hitting engineering first, and it's going to hit every part of society. It's going to affect everything. And we're seeing the very first waves of this right now. And I think I just, you know, like I read enough that I kind of knew the bad wave. that this can play out. And there can be so many ways this thing goes wrong.
Starting point is 01:06:36 And so for me, Anthropic was just the obvious choice because I wanted to be at a place where in the tiniest way, I can make sure this thing goes well, which is as an engineer, this is all I can do. And it's funny, I think before I joined, I sort of took safety seriously, like, you know, it's like a thing that can happen. And, you know, at meta, it was always seen as this kind of tax where integrity teams and, you know, and so on, they kind of like, they get you to do stuff. but it's not really the thing anyone's really excited to do because it's not the product.
Starting point is 01:07:05 And so this was kind of my view of safety before, but at the same time I kind of speculatively knew that it could be kind of a very different thing. And now being ad-anthropic, I know it's completely different. And I see every model that comes out and kind of the new risks that come with it and how as a company we put our money where our mouth is, you know, in terms of like how much compute goes to safety research and alignment research, in terms of like how many people work on this. we've held up model releases in the past because we did not know that they were safe.
Starting point is 01:07:36 And so we had to make sure that they were safe before. And I think also with Opus 4, the risks just went way up. Like if the model can design, you know, like bioviruses and can do these things that are like really, really dangerous. And it's not just like, you know, like the baseline risk is something like election manipulation. This is something that, you know, like at Meadow was a really big deal. This is sort of a risk for kind of a low-level model. as the models get more dangerous, the risks get higher. And very quickly you get into this territory where people can use the model to build things
Starting point is 01:08:06 that are actually dangerous for humanity, like not just like, you know, like politics in a country, but like literally the existence of humanity. And this is not sci-fi. This is a real risk today that we actively have to fight. And so for me, just like getting to be a part of this and getting to contribute a little bit, this is just what put me over. What about when you joined, when you think about the engineering cultures that you came from compared to Anthropic? Were there any really jarring differences?
Starting point is 01:08:37 Yeah, I would say the two things. One is still being a startup. There's a lot of common sense. And it's funny. I think this is something every big company loses, and it's sort of this thing you have to fight. Because over time, the decision makers get more distant from the impact of their decision, whether it's the product or the people or whatever, so you have to come up with all sorts of processes to bring them closer and to improve the quality of decision making. But still being at a startup, everyone just has common sense
Starting point is 01:09:05 and generally just does the right thing. So I don't have to spend a lot of time convincing people to do stuff. If we should just do something, it's obvious and everyone just does it. I think the second thing is, for me personally, something that I learned over time motivates me the most is mission. It's so important. And it's the thing that keeps me going to work every day, excited to go to work every day is the thing that makes me like code on the weekends because I want to do it, not because there's a deadline. And so I felt this a lot actually in Facebook groups. It was very mission-oriented.
Starting point is 01:09:37 And for a long time, Jen Dulski was the VP. And she used to be the CEO of Change.org. And so she ran all of Facebook groups like a nonprofit. She had like a theory of change. And this theory about how you want to connect people to like-minded people, to form communities. And it was just so motivating to work on that. And I feel like at Instagram, you know, maybe because of the geographic
Starting point is 01:09:56 distance or maybe something else, I just never quite felt that same mission. But I feel like anthropic, I feel that so strongly. And that's probably the most exciting thing for me. I know that, you know, your credit as the creator of Claude Code. And I think you've told that story in many places. But I'm kind of curious, I was talking with a friend about what the environment was like when Cloud Code came. And there were actually a lot of competing existing tools that hooked into the model. And I'm curious, what is it that was different about cloud code that kind of won out and just caught like wildfire internally? At the time, coding looked very different. If you thought about AI coding, people thought about like autocomplete. That was a
Starting point is 01:10:41 situation. I think there was like some very early agents, but it was kind of a secondary thing next to the auto complete. And oftentimes it was used for Q&A. It wasn't really used for coding. And so when people thought about AI for coding, it was just a completely different product that you imagined. You know, it was like tab to autocomplete. And I thought that's what it was. And I thought that was kind of the state of it. And then Ben, who was my manager at the time, he pushed me to think a little bit bigger. And he, I think, really internalized because, you know, he was there from the beginning of Anthropic.
Starting point is 01:11:19 And, you know, he was like at other labs before. And so I think he really understood the scaling laws kind of internally about how quickly the models are improving. And so he actually pushed me really hard to be like, don't build for the model of today, build for the model six months from now. And so honestly, for a long time, quad code was not a great product. And even when it was used internally, I used it for maybe like 10% of my code or something like this. You know, I use it sometimes, but it really just can't do most things because the model is not capable enough. And then at some point, we released Sonnet and Opus 4. and I think those was maybe March of this year.
Starting point is 01:11:54 And the product just worked. And we saw this in kind of the usage data and I saw this in my own coding. I started to be able to use it for probably like half of my code. And this was totally borne out because this was actually like literally six months after starting the project. This was the timeline. And at this point, most of quad code is written using quad code. I think it's like 80 or 90%. If you look at teams at Anthropic, there's some teams that, you know, like 90% of their code is written.
Starting point is 01:12:21 using quad code. This is not just our team. And if you look at the impact on productivity, even though Anthropics has tripled, I think since the start of the year, productivity per engineer measured in, you know, like poor because we were talking about this before, has grown like almost 70% per engineer because of quad code. And so, you know, like as a product person, I usually think a step ahead. And I think being out of lab, you have to actually think kind of differently. You have to think a step ahead, not two steps ahead. But also you have to be really aware of the model and kind of the exponential that we're on. Did you see the recent interview with Carpathie?
Starting point is 01:12:57 I haven't had a chance to watch it yet. Okay. So one thing that he said in the podcast was kind of like a, you know, pushing back a little bit because basically vibe coding, although it has a lot of miraculous results because of what it can generate, there's also a lot of like, he said like slop or, you know, there's like some drawbacks. So I'm curious, like, how do you think about that when the model produces a lot of code, but maybe it's not exactly how you'd like it? Or maybe the end result has some non-obvious problems with it. AI coding is a tool like every other tool that we use, and you have to learn how to use it. So I think one of the most, you know, Carpathie obviously, like, he knows how to code. I think a lot of people that are new to this kind of tool, they tend to just ask it to do stuff that's a little bit too big.
Starting point is 01:13:49 or they hold a different bar for the models code versus their own code. And so something that I do for the team is for the Cloud Code team, we have the same exact bar regardless of whether the code was written by the model or by human. And so if the code sucks, we're not going to merge it. It's the same exact bar. And you just ask the model to improve the code and make it better. I think there's also kind of different ways of wielding these tools. Sometimes you want a vibe code.
Starting point is 01:14:13 And this is really important for throwaway code and prototypes, code that's not in the critical path. And, you know, I do this all the time, but it's definitely not the thing you want to do all the time because you want maintainable code sometimes. You want to be very thoughtful about every line sometimes. So the way the problem, depending on the problem, you want a different approach. And so, you know, there's like a set of approaches that I'll use. Like sometimes all vibe code stuff. This is actually quite rare.
Starting point is 01:14:40 It's actually mostly for like prototypes and things like that that are throwaway code. Usually I pair with a model to make, to write code. And so first we align on a plan, you know, so this is like Shift tab and QuadCode to get into plan mode. And first the model will make a plan, then I'll see the code. And then I might ask it to improve the code or clean it up or so on. But it's a very involved process. I'm pairing with the model. We're working together to write this code.
Starting point is 01:15:04 And then sometimes all still write the code by hand. So, you know, there's some parts of our core query loop where I have very strong opinions about like, you know, things like the names of parameters or kind of like on which particular line of code is. some code is, and so for this, I'll still write it by hand. I think the thing, though, is the models, I think, are still overall not great at coding. I think there's still so much room to improve, and this is the worst it's ever going to be. But it's just insane to me to think a year back where the state of AI coding was, you know, like, type ahead. And it's just a completely different world. And you sort of think about, like, where this is headed and kind of what's about to happen.
Starting point is 01:15:47 what this looks like over the next few months and few years. And yeah, I think for me, what keeps me really excited about it is just having the context about this trajectory that we're on. When people hear cloud code, they think about coding, but there's many use cases outside of just software engineering, like querying data for like data scientists. What are your thoughts when you think of cloud code for everything? It was the craziest thing when I walked in, I remember walking into the office, like, maybe it was like six months ago or something. And our data scientist, Brandon, had quad code up on his computer. He, like, sits next to us. And I'm like, dude, what are you doing? Are you like trying it out? And he's like, no, no. I'm like,
Starting point is 01:16:25 it's like doing my work. I was like, what? So he like, he figured out how to like use a terminal and like how to install no GS. And then he installed quad code. And then it was writing a bunch of SQL and like doing analysis for him. And now when I walk by kind of the data scientists that sit next to us, every person has like a bunch of quad codes up at the same time. It's not just one anymore. And they're doing all sorts of stuff. They're like writing SQL and, you know, kind of crunching data. They're writing DBT pipelines and the writing code. So I think there's all these applications outside of coding. And it's just so cool to see how people are are using this for all sorts of stuff. And there's even like totally non-technical users,
Starting point is 01:17:06 like half of our sales team Anthropic uses quad code to do their work. Like they can like connect it to Salesforce and they can connect it to different data sources and, you know, like they can do their work this way. So it's just so cool to see. This is not how we designed it. This is not the intent. When I hear cloud code, I also think of Codex, one of the biggest competitors. And I'm curious, what are your thoughts on the competition with Codex and Open AI? What does ClaudeCode code do better? And also I'm curious, like the stickiness of these AI products like, you know, what keeps people in cloud code versus codex, for instance? You know, I'm not totally sure.
Starting point is 01:17:45 I don't, at first time, I don't really use the other products. Okay. For me, you know, the thing I tell the team is like, it's so easy to get sidetracked by, you know, looking at competitors. And I think this is something that I saw that big companies fall into this failure mode a lot where because there's so many competitors and it's so easy to see the thing you could build by just, you know, copying it. It's a little bit harder to come up with novel ideas and things that solve the user
Starting point is 01:18:15 need better. And so the thing that I try really hard to do and the thing that I nudge our team to do is don't get sidetracked by all these other products. There's always going to be a lot. And the more there are, the bigger a sign of success that is for us. And the thing we stay laser focused on is solving our problems and solving anthropic researchers' problems and solving our users' problems. Coming to the end of the conversation, I just wanted to ask a few career reflections.
Starting point is 01:18:43 One thing I was curious about when I was looking is that you didn't have a CS degree or a computer science degree. And you've become such a strong software engineer. And so I was curious, is there any part in your career where it might have held you back in any way? Or do you think it's not necessary or relevant? Yeah, I studied economics and I actually dropped out to start startups. You know, for me, anything that you do, you learn on the job. And I think programming is just such a practical skill. I couldn't imagine, you know, the kinds of things you learn in school.
Starting point is 01:19:20 And like, you know, if you're like in a data structures class or something, you're like learning this, but you haven't like built a product. How is it relevant at all? So I don't know. I think my recommendation would be to people like learn coding practically. It's a very practical skill. And then if you want to go back and learn the theory after, go do that. that. But personally, I've never felt like it. It's helped me back at all.
Starting point is 01:19:41 What about productivity tips? So I saw that you said you work roughly nine to six every day, and you only type with two fingers. But your output is ridiculous. I mean, you have all these side projects, and of course, your main stuff's no joke. So what's your top productivity tips, or how do you maintain that? Yeah, I think nowadays my tips are very different than what I would have said a couple years ago. Nowadays, the tip is just foreign how to use quad code. and learn how to run a bunch of quad codes to do stuff. Like, you know, we launched plugins like a couple weeks ago. And Daisy, who's one of the, the engineer that built it,
Starting point is 01:20:18 she just had her clods, like, set up an Asana board, make Asana tasks. And then she had a swarm of like 20 clods, just like build plugins over the weekend. And, you know, she ran it in like a Docker container, Dangerous Mode. And it was done after a couple days. And this is the kind of thing that is the future of engineering. And I think nowadays, when we talk about, for productivity. It's learn how to use clod in order to automate toil and also how to use a bunch of quads together to do work so you're kind of orchestrating instead of manually writing
Starting point is 01:20:51 code. I think years ago my tips would have been really different. It would have been a lot more prosaic than that, you know, like about like blocking off time and things like this. Yeah, it's interesting with cloud code. I wonder what that does for, you know, the famous like maker's schedule versus like manager's schedule. It feels like what you just said is that software engine is becoming more like a manager's style of working where you got a fleet of these cloud codes and you're not, you don't need deep focus to move forward. You need context switching across like 20 different things. So do you no longer have big focus blocks for coding or what are your thoughts on that? Not as much. I tend to code on the weekends also. So I love the quiet time.
Starting point is 01:21:39 But yeah, otherwise, I'll kind of start every morning. I open quad code and, you know, like the mobile app. It's like there's like a code tab in quad now. We just launched this this week. But we've been kind of using it for a while. And so every morning I wake up and I start a few agents to just like start my code for the day. And it's crazy because I, if you'd ask me like six months ago, if this is how I would code, I'll be like, no, are you like, are you crazy? Like, how can you code in this way? but it actually works. Like this is here and it works and this is how I write a lot of my code now. And I'll sort a few agents.
Starting point is 01:22:07 Then, you know, when I get to a computer, I'll kind of check in on the status. Sometimes I'll just merge it if the code looks good. Sometimes I'll like pull it locally and kind of teleport it to edit a little bit. But yeah, and I think like you're going to talk to Fiona later. And I think for her, from what she told me, she hasn't coded in, you know, like a decade. But she's writing code like multiple times a week now. because as a manager, even though her schedule is insane, she can still use the mobile app and she can use web
Starting point is 01:22:37 and she can still open a terminal to just kind of write code for her. So yeah, it's just crazy. Like we get to live through this transition where the thing that we do and like the thing that I grew up on, it's just totally changing. And yeah, it's just so cool. Like it's becoming accessible to everyone. And then last question for you is knowing everything that you know now in your career,
Starting point is 01:23:02 if you could go back to yourself when you just entered the industry and give yourself some advice, what would you say? Just use common sense. I think there's a lot of stuff, especially in big companies, that pulls you away from common sense. There's a lot of this like organercia. Things are this way because they have been this way. There's a lot of misaligned incentives.
Starting point is 01:23:26 There's also a lot of good things, but there's these things also. So it's just really important to use common sense for this. And early on in my career, I was kind of starting a bunch of startups and worked at a lot of startups. And I think there too, it's the same thing. Kind of use common sense to figure out what the market wants and what users want to build it. So yeah, just like trust yourself and develop your common sense. Awesome. Well, thank you so much for us for your time.
Starting point is 01:23:54 Really appreciate it. Yeah, thanks. Thanks for listening to the podcast. I don't sell anything or do sponsorships, but if you want to help out with the podcast, you can support by engaging with the content on YouTube or on Spotify if you want to drop a review. That'll be super helpful.
Starting point is 01:24:12 And if there's any guests that you want to bring on to, please let me know. I feel like sourcing very senior ICs. There's no well-studied list out there on Google that I can just search this up. So if there's someone in your org or at your company who you really look up to and you want to hear their career story. Let me know and I'll reach out to them.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.