6 ms·
Ask HN: 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?
- ss108 4y agoThe 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.
- rideontime 4y agoThey posted very publicly about it and were fired for it.
- ksherlock 4y agoTwitter employees don't necessarily have a credible opinion -- c.f. IKEA Effect, Stockholm syndrome, this is fine dog.jpeg, getting high on your own supply, etc.
- legitster 4y agoI mean, even the guy who was fired for publicly calling out Musk admits as much: https://twitter.com/EricFrohnhoefer/status/1591970785610321921 https://twitter.com/EricFrohnhoefer/status/15919707856103219...
- chenxi9649 4y agoOh interesting! Somehow I did not see this response in the Twitter thread. That's unfortunate as it's a pretty thorough response!
- legitster 4y agoThat's part of the confusing thing. Musk basically says the app has too many requests and needs to be rewritten. Then the employee publicly calls out Musk for being completely wrong. And when pressed says... the app has too many requests needs to be completely rewritten. Musk was trying to write this dude a blank check for what he wanted and he jumped in front of a bullet instead just because he and Musk have a different definition of an "RPC".
- rideontime 4y agoThe "1200 RPCs" line, which was specifically referred to as "wrong," was indeed wrong. Elon's changed his tune since, referring to "1200 microservices."
- eigenform 4y agoConsider reading tweets from the engineers that he was very eager to fire.
- tomcam 4y agoMind linking to one or two of them?
- bovermyer 4y agoMy impression is that Elon Musk is not particularly competent when it comes to software architecture decisions.
- chenxi9649 4y agoI think Elon lovers might say that his experience with Paypal/Zip2 and more recently Starlink gives him decent credibility regarding software infra and networking. However, being up on top and writing the code are very different things, so it's also plausible that he's out of touch.
- seba_dos1 4y agoI think by now it's pretty clear that nothing Musk states about Twitter is credible.
- chenxi9649 4y agoHe sure does seem to be overly optimistic/confident when it comes to certain goals and timelines. However, I'm not sure if I've read anything he's said(about Twitter) that seemed 100% false. Would you mind explaining to me what gave you that impression?
- seba_dos1 4y agoThere's a long way from "not 100% false" to "credible". Most of Musk's statements lately seem either misinformed, manipulative or outright ridiculous. The whole idea of $8 verifications appears like a deliberate sabotage designed to burn the company down, and the way the layoffs were handled is just pure comical villainry. The mere fact that someone does such big claims about architecture of a complex codebase so short after getting access to it is a huge red flag, and that someone being Musk in particular doesn't make that flag appear smaller in any way.
- proc0 4y agoI 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.
- leros 4y agoLarge 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.
- ddbbyy 4y agoIs 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?
- deleted 4y ago[deleted]
- mbrodersen 4y agoI 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!