I was something like the tenth engineer hired at Facebook. When a bunch of us
old-timers get together we love to dive into nostalgia around all the time we
spent together. And people who weren’t there love to romanticize what they
imagine must have been the halcyon days.
But the truth is startup life was mostly pretty brutal. I probably worked 120
hours per week. I had no hobbies. I ate poorly and gained a lot of weight. I
slept with my phone next to my head in case something broke, which happened
several times a week. Even if nothing broke, I woke up every four hours for
over a year because I needed to babysit a set of scripts that kept News Feed
running and kept spam off the site. We were still a startup so we were
constantly tight on servers, on memory, and on bandwidth.
One thing I do look back on fondly was how incredibly focused we were.
Resources and time were so tight that you could feel the weight of all the
things you weren’t working on. You had real conviction that the thing you were
doing was the most important thing.
To pick a somewhat trivial example, at fireside chats with Mark (the
predecessor to the company Q&A’s he now hosts) people would sometimes ask
about having the company support this nonprofit or that cause. Mark would
always say no. He would explain that it isn’t that we don’t care about good
causes, it is that our comparative advantage wasn’t going to be making good
donations. It was building products. And we were building a product that was
free to use and would be leveraged successfully by nearly every nonprofit to
further their goals.
Over time, this principle slowly eroded. More and more employees asked. At
some point we had enough money to do it without making an immediate trade-off.
And if so many employees wanted it, maybe it was more cost effective just to
do it. Supporting nonprofits directly certainly isn’t a bad thing. So we
just stopped saying "no."
Each individual digression from our core competency like this can probably be
measured positively on ROI when considered locally. But I believe they
collectively add up negatively. There are hundreds of them, each individually
reasonable, but they take people and money and altogether they start to
outweigh the core and create drag. I pick charitable giving not to suggest we
should change anything about that program, necessarily, but rather because it
is an example of what seems like an unalloyed good which nonetheless has
hidden costs at scale.
I picked a cultural example here but the exact same thing happens in our
products at a larger scale and with higher stakes. We have a core feature
offering that is very strong. A small feature idea comes up that serves a
subset of the market, but it isn’t too hard to do and it isn’t a bad thing, so
we indulge. Repeat that thought process a hundred times and you have a
cluttered UI, a large team, a slow product, and no obvious path forward.
An even more pernicious problem is its impact on selection bias. The customers
you acquire for some niche feature will be outraged when you remove it. And
employees might be upset to hear that a perk they love is going away. But to
survive as a company you must be willing to focus and prioritize, because
attempting to please everyone has a well-publicized result.
I don’t miss working at a startup and I’m grateful to have enough staff that
we can mostly get a good night’s sleep if we choose to. But I do miss the
profound sense of focus. The best time to stop a distraction is before it
starts. The second best time is now.
Epilogue, added 2 February, 2023
I used charitable work as the example here precisely because we often consider
it an unalloyed good, when in reality it does have a cost. Meta products have
been used to raise billions more dollars for charity than any other company
is likely to have contributed, not only giving more nonprofits more money but
also a more direct connection to their donor which I know they value. This is
all about comparative advantage.