Given that you are once again one of the greatest programmers
ever, what do you think makes a good programmer maybe
a good modern programmer? So I just gave a long
rant lecture at Meta to the TPM organization
and my biggest point was everything that
we're doing really should flow from user value.
All the good things that we're doing. It's like we, we're not technical people.
It's like you shouldn't be taking pride just in the specific thing. Like Code
Golf is the sort of thing, it's a fun puzzle game, but that really should
not be a major motivator for you. It's like we're solving problems for people
or we're providing entertainment to people. We're doing something of value to people
that's displacing something else in their life. So we want to be providing a
net value over what they could be doing, but instead they're choosing
to use our products. And that's where, I mean, it sounds trite or corny,
but I fundamentally do think that's how you make the world a better place.
If you have given more value to people than it took you and your team
to create, then the world's a better place. People have,
they've gone from something of lesser value, chosen to use your product,
and their life feels better for that. And if you've produced that economically,
that's a really good thing. On the other hand,
if you spent ridiculous amounts of money, you've just kind of shoveled a lot01:25.930 --> 01:29.190 of cash into a wood chipper there, and you should maybe, you know, not feel
so good about what you're doing. So being proud about
like a specific architecture or specific technology or a specific
code sequence that you've done, it's great to get a little smile,
like a tiny little dopamine hit for that. But the top level metric should be
that you're building things of value. Now you can get into the argument about how
you, you know, what is user value? How do you actually quantify that? And there
can be big arguments about that, but it's easy to be able to say,
okay, this pissed off user there is not getting value from what you're doing.
This user over there with the big smile on their face, I am the moment
of delight when something happened. There's a value that's happened there. I mean,
if you, you have to at least accept that there is a concept of user
value, even if you have trouble exactly quantifying it, you can usually
make relative arguments about it. Well, this was better than this.
We've improved things. So being
a servant to the user is your job. When you're a developer you want to
be producing something that other people are going to find valuable
and if you are technically inclined then finding the right levers
to be able to pull to be able to make a design that's going
to produce the most value for the least amount of effort. And it always
has to be kind of divide. There's a ratio there where you. It's a problem
at the big tech companies, whether it's Meta, Google, Apple,02:52.320 --> 02:55.980 Microsoft, Amazon, companies that have almost infinite money,
I mean I know their CFO will complain that it's not infinite money
but from most developers standpoints it really does feel like it. And it's
almost counterintuitive that if you're working hard as a
developer on something, there's always this thought if only I had more resources, more people,
more ram, more megahertz, I then my product will be
better. And that sense that at certain points it's certainly true that
if you are really hamstrung by this, removing an obstacle will
make a better product, make more value. But if you're not making your core
design decisions in this fiercely competitive way where
you're saying feature A or feature B, you can't just say let's do
both because then you're not making a value judgment about them.
You're just saying, well they both seem good. I don't want to necessarily have to
pick out what which one is better or how much better and tell Team B
that sorry, we're not going to do this because A is more important.
But that notion of always having to really critically value
what you're doing, your time, the resources you expend, even the opportunity cost
of doing something else, that's super important.
Well, let me ask you about the big debates that you're mentioning
of how to measure value.
Is it possible to measure it kind of numerically
or can you do the sort of. Jony Ive the designer route04:25.180 --> 04:29.260 of imagining sort of somebody
using a thing and imagining a smile on their face,
imagining the experience of love and joy that you have when you
use the thing that's from a design perspective or if you're building more like
a lower level thing for like Linux, you imagine a device developer
that might come across this and use it and become happy
and better off because of it. So where do you land on those
things? Is it measurable? So I imagine like Meta and
Google will probably try to measure the thing. They'll try to. It's like you
try to optimize engagement or something, let's measure engagement. And then I
think there is a kind of, I mean, I admire the designer ethic
of like think of a future that's immeasurable
and you try to make somebody in that future that's different from today
happy. So I do usually favor,
if you can get any kind of a metric that's good,
by all means, listen to the data. But you can go too far
there where we've had problems where it's like, hey, we had a performance regression because
our fancy new telemetry system is doing a bazillion file
writes to kind of archive this stuff because we needed to collect information to determine
if we were doing, if our plans were good. So,
so when information is available, you should never ignore it.
I mean from actual users using the thing, human beings using05:52.680 --> 05:55.500 the thing, large number of human beings and you get to see sort of.
So there's the zero to one problem of when you're doing something really new,
you do kind of have to make a guess. But one of the points that
I've been making at Meta is we have more than enough users
now that anything somebody wants to try in VR or we have
users that will be interested in that. You do not get to make a completely
greenfield blue sky pitch and say, I'm going
to do this because I think it might be interesting. I challenge everyone. There are
going to be people, whether it's, you know, working in VR like
on your desktop replacement, or communicating with people in different ways
or playing the games. There are going to be probably
millions of people. Or at least if you pick some tiny niche that we're not
in right now, there's still going to be thousands of people out there that have
the headsets that would be your target market. And I tell people,
pay attention to them, don't invent fictional users. Don't,
you know, make an Alice, Bob, Charlie that fits whatever matrix
of tendencies that you want to break the market down to. Because it's a mistake
to think about imaginary users when you've got real users that you could be
working with. But on the other hand,
there is value to having a kind of wholeness of vision
for a product. And companies like
Meta have, you know, they understand the trade offs where you can07:17.810 --> 07:21.110 have a company like SpaceX or Apple in the Steve Jobs
era, where you have a very powerful leading personality that,
you know, that can micromanage at a very low level and can say,
it's like, no, that handle needs to be different. Or that that icon needs to
change the tint there. And they clearly get a lot of value out of it.
They also burn through a lot of employees that have horror stories to tell working
there afterwards. My position is that you're
at your best when you've got a leader that is at their limit of
what they can kind of comprehend of everything below them, and they can have an
informed opinion about everything that's going on. And you take somebody,
you've got to believe that somebody that has 30, 40 years
of experience, you would hope that they've got wisdom that the
just out of boot camp person contributing doesn't have. And that
if they're like, well, that's wrong there, you probably shouldn't do it that way or
even just, just don't do it that way, do it another way. So there's value
there, but it can't go beyond a certain level. I mean,
I have Steve Jobs stories of him saying things that are just wrong right in
front of me about technical things because he was not operating at that level.
But when it does work and you do get that kind of passionate leader
that's thinking about the entire product and just really deeply cares
about not letting anything slip through the cracks. I, I think that's got
a lot of value. But the other side of that is the people saying that,08:44.489 --> 08:47.829 well, we want to have these independent teams that are bubbling up the ideas because
like it's, it's almost, it's anti capitalist or anti free market
to say it's like, I want my grand, you know, my great leader to go
ahead and dictate all these points there where clearly free markets bring up
things that, you know, you don't expect. Like in VR, we, we saw a
bunch of things like it didn't turn out at all the way the early people
thought were going to be the key applications and things that would
not have been approved by the dark cabal making the
decisions about what gets into the store turn out to in some cases
be extremely successful. So yeah, I definitely kind
of wanted to be. There was a point where I did make a pitch.
It's like, hey, make me VR dictator and I'll go in and get shit done.
And that's just, it's not in the culture at Meta and they understand
the trade offs and that's just not the way, that's not
the company that they want, the team that they want to do.