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.