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 lot 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,
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 I've the designer
route 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 using 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 can 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,
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.
Sam.