4 ms·
I have to disagree with this as someone who worked at Meta (and Google). WhatsApp was a textbook example of how not to do an acquisition. The story I heard was
by cletus 4mo ago
I have to disagree with this as someone who worked at Meta (and Google).
WhatsApp was a textbook example of how not to do an acquisition. The story I heard was when it was acquired, a spreadsheet went around and everyone basically decided what level they were in the (then) FB job ladder and all the engineers said they were E7s (Senior Staff SWE). The way PSC worked, WhatsApp at the time was only ever calibrated against themselves (from what I heard). It had become a fiefdom and, as someone who was on a team that tried to get them to do anything, the experience was awful.
IG was handled better but it was also an almost nonexistent team when acquired, which might well explain it. They stuck with their Django/Python codebase and (IMHO) that was a mistake. The amount of duplication that we had to do for IG specifically was embarrasing. The framework and tooling FB had on the product side was light years ahead of what IG had. IG used to have a very good product focus but I think that's long dead now. It was good because IG had a clear vision for their app and ultimately (IMHO) management had a different view to "grow". They briefly tried to launch another app (IGTV) that flopped, hard. There were a bunch of UI/UX changes that clearly showed the focus had become simply following celebrities instead of sharing updates (eg where the post/compose buttons moved to).
I mention Google because I saw the same things happen at Google.
Youtube was (and my guess is, still is) its own entity. Culturally, Youtubers don't see themselves as Googlers. They didn't (AFAIK) use Google3 or any of the other stuff most of the rest of Google did. But Youtube itself was perceived very positively, technically, particularly in relation just general encoding/decoding infrastructure as well as Bandaid (where racks are shipped to ISPs to cache videos).
Android was another acquisition that prided itself in not being Google. This was very much fostered by Andy Rubin while he was still there. Obviously Google needed to write Android apps but I got the sense that it was always Google engineers who solved all the problems whereas Android just didn't care. They cared only about shipping Android. Fuchsia was an Android offshoot.
Docs and Maps were both acquisitions but they went fully Google3 and were different orgs but weren't seen as separate. The engineering director of Docs (Fuzzy) had, from what I can recall, a very positive reputation beyond Docs (now Drive).
Doubleclick was also an acqusition but went fully Google and you'll find a lot of people who don't even know it was an acquisition.
I don't know what org you worked in but they all vary. My own experience was that Infra orgs in comparison to Google were primitive and barely above just running random Docker-like (Tupperware) instances with a godawful variant of C++, probably started by someone who had done C++ at Google and had decided they really wanted mutable function parameters and exceptions for no particular reason.
The thing I really respected about FB product orgs generally was that really did ship things quickly. I used to joke that the smallest unit of time at Google was a quarter. God help you if you eneded another team (under a different VP) to do something. You'd have to spend a quarter arguing with them to get them to add it to their OKRs for the following quarter.
At FB the timeline for launching a new thing to a limited audience was measured in weeks. The biggest barrier usually was the weekly build cycle for the blue app. The release cycle for Web was S-tier and (IMHO) the people who worked on the infra for Web were generally god tier. This was another reason why IG doggedly sticking with Python just created problems.
There are many thigns you can criticize Meta for (eg the stupid crypto, the billions wasted on VR) but the Web Foundation and Ent teams were god tier and I'll die on that hill.
Anyway, even back then the ML teams and infra, not to put too fine a point on it, sucked (IMHO). Newsfeed was OK but the recommendations for a lot of things like videos just sucked. All of this was mainly because it all relied on daily offline jobs. And then Tiktok came along and showed everybody (including Youtube) just what a bad job they were doing at recommendations. And don't get me started on the IG Reels dumpster fire.
Oh ok, I thought of another one: Messenger. I knew some smart people on Messenger but overall the product and the infra were, again, a dumpster fire.
- MarkSweep 4mo agoThat's funny about your last line about Messenger. When I was at Facebook in 2020 and 2021 I thought the "Lightspeed" version of Messenger [1] was something of an engineering marvel. Specically the way it was centered around SQLite as the datastore, how the sever side could integrate with it, and how the UI was power by this reactive-style framework written in C. With lots of testing to keep binary size under control and things working reliably. And the DX was not bad for all these constraints. I think CG/SQL [2] is one of the few open source artifacts from this effort. There were other reasonably nicely engineered things there, like some of the code-as-configuration things in PHP like the ORM and the structured logging. Where you just write and commit code and the databases and data warehouses just get set up automatically. The choice to have a monolithic web stack at Facebook had some benefits. The latency from landing a diff to being in prod was a couple of hours, not matter what part of the site you touched. And given an arbitrary URL, there was a tool that used static analysis to tell you which file handled that request. Compared to Google where every damn thing is a micro-service with its own variable release schedule and different ways of doing request routing. Trying to figure out where a request goes is combination of dynamic tracing of the RPC trace behind it plus a bunch of grepping through the related code bases. All that said, I was far away from doing real engineering at Facebook. I accidentally joined a growth team. Which meant our teams remit was churning out all kinds of experiments to see what we could to do to make our team's number go up. I did not find this type of work enjoyable and quit. So I have a narrow perspective. Also to give these multinational corporations some benefit of the doubt, some of the way they operate is path-dependent. They have hundreds of millions of lines code. So they can get to a point where it makes sense to hire a bunch of compiler engineers to fork PHP and make the Hack language. Whereas a startup would almost certainly never create a new programming language to write their product. To take solutions of this context and apply them to the outside world might not make sense. [1]: https://engineering.fb.com/2020/03/02/data-infrastructure/messenger/ https://engineering.fb.com/2020/03/02/data-infrastructure/me... [2]: https://cgsql.dev/ https://cgsql.dev/
- neonstatic 4mo ago> I thought of another one: Messenger. I knew some smart people on Messenger but overall the product and the infra were, again, a dumpster fire. That makes sense from a consumer point of view. I don't use FB much. In fact, I recently logged on a few times after a few years of a break. It's terrible. You can't even get conversation history anymore. You can talk to someone via the app on your phone, open Facebook in the browser on your computer and not see the messages there. Makes me wonder why is Meta still around?