The Peterman Pod - PyTorch Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White
Episode Date: May 4, 2026John Myles White recently left his role as a director of engineering at Meta Superintelligence Labs (MSL) so we spoke freely about promo culture, how big tech has changed, and how his career grew.𝗣...𝗼𝗱𝗰𝗮𝘀𝘁 𝗹𝗶𝗻𝗸𝘀:• YouTube: https://youtu.be/aPfnP4iAIH8• Apple: https://podcasts.apple.com/us/podcast/the-peterman-pod/id1777363835• Transcript: https://www.developing.dev/p/msl-eng-director-promo-hacking-industry𝗕𝗿𝗼𝘂𝗴𝗵𝘁 𝘁𝗼 𝘆𝗼𝘂 𝗯𝘆:• Cursor 3: a unified workspace for building software with agents, check it out at https://cursor.com/• My ergonomic keyboard project, you can follow along here: https://read.compose.llc/ 𝗧𝗶𝗺𝗲𝘀𝘁𝗮𝗺𝗽𝘀:0:00 - Intro0:54 - Is he bullish on MSL5:23 - Running promotions at Meta15:15 - Growing at Meta22:22 - Julia core language contributor29:24 - Academics failing into industry31:48 - Stats book recommendations38:02 - Biggest career regret41:05 - Advice for his younger self42:46 - Outro𝗪𝗵𝗲𝗿𝗲 𝘁𝗼 𝗳𝗶𝗻𝗱 𝗝𝗼𝗵𝗻:• LinkedIn: https://www.linkedin.com/in/john-myles-white-115697180/• X/Twitter: https://x.com/johnmyleswhite• Personal Website: https://www.johnmyleswhite.com/• Github: https://github.com/johnmyleswhite𝗪𝗵𝗲𝗿𝗲 𝘁𝗼 𝗳𝗶𝗻𝗱 𝗥𝘆𝗮𝗻:• 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𝗥𝗲𝗳𝗲𝗿𝗲𝗻𝗰𝗲𝗱 𝗶𝗻 𝘁𝗵𝗶𝘀 𝗲𝗽𝗶𝘀𝗼𝗱𝗲:• Evaluating the design of the R language - https://www.researchgate.net/publication/240040602_Evaluating_the_Design_of_the_R_Language• Stats book he mentioned (not affiliate link) - https://www.amazon.com/Foundations-Agnostic-Statistics-Peter-Aronow/dp/1316631141• Stats book he mentioned (not affiliate link) - https://www.amazon.com/All-Statistics-Statistical-Inference-Springer/dp/0387402721
Transcript
Discussion (0)
You have to play the game. It's totally irrational not to play the game.
This is John Miles White. He was a director of engineering on Pi Torch in MSL, and since he quit recently, we talked freely.
I feel like our goals should not be written in a way where shipping a thing we intend to delete is a success.
The general perception is the supply of engineers is like way oversupply.
We also talked about the incentives in big tech.
You ran promotions in AI Infra for a long time.
You know, the only reason you do anything is because there's a clear story about how it's going to get your promotion.
You saw this, I saw this.
What could you do, though?
Here's the full episode.
I'm curious if you're bullish on MSL, like, after you were working there for a bit and kind of seeing it from the inside.
This is, I guess, like a more radical question, but I guess I will be honest.
I am very bullish on MEDA as a company that I am now a stockholder of, but not an employee.
I am very bearish on MEDA if you're an employee who's not a stockholder,
which turns out to not be really anyone.
But I think you can think of yourself as mostly employee if you're mostly getting cash
and mostly not equity.
The more senior folks are the ones who are more mostly stockholder than employee.
And I think that's the change in it.
you think like my sense is that it's enforced with I don't get the perception as unique to msl my
perception is that I think just meta as a place to be an employee is less enjoyable than it used to be
but it actually is being run very effectively if what you care about is the bottom line of the business
and so like I continue to invest in meta and I suspect I will continue to invest because I do
think it's actually from a business perspective run quite well but I do think pretty uniformly
I think it's not unique to MSL.
I do think it's a much more stressful time
to be an employee there than before.
What's the part that makes it
where you're saying employees might not enjoy
working there as much as they used to?
I think that, I mean, I think this is true
of all of Silicon Valley.
I think in general, like, there was a lot of sense
that, like, it was incredibly easy
to lose your glued employees
since you had to do everything impossible
to sacrifice to retain them.
And you were constantly constrained
by an under supply of employees.
And I think basically everyone in Silicon Valley's view, as far as I can tell,
is that that's mostly not true outside of like a small set of like AI researchers
and frontier labs where I think people do still behave this way.
In fact, maybe behave this made more than ever before.
But I think for everyone else, the general perception is the supply of engineers is like way
oversupplied.
And especially I think actually people's concern is what they are.
Maybe they're really oversupplied.
I think what happens is a new market dynamic, which is like, I think as an impughey.
you're thinking, I don't actually have to make so many sacrifices to acquire and retain
talents. And so therefore, I'm going to make fewer of them. And this can play out in a million
ways, but it can be like compensation, but it can also be things of like, do we do things that
upset the employees or do we not? And how hesitant are we? How much do we give them a voice and how much
do we not give them a voice? I think that stuff has changed a lot in the years I was at META.
but my impression is mad does not in any way unique here.
This is just a general property of all of Silicon Valley.
But I do think, you know, as an employee, I think the like the labor supply and demand
situation is super different from when I started.
And I think it is a thing that is going to make generally being an employee rougher periods.
It feels like it can be subtle as well, like what you described of, I guess,
employees having less leverage.
you could see that affecting maybe even like reorg decisions or things like that
where it's like, you know, if people leave, that is part of the calculus of the reorg
and that is less of a downside now and maybe in the future.
So I can see there being a lot of downstream effects where things just don't go as well
for employees.
Yeah.
I mean, there's just so much stuff that in the previous versions of Netta was done that
I think it was a bad decision for the business but made sense from the context of retaining
talent, you know, and I think that the company is just doing less of that. But on the
food side, I mean, I guess to be clear, I didn't say, as I supposed to before, I do think for
most people, like fundamentally just like the possibility might get laid off is the number one
emotional thing that causes people stress. And living in a world where you know that is both
happened recently and may happen again in the future, I think sort of like is probably
beats out all the other questions of sort of lifts and like food and stuff. I think, I think
prior to the layoffs, when those things got taken away, people freaked out and were like, this is unforgivable.
But then once they're like, oh, wait, actually, you guys might just fire me. So now I'm much more tolerant of you taking away my food away.
But I do think that like that fundamentally, like it probably drives from most people, like the vast majority of it.
And I actually think for us, well, this probably is one of things that makes, say, MSL more stressful than the other frontier labs is the sense that it might have layoffs.
in the sense that I think, you know, so far there have been fewer rounds or at least perceived to be a fewer rounds is one of the smaller startups like OpenAI and Onthropic.
I think another thing that is oftentimes used for retention is the promise of growth or I guess career growth for an employee.
And, you know, I know you ran promotions in AI Infra for a long time.
I was curious, like if you saw things change over the years.
I observed a lot of divisions of meta would really like,
stop talking about like, well, your comp is why you're here and we pay you good money and you enjoy the work and that's why you stay.
And a lot of people are like, you know, the only reason you do anything is because there's a clear story about how it's going to get your promotion.
And you would like, especially, and this was really striking when I moved from data infra, whereas one of the places I was in earlier in infra moving to AI Infra and I was in the infra and I was in the info for a while before I came into sort of pipe torch part of AI Infra and then later MSL, one of the things that blew my mind is like,
there was not a single person I would meet on any team in AI info
whose first and foremost goal wasn't promotion.
This was a thing that sort of came up and did info,
but was not like 90% of people's attention.
And when I started at Meta, it was just like not ever a thing.
Actually, like, you know, I used to manage one of your previous guests, Adrian,
and like Adrian and I were talked about career growth back in the day.
And one thing that was really amazing was like,
we started in the sword growth that actually had never had anyone above IC7,
ever in history.
On the sweet side, to be clear, there were some other rules that had it.
But at least this was what we were told.
I actually don't know for a fact it was objectively true,
but we were told this by several people.
I think in that world, you weren't focused on promotion,
so it wasn't a big thing.
But then it became a thing where it was, like,
this is the thing.
Like, you will, one, get more money, more promoted,
but also you'll have a title that you can use for your next job.
and like everything is driven by motion dynamics.
Actually, I would say the orc I sound is by far most strong in was monetization,
which is like when monetization would hire people out of AI Infra,
it would always literally be like,
here is a very detailed plan of work you will do in order to get promoted.
And that was a thing that worked very effectively.
But it also, my experience, like, wrecked tons of teams.
And I managed a bunch of those teams now to fix them.
But there were teams where, like, basically everyone agreed the thing we were working on was bad.
No one thought it would succeed.
But people like, oh, but I have to ship it because that's my promo bar.
And you get into the state where it's sort of just impossible to even make good decisions about software anymore because the promotions were so important.
And then I think what happened as the market became less pro employee is that people like, oh, no, no, no, you should be afraid of being laid off.
you should not be worried about the positive chance of a promotion.
But I don't know that that was a good, I don't think that was a good cultural fix,
but I do think it's been a bit of like an attempt to undo some of the damage from before.
But I do think that like sort of promotion mindset was incredibly intense everywhere.
And ironically, it led to this thing which I found really troubling,
which was the thing that would actually let you develop real skills that would do better in your career going forward,
increasingly got decoupled from the promotions.
You know, and I've seen a lot of people on Twitter over the years say this, and I find it very compelling, which is people like, the main thing that's wrong with the engineering cultures of the big tech companies is the promo culture.
And I really agree.
I actually think met ironically, my perceptionist seems to be doing better at this than many of other companies that have even more formal processes and more anonymous parties involved.
But I do think they're like, oh, what really matters is that you like ran a rollout that affected 10 other systems.
this causes people to not build clean systems.
It causes them to build systems that maximally are coupled to the other systems
in order to be able to hit the promo bar.
And that they think actually I met so many people who didn't even like the work they were doing
because they're like, well, this is what will get me promoted.
And so do you think that stuff was really unfortunate?
And especially I think actually in the AI world has been especially unfortunate
because it means like unless someone is clear how using the AI tooling is going to get them promoted,
they may not do it, but it is without doubt in my mind,
the only thing that's going to matter for actual professional development and growth
and actually being able to do more interesting work in the future.
Yeah, I definitely saw some unusual behaviors,
but we're all trying to play the game because it helps people get promoted
and you retain people and all that.
I mean, unless your VP is ready to fix that and totally shut it down,
like you have to play the game.
It's totally irrational not to play the game.
And I think, you know, you either, if you don't want to be in that, we have to leave the org.
If you're there, you've got to play the game.
You cannot be the one who's sort of unilaterally disarms.
But it is, I mean, it was mind-blowing to me to see this culture, I think, was unique to both monetization AI-infra.
But it was completely dominant in AI-infra.
And it was really, it was not great for any parties.
And for the thing is, it was like, it wasn't even good for the people who were in it.
Like, they themselves had gotten into this rat race that seemed to be demoralizing to them.
You saw this.
I saw this.
What could you do, though?
When I was in it too, the people who were talking about it,
they were not necessarily saying, yeah, this is good.
They were saying, yep, I'm doing this that I don't believe in,
but we both know that I need to do this for this reason,
so I'm doing it.
I think there are sort of two high sources of uncertainty that compete,
and I don't quite know how they balance out.
But they think one is, like, I think people have a ton of agency
in choosing the culture of the team they want to be on.
and if they're in a situation like that and they don't love it,
meta has a lot of teams that don't have that culture.
There are a lot of teams, like, Pike George was one of them,
where people were just like genuinely in it for the love of the craft.
And like people loved engineering as engineering and Pike Torch
in a way that I think was not present to a bunch of other parts of meta.
I think people wanted to come to Pike Torch for that reason.
And I think people came and were happy for that reason.
So I do think people just have agency in that sense,
which is like, yeah, within the context of that machine,
you've got to follow the rules, but it's not like you're forced to be in that machine.
There were other rules.
Not everyone would get them, and my vet was very choosy, but I think many people could, and it was worth doing.
I think the alternative, though, was also like, even within a team, managers can differ a lot
and how much they push on this.
And I have personally been a person who I think mostly benefited from actually trying to bet on,
be on the stable team that will gradually succeed over time
and we'll have a healthy culture and not collapse
and not do things like over-level ourselves.
But it does mean that you get promoted slower.
And this is where I think I do struggle with this a bit,
which is I think like if you end of the day,
what you really want to do is do something like compute
your total sum of earnings over your entire lifetime.
It may be better to be in the orgs that get promoted really fast
and get fired really fast.
But there are a lot of those orgs at meta
where people are like, well, they're the star,
is, oh, actually, no, it turns out they're terrible and lied to us, so we got rid of all of them.
It always happened a bunch of times in the year.
It might be that that is actually economically rational.
I'm not sure, but certainly I think from myself, I got emotionally rational and feeling like I enjoy the craft of stuff, being on the teams, and Pytwich was like this.
I mean, one of the challenges actually Paitrich had with hiring was actually the perception that Pytch held a higher bar.
People would be like, oh, I've heard you guys are actually like much tougher about promotions.
And I'd be like, yeah, honestly, we are.
Like, honestly, like, our 8s are, like, as good as you're going to get anywhere in this whole world.
And, you know, if you want to be the best engineer you're ever going to be in your entire life, you should work with them.
But, like, our rates probably are better than the tens in a couple of other teams.
If you want to be a 10, you maybe should be in that team instead.
And I think for some people, that would really turn them off.
But I think part of this was, again, the sort of, like, agency and selection mechanism as I think Pytworth selected,
people who actually just loved engineering as engineering.
And then there were people who were willing to tolerate slightly fewer permissions.
And ironically, when things I think was interesting, though, was that it became a bit of, like,
magic thing that kind of turned out well, which is because people perceived Pykearch to hold such
a high bar, it was much easier for us to convince people outside of PyTorch that actually
our people were ready for eight or nine or ten.
Whereas other teams, when they tried to make this argument, they're like, oh, but you guys are
not well known for holding a high bar.
maybe you guys are just overselling these people.
But in Pynchorch, people are like, oh, yeah, like, you guys hired our guy and thought he was pretty bad.
So actually, we think you probably are credible.
And I think that, that, like, again, it's like, in the short term doesn't actually accumulate as fast,
but I think the long term does have a ton of benefits.
Whether it is the absolute, like, compensation maximizing algorithm, I'm not sure.
And that's where I have a little bit, like, torn.
But for me, I was also, like, I was willing to get 20,000.
percent less compensation to be in a place that I was more proud of.
Actually, that's funny because I remember someone from Pytorch would join one of our collaborations,
for instance, you know, someone would join and go, oh, he's a five, but really he's like a seven.
Like he's better than all of our engineers, but we don't know why he's a five, but he's a five.
That was not uncommon working with that org.
Yeah, I mean, again, this was like, I mean, it wouldn't come out like flat out in like opportunity
chats where we tried to hire someone and they're like, hey, you know, Piperge is cool.
aren't you guys like really under-leveled?
That would be like the first question people would ask
and have to be like, maybe or maybe we're holding the right levels.
You know, you got to decide where you want to take a chance on us.
But I think the flip side is, you know, that, you know, we really did train people.
Like a lot of people who were in PyTorch really learned to be remarkably good.
I know before PyTorch, you worked on some of the data and experimentation tools at Meta.
How is that work and like how was your experience growing in early Facebook before all this?
promo craziness? Well, I came into a wild ride, which was actually honestly an amazing experience.
And some of my happiest years in my life for my first two years I met him, but also some of the
most fearsome and scary years were also there. But like I joined the team that I signed up for.
And when I signed up, it was supposed to be called data science. Before I arrived, because I asked
for a six-month leave to work on Julia, the programming language I was one of the core contributors
to. I asked for a six-month leave between finishing grad school.
and going to Facebook at that time.
And during that six-month period,
the guy who hired me quit,
and then the team that was called data science
that I was hired into got split into two teams,
one called core data science and one called data science infrastructure.
And then that itself became really tricky
because I wound up joining core data science,
but really loving, collaborating with the data science infrastructure people,
who were the ones who own the experimentation tools.
Working in the experimentation tools was, like,
Honestly, like, I think to this day, the most people who know me from Metter are like, oh, yeah, John was really helpful for that stuff.
I actually think like almost nothing I worked on as an I see ever went anywhere close to being as valuable to the business as the experimentation stuff.
And I don't think I was ever as good at any of the other stuff.
I really loved being in that space.
And I think it was like really influential to the business.
That said, I was on this core data science team that was like an insane ball of stress.
I joined, it was radically reorged, it had new managers,
I actually wound up really liking the new managers,
but that was still a source of churn.
But then a few months into it,
someone who actually was on the data science infrastructure team,
which is particularly what's amusing,
but attributed his team to being core data science
because he perceived that to be sort of the team he really was on
when he wrote this paper, published this paper in PNAS,
the proceedings in National Academy of Science,
called something like emotional contagion and social networks.
that wound up just becoming like the absolute singular worst piece of PR for meta as a business that year.
Just absolute disaster.
I mean, I was like really, really trying to prevent this from happening,
but I didn't have the authority to prevent it.
But like, you know, at least people perceive I was on the side who was not happy with this decision.
But it meant that I, you know, was on this team where I was doing the data science infrastructure
where it was sort of very inward-facing and very safe,
but I was affiliated with a more researchy deficient.
was publishing these papers that went from becoming sort of a PR win to a PR nightmare very rapidly.
And that team, I think, was one of the most my formative experiences at Meta, because he really was
like, well, what happens that this team just gets fully disbanded? And this was in a world where there
weren't layoffs, it was like, well, meta doesn't do layoffs, but this team maybe has got itself
to a state where it's going to get laid off. You know, and the guy who wrote this paper wound up
having to do like a company-wide Q&A where effectively sort of apologized to the entire business
as is Q&A.
It was really just like a mind-blowing experience.
And it was actually one where it's like, you know,
I came as an IC4 and all of a sudden we were like in these meetings
were like, you know, the head of legal being like, well, why did you guys do this?
And, you know, having to have these discussions with them on a regular basis
and really trying to figure through like what was the future of our team.
But it was great.
That blew over for its worth.
And then I spent several years just working on our experimentation tools.
It's like one of the main developers of Deltoid 3, which is, I think, now just called Deltoid,
because I think it's been Deltoid for so long, they just referred to it as Deltoid.
But at one point, it was like the third iteration.
And I worked a ton on that.
And then especially it was a real example of how Curry Gross can actually happen, which is, like,
I was on the team, and then all of a sudden, almost all the senior engineers left a team
in the Spain of like six months.
And then I went from being like, and at the point maybe I was already an IC5 when they all left.
I'm not sure.
But I went from being like one of the people on the team.
building experimentation tools to the only one who remembered how anything worked left.
And suddenly I went from being sort of random IC5 to like de facto TL for a bunch of stuff,
which was actually an amazing opportunity for growth. And I think people understate how often
these things can happen in tech. But it meant that I wound up like really being like able to
drive a bunch of the vision for the AB testing tools for years, which were, you know,
hugely successful in meta. And it really was like some of the most fulfilling work I ever did at
matter. And just to give people context, deltoid is the AV testing framework or the thing that you opt in,
you know, one code path to A, one code path to B, and you measure all the downstream benefits of
ideally your tests, right? Yeah, I mean, I think one of the things that's actually kind of mind-blowing
to me is like, you know, actually is one of these decisions where maybe I did make bad career decisions,
which is like, as far as I can tell, every time I've ever looked at it, the Statsig product, which I now
don't know what it stayed is after they got put open AI is just like is deltoid.
This is one of the things where like, you know, stuff in meta, when you've been in meta,
you work on these things like awesome in the data swarm.
But when people are like, what's data swarm?
I'm like, it is literally airflow.
And it's not like metaphorically airflow.
Like the guy who wrote Airflow, built Datasorm, quit and like a week later open source
to Airflow.
And the deltoid is like not quite the same because it's not the same people left and built
Statsig.
But my perception is that for most people who will be watching this if they've ever seen
Statsig.
My perception is that like almost the entire UI is the same, almost all the functionality is the same.
That's one of these things where I like, you know, probably should have built a stiltoid startup many years earlier.
And I did not have no way some to do that.
I think there is another one called Optimizely as well.
Yeah.
So I've seen many companies.
It seems like a very repeatable playbook where you just take something that people take for granted that's state of the art from a big tech company.
And you just give it to everyone in the end.
industry and it actually creates like a billion dollar company is pretty it's hard but at least the
product market fit and idea part are relatively solved since it's creating so much value for these
big companies for this podcast i produced transcripts for every episode for convenient skimming and i built
a custom tool to automate that recently i noticed in the barbara liskoff transcript my simple speech
to text tool was getting a lot of things wrong for instance the clue programming language is
spelled all caps CLU, not Clue.
So to fix this, I used Cursor 3, picked the strongest version of Opus 4.7 extra high,
and had an agent make a plan to fix that.
And while I was waiting, I figured out trigger a few more agents for code cleanups and front-end improvements.
It generated a reasonable plan with rich system diagrams.
It applied all the changes within minutes and worked on the first try.
So if you want to build something with the flexibility of sending off a bunch of agents
with frontier models of your choice, you can go to cursor.com to try out cursor 3.
You know, I saw before you worked at Meta, you were working on the Julia programming language,
and I actually wasn't familiar about it, so I read into a little bit.
It looks like it was part of these data science language wars, basically,
where there was R versus Julia versus Python.
What is Julia and what is the context on that war there?
Yeah, well, certainly, I think,
I made it more of a part of the war.
I don't think it had to necessarily be part of it.
Although what you think also, like, the simple fact of the reality is, like, programming
languages are products and products exist in an ecosystem where they're in zero-sum competition
and claiming that they're not in zero-sum competition is, like, a very cute thing
to people say is appropriate, but it's clearly false and I think just makes everyone worse by
misleading them.
But, like, I mean, so Julia, for me, and it's actually sort of, why did Julia so appealing?
I mean, for me, what Julia's pitch was, like, we should be able to write code in a high-level language that looks like Python or like MATLAB, which is really the language it was originally designed to destroy.
It was really designed to get rid of MATLAB.
It was made by MIT math people who wanted to get rid of MATLAB, and it really, like, targeted that market much more than data science at started.
And sort of, I think I was involved in pushing it towards data science.
But, you know, to me, the thing I always do when I give talks about Julia, it's be like, listen, let's look at the R function for,
distance, like compute a distance matrix between a bunch of vectors.
So you're like, you know, pairs of vectors and you get all the distance matrix.
If you look at like that function and you actually try to figure out how it's implemented in
R, what you find is like C code that is a very reasonable C code that is just a bunch of four
loops, like you know, loop through all the rows and all the columns and then compute the distance
at that row and you're done.
If you basically take that code verbatim and just translate it in, like translate it in
naively into R, you're going to take some type information away,
or you're going to get rid of some like inns and float signatures,
but otherwise you're going to basically write four loops that look exactly the same.
The R code is going to be like somewhere between 1,000 to 10,000 times slower than C.
And this to me was the thing that just like drove me insane,
when I'm just like, wait, what?
Like these two programs are like 80% the same.
Wires one not as fast.
And Julia really was all about this notion that like that was unacceptable.
And that's what made it so appealing.
when the first post by the original founders went out,
I was like, oh, you guys are doing the thing I wanted people to do,
which is like not claim that it is impossible to make high-level languages fast,
which is like so much of actually how the Parthamon Nara can really sometimes behave
is to be like, oh, well, we can't be fast, but also fast isn't important.
And to me, like that double hit of like, well, we can't be it and is not important really
didn't work for me.
So it's really really resonated.
I think I probably is the guilty party of trying to make it more part of the day of science wars
because I was myself a heavy user of R and was just so disappointed in R.
Just so incredibly disappointed in how often I would try to do a project
and R just like fought me at every step of the way.
But Python is also like this.
I mean, if you look at all the really great libraries like PyTorch, like, you know, deep down at the end of the day,
you're going to look at C++ code or you're maybe even looking at like,
hand-ridden assembly or hand-ridden kernels for GPUs,
or at least you're looking at something written in a much lower-level language.
And so Julia was really about trying to solve that.
And I don't think it totally won, which I think is probably why you didn't know about.
I think it was very hip at one point and has become less hip.
But it's actually doing okay.
I think it's in the top 25 programming languages by users in the world.
So I think it's a real language that's really out there.
But for me, the thing that really matter is,
even though I don't know that it's killing it,
Julia's like the only people still actually fighting that fight.
Well, what's the intuition behind why R is like 10,000 times slower when the code is,
you know, the symbols are relatively similar to the C.
Fundamentally, any code that's slow is slow because it's doing stuff it doesn't need to do.
Like that's just sort of the most basic fact about slow code is that the reason you're
slowed is because you could have done something else and you did something slower instead.
And something like R is doing this pretty easy.
It's not quite as done.
but it's still there is you end up paying an enormous amount of overhead cost for the possibility that someone might do something more dynamic.
And because they might do it, and to give you an example, which is really astonishing about R is in R, for instance, the brace that you use to define a block is an operator that can be overridden and the user can redefine.
So they can make braces mean something else.
So that means when you see a brace in code, you can't be like, I know what this is.
is I can move on.
You have to be like, no, I need to look up and check
did the user redefine this.
I think it's braced and not parentheses,
but it's been a while, so I haven't dug in.
But it may also be parentheses or it's possible
flip them.
We can check offline and see whether my memory is good.
But you just wind up with so much stuff like this
that is so like maybe changed and you don't know whether it changed.
So you need to go check whether it changed.
And the checks are very expensive,
especially if you're doing something like adding to
to 60-4-bit integers, that's like one machine cycle.
Like, it is one machine cycle.
But a check, like, does addition still mean
when they make it is?
Could be hundreds to thousands of machine cycles.
And so you wanted to be like swapping in things
that are very inefficient, places that you don't need.
And this is particularly, R is amazing.
Like, there's this amazing paper by a couple of students
and a senior professor named Jan Vitek,
but it's about the design,
called something like evaluating design of the R programming language.
And one of the things they look at is, like, especially R has an especially tricky thing,
which is unlike Python, R is also a lazily evaluated language,
where the arguments of functions are not evaluated before you start the function body.
They wait until the function kicks off and they just are passed as promise objects.
And what they look at is they look at like, well, how often are these promises
could have been effect like eagerly evaluated?
And how often is the overhead of these promises worth?
And their conclusion is like 70% or maybe more, maybe it's 90% I forget the numbers.
You basically have no reason you needed to do this.
Like almost never do you need this?
But you actually pay like an enormous overhead cost for having agreed to do this.
And a good example, like say in Python also, it's like, in Python, you can like manipulate the symbol table using functions in the inspect module.
And so what that means is like you can never be sure of what something's bound to.
You always have to be afraid and check.
And just sort of general, the lack of invariance.
That's what makes a language fast.
It's like you have lots of invariance.
What makes your language slow is you have lots of stuff you might have to go confirm at runtime.
And R is just incredibly pervasively like this.
I looked at some of your popular past tweets, and I thought maybe we could discuss some of them.
So one of them, this is the most popular tweet that I think you ever wrote.
And you said that you said that, you know,
you're continually disappointed by how many grad students and postdocs get the impression that
industry is a safe position of last resort.
They can always fall back on if things sour in their academic careers.
And I thought that was interesting because I thought the opposite was also very commonly true,
where people might, you know, want to avoid industry so they go and get higher education.
So I curious your, you know, your thought on this and what made you think?
think this. Really what drove me nuts was there were just a ton of people fundamentally wanted to be
professors or postdocs and were in a PhD program and they were like, well, if I fail out, I'll go
into industry. And this like, one is that you would interact to people during interviews who
clearly didn't want to be there, just like so unambiguously did not want to be there and clearly
viewed this as like a failure that they were interviewing. And you're like, well,
that's not really like a positive sign that we want to hire someone who like doesn't seem like
they're going to enjoy the job.
But in addition, a bunch of people, and this is what drove me so insane, because I think it's
like all parties involved in the academic system hurt students doing this, is that I'm like,
so many people just assume that when they finally decided to get an industry position,
it was going to be trivial.
And then they didn't find it trivial.
I think a lot of academic people who are like, well, smart people are in academia and the dumb people
in industry. So if I need to go compete with the dumb people, it will be easy. And I think there was a lot
of that. But, you know, there was a person, I gave me an example. There was a person who was, like,
effectively a CS professor who I interviewed. And this person, like, could not figure out how to
pass the values between the various functions that they were calling in the interview. Like, literally,
they were like, what I would do is I would call this function. They would print out in the repel.
And they would read it as a human. And then I would go, like, type it into this other piece of codes.
and I was like, oh, you are better at programming and than this, right?
Because like you're a professor of computer science and they're like, no, no, this is how I work.
And I was like, oh, this is not going to set you up for success if we actually have to get you writing code and broad here.
I saw a few other popular tweets that you had.
They were about like favorite statistics papers and favorite recommendations of statistical books that you're saying, oh, everyone's got to read these.
how come you have such strong recommendations on statistical literature?
And then also what are those recommendations?
I love statistics.
I think I'll never not love it, but I think it's the craziest field.
And what I mean by a crazy is it's a field that fundamentally sells people the idea
that they can use statistical methods in real life.
But in reality, what they do is do pure mathematics and study how statistical methods work
in an idealized theoretical world.
And in pure math, like, you know, as an undergrad, I did pure math.
And I loved things like number theory.
In pure math, you're just period.
It's pure.
You prove it.
It's internally coherent.
There's no attempt to, like, reconcile with reality.
Reality doesn't even matter.
You're just like, those rules.
We follow the rules.
We're in this internally consistent system.
And then in super applied fields like software engineering, you're just like, well, the thing runs.
Like, the code runs.
I don't know what to tell you.
Like, I can't prove this code runs, but like, we ran it in broad.
had like eight nines of reliability, which makes it better than like most of the software.
Everything by humans were good.
Statistics is the super crazy field where you reason and out mathematics, but then make
all these claims about how it's going to be useful to people in practice.
And this, I think, is where opinions come in so strongly is that I think some people just like
are very, very honest and hold themselves to a super high bar.
And some people haven't been very cavalier about stuff.
And are like roughly just like, well, I said,
it's true and then you're like, well, is it true? And they're like, uh, and you're like, let's really
take into the proof. And they're like, fine. You know, one of therefore people I love, love, love, love,
more than anybody is Larry Wasserman. I've never met a guy, uh, so I don't know what he's like as a
human, but like his books are like, to me, the embodiment of like hyper intense honesty.
It just seems like a good person just like, I cannot tell a lie. And just like, therefore,
like everything you get from Wasserman is exactly true.
Like, he tells you exactly what he's assuming.
He tells you exactly what's implied.
And he's also extremely clear about being like,
I actually don't claim these other things that you might want me to claim
because they're not true.
And I think a ton of statistics books are not like that.
Ton of statistics are real like user methods.
They're great.
And so I think Wasserman is really at the top.
Another book that someone recommended to me sort of halfway through my career,
a meta that I loved,
I think it's called something like introduction to agnostic statistics.
is a book by a guy named Peter Irano.
And he's, I think, another person like this,
sort of just, like, incredibly concerned
with whether the things he says are true or false
and he's hyper-rigorous and hyper-careful.
And, again, I think a lot of people insist
not hyper-rigorous and hyper-careful,
so I love the book.
And so the recommendations I gave Wasserman,
like, literally anything you can get by Larry Wasserman
buy and read.
If you want to learn statistics,
like, I don't think any book has ever been better
than the books he's written in my entire life.
I've never seen anything come close to being as good.
the Peter Irano book, I think, is probably as good as like a thing you could be ever read
if you're like a social scientist or someone working more practically. It's a little less math
heavy than the Wasserman books. And I think there is a lot of value in big technology and
understanding some statistics or doing it rigorously because I've been in so many AV test review
meetings. And I think a lot of people who kind of just enter the industry and
you know, they see the UI and they go, I got a green bar here.
Please give me the approval to ship my code path.
But actually, if you kind of dig in, you ask some why is, and you're like, wait, it was
red yesterday.
Why is it, you know, what's going on here?
The understanding is very superficial and people are just trying to, I just trying to move
forward whether or not it's actually statistically, you know, beneficial across the user base.
I mean, that's a good, I mean, ironically, it's a great example of sort of everything we talked about today summed up as like a story half when we were trying to get Deltaoid 3 to ship out.
You know, at that point, Deltaoid 1 was still the default.
And there was a person who came to us.
And this person was actually like otherwise great.
And I loved interacting with them.
But this interaction was really, I was like, who this reflects a lot of cultural pathology at our company where they're like, hey, I can't let you ship Delta 3.
And I'm like, why can't why can you ship it?
And they're like, our holdout goes from being statistically significant with.
for the company to being not statistically significant in Delta III.
And I think it's a regression.
And I was like, all right, it might be a regression, but maybe it's also the truth.
They're like, I actually don't know which it is, but your guys are going to wait until the
half is over and we've decided we hit our goal and then you can ship Delta Guard 3.
And I was like, oh, but wait.
And I was like, your win is so close to the border between you did nothing and one that literally like,
mild tweaks in her code have turned it off.
I was like, I feel like that's not a win people
be so concerned about.
And especially this notion that like,
they're almost significant, so therefore you failed
or you're just barely not significant,
you know, win or fail.
That I think is,
this is super dangerous culture.
I mean, one of the worst things I ever saw
was a team that I managed to squeeze.
And one of the things they told me was they're like,
hey, you know, we have to do this thing
because we made a goal.
And I was like, okay,
but what are going to do in your next half?
are like, oh, definitely, on July 2nd, we're going to delete this code. And I was like, wait,
then why are we shipping it? You know, like, well, because we can't miss our goals. And I was like,
I feel like our goals should not be written in a way where shipping a thing we intend to delete,
literally a day later is a success. They're like, yeah, that's fair. And I was like,
what do you mean? Fair come. Like, don't do this. And eventually, you know, I convinced them not to do
it. It was like, I'm the manager. I can decide the ratings. We don't have to just like do this.
but people really like firmly believe this
and I think the statistics thing with the problem is like
a lack of understanding of statistics
leads into other weird pathologies
of how people are evaluated
and the two together become like extra dangerous.
Coming to end,
just like a few questions kind of like reflecting on your career so far
do you have a regret that maybe other people could learn from?
Oh yeah.
People ask me this so much as over the years,
especially as it became like a more senior manager
and then a director that I like have a keen answer
because they've been asked this a million times.
I, for, like, my first several years had Javi as my skip.
For people who don't know him, he's currently, I think, the C-O-O of META,
but, you know, if he was first the head of growth,
and then the head of growth and ads,
and then I think now he runs, like, roughly 50% of META.
But, like, Havi was my skip,
and every time my actual manager, this guy named Danny,
would be like, Javi wants people to come to his office hours.
No one shows up, and he feels like it's a waste of his time,
someone should go. And I basically just, it was like, well, I don't have anything like actually
that valuable to say to Javi. So I'm just going to waste this time. And I don't want to be the
person who wasted this time. So I never went. And I look back and I'm like, because especially as I
started running office hours, as I had a larger work where I couldn't do like one-on-ones with
everyone and had to do office hours and people wouldn't go. And I was like, man, I wish people
would come to my office hours. And like, I, Havi was also feeling this way. And he's like, man,
I wish I would give anything for one of these people to show up. But, uh,
like, I just never showed up and I looked back and I'm like, first of all, this was an amazing
opportunity that I wasted.
But in addition, it's not just that I wasted it for myself.
I also probably just like made his life force off by not actually getting him to be able to take
advantage of this thing he was offering us.
And so I was like, this is a decision that basically harmed both parties that I did out
of fear.
I'm sure there's probably a million other examples of me doing this that are not as queer in my
head.
But this is one where like, you know, Danny probably came to like our team.
once a week and told us to sign up and none of us ever did.
And I think of this every time where I'm like,
listen, if like you know something important about the future of this org or this team
or even if you just like honestly have any questions at all,
if you have a leader who's showing up and saying,
I want to hear from you folks, go.
I think especially like if you're a more junior I see watching this,
like I think it is hard to understand how painful it is a director and above
to actually know what it's like on the ground.
you just look so removed from being an IC3 and IC4 anymore just so removed and not just from
their place in life but also like what's happening to them what's true in the code base what the team
dynamics are you know like there were points where I had like a manager managing managers
managing managers you know there's just so much indirection I think people way way should more
often if a leader says like please show up and talk to me do it then you know if I'm
obviously is a key comment say something weird you know that can be bad you don't
I'll show up and be like, I want you to tell me how to get promoted.
It's probably like not your greatest first conversation.
But if you're like, hey, I think this part of our org could be better.
Could you help me?
Leaders love that.
That's what they want.
And like so many people are afraid to do it.
And I think it basically makes all parties for ourselves.
And then last question for you with all the experience that you have now,
if you could go back to the beginning of your career and give yourself some advice.
So would you say?
It's tricky because I think I am a person with very strong opinions.
but I also think I can be more self-conscious than I should.
And do you think that, like, have more confidence that you can do bigger stuff
and that as long as you hold yourself to a high-level discipline,
the bigger stuff is really possible.
I think, like, when I was younger, you know,
basically at every step of the way, like from high school students
or a college student all the way, I think I tended to way too often, like,
cast doubt about what I could do.
And I think, you know, that is the single, like,
biggest set of mistakes I've made is just this repeated pattern of like not being ambitious enough
for not believing something was tractable and I think I've gotten a lot better.
I don't like the defeatism in other programming language communities.
But like I think it for me is like this thing that sort of I think, you know, really could have
been better.
And I think it's true for a lot of people.
I think it's just a lot of people like they, they over convince themselves of the greatness
of other people and underconvince themselves of how much they can achieve.
And that combination means that they just like way.
less try to do risky things than they could have. And I think they, like, especially, I think
until they've been interacted enough people who have succeeded, I think it's hard to realize,
like, how often they're, like, not actually doing that much better than you. They just tried
and you didn't try. So I think that is probably, like, you know, the biggest thing that if I
could go back and tell, like, a 20-year-old me probably is that. Thank you so much for your time.
I really appreciate it, John. It's been a real pleasure, and thanks for having me.
Thank you for listening to the podcast. It's a passion project of mine that I really enjoyed building.
Another passion project that I've been working on kind of in secret is building an ergonomic keyboard that I wish existed.
And I finally have a prototype. So I'd love to show you what we've built. It's ultra low profile and ergonomic.
And I couldn't find anything like it on the market. So that's why we built it. I'll put a link to the keyboard in the description.
You can take a look and learn more about the project there. We could definitely use your support.
Also, if you have any feedback for me about the show, I'd love to hear it.
Comments on YouTube have led to guests coming on like Ilya Gregorik and David Fowler.
I wasn't aware of them until someone dropped a comment.
Also, feedback in the comments helped me learn to reduce the number of cliffhangers in the intros.
So your comments definitely make a difference.
Please keep letting me know what you'd like to see more of in the show, and I'll see you in the next episode.
