The Peterman Pod - Boris Cherny (Creator of Claude Code) On How His Career Grew
Episode Date: December 15, 2025Boris 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)
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.
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...
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
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,
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.
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.
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.
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,
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
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,
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.
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.
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?
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.
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
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
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
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.
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
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
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.
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
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.
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.
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,
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.
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.
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.
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.
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.
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.
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,
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
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?
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.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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
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
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
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
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
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.
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.
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.
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,
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.
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.
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,
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,
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.
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.
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.
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.
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.
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.
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
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,
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.
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
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,
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
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?
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,
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.
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.
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
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.
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
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,
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.
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.
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.
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
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,
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.
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,
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,
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.
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.
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.
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
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.
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.
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
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,
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.
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
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
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.
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.
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.
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?
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
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.
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,
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.
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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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
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?
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.
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.
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.
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
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?
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
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.
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.
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,
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.
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.
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.
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.
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.
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
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?
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
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.
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
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
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.
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.
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.
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?
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.
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.
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.
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.
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.
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,
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,
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.
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
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.
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.
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.
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,
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
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.
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.
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
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,
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.
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.
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.
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.
