Is Twitter really as poorly engineered as Elon say it is?
https://twitter.com/elonmusk/status/1592177471654604800
Elon states
- Twitter is doing 1000+ RPCs for a single timeline
- Only 20% of Twitter's microservices are needed, and he's turning off a lot of them
Can someone with expertise in Networking and large-scale infrastructure help me understand if Twitter is actually poorly architected? Or is Elon missing certain critical information here?
I think by now it's pretty clear that nothing Musk states about Twitter is credible.
I couldn't say unless I looked at source code, but my thinking is that it's probably suffers from "enterprise coding". This is typical for large organizations and it's basically over-engineering for the purposes of process and organization, instead of purely technical or product reasons. In this environment readability and unnecessary conventions take priority over reusability... this means you will recreate a button, dropdown, or API logic over and over again because it's too risky to share code across teams (because of how the org works). This is hard to really summarize but it's very clear to me when I'm working in enterprisy codebases. The development experience is painful, the processes are needless, and appearance of progress is more important than actual technical progress.
Large companies don't make engineering decisions based on the most elegant systems or best performance. They prioritize business needs to maximize revenue and growth. Having 1000 RPC calls that take several seconds might be horrible design, but if there are other things to work on that will increase revenue or growth, then it's totally fine to leave it.
The only people with credible opinions on the ultimate question here are current and former Twitter employees, both of which are, I'm guessing, subject to legsl obligations not to discuss stuff like this.
Consider reading tweets from the engineers that he was very eager to fire.
I wouldn’t be surprised if it is true. The larger the organisation, the harder it is to deploy well designed software architectures. Too many cooks!
My impression is that Elon Musk is not particularly competent when it comes to software architecture decisions.
Is there an answer here?
Who knows or whom is competent and maybe it doesn't matter.
Is each device pulling 1000+ requests to load a twitter page?