Unfortunately, there's a lot more than building a messaging app to running Twitter, the business that sells ads next to those messages.
Run the same thing but for number of people larger than a single server can handle: A an engineer or two for bug catching and resource allocations and a few engineers to build it using software tools for caching and load balancing.
The same thing but tens of millions around the globe: A few engineers to run the thing, A few to keep an eye on the network around the globe and access quality, a few to mitigate hostile behaviour. To build the thing you need a few people with knowledge on distributed systems and specialised people on 3rd party products for CDN and its management. Of course you need the people to build the thing and its UI too.
Oh, so you want to make money from it? You need people to build tools which will interface with your thing to deliver things like ads and special functions. Now you need to replicate all of the previous stuff but this time for your money making software.
Europe says data collection should be like X, UK says should be like Y and the USA should be like Z. Now the people who built the thing can't go home and leave it to the maintainers because they need to modify how things work all the time.
Israel wants to know some info about someone, Turkey wants the some specific data collected and some tweets must not be visible in Turkey, Saudis say they don't want some type of tweets to exist etc. Now you need people to build these things when still don't mess up with the EU, UK, USA practices. Once again you replicate a lot of people but with special duties for special requirements.
Oh crap, some pedos are posting very illegal stuff and others are running massive spam or political opinion manufacturing operations and everyone blames you. You need to create tools to interface with your product to tackle these things. Once again a lot of engineers are needed because you don't simply run an SQL query from your local database, so you need people who understand how to make the thing work on your scale.
Something can no longer scale and you need an alternative solution, you build that alternative solution with a team of engineers but the old stuff can't just go away because some other systems depend on it and it will take years to change their thing so maybe you simply keep the old stuff around together with their engineers?
Before you know it, hundreds or even thousands of people are working on it. Elon firing content safety team is probably about untangling the mess and not about love for sexual predators or fascist or something.
I don't know about the reality of Twitter but having seen how sausage is made in some large companies, I will speculate that it's a build up over time as the nature of the business evolved. Knowing how things work today it's probably possible to simplify it with a complete re-write but how many re-writes go well?
Even the famously nimble WhatsApp which has fewer features and complexity needs this order of magnitude engineers so why would you expect Twitter to be leaner?
Whatsapp had 35 engineers for 450M users at the time of its acquisition by FB (2014). It had 50 engineers for 900M users (2015).
https://www.wired.com/2015/09/whatsapp-serves-900-million-us...
Just handling the ads, both backend and user interfaces for buyers, would quickly net you several more developers.
It's easy to have only 45 engineers when you constrain the scope of what they have to do very well, but the scope was much, much, much smaller than Twitter's.
In case you haven't noticed, twitter has many, many, many other features beyond direct messaging, each of which requires its own team to maintain, and many of which are far more complex than a messaging client.
I do not think Twitter had ever 8000 engineers - my understanding is that there were that many employees. It's easy to imagine a lot of non-tech roles, b2b sales, management, support etc.
I'm aware they scaled to 1B+ users with ~100 engineers but I'm failing to see why they'd be working on less complex problems.
Operating on almost all native platforms, at this scale, with those constraints, isn't something i find much easier than building a feed.
On Whatsapp the ordering guarantees are limited to within the thread and server side timestamps are good enough for the most part to enforce it. Whatsapp/messaging is a very horizontally scalable problem. With feed (assuming) you have a fully personal feed the storage alone is a pain to manage and optimize.
Now of course you can reimplement an ordering mechanism on top of an unordered one, with lost messages detection etc on the client side, and let the server be loose.
but that means reimplementing that logic on every client codebase.
We have evidence that 8,000 was far too many, because they're gone and Twitter is still Twitter.
We have zero evidence that 550 isn't still too many.
Mind you, I already had searches that triggered bugs in mobile app where first search would always fail, but things like significant drop in tweets I see in my feed from people I follow (and no, none of them were bots), random outages like Lists or the whole search feature just failing, pervasive feeling that even searches return maybe 1/10th of what I was getting before...
This is a tirefire.