Elon Musk publicly feuding with and firing his developers on Twitter
twitter.com
twitter.com
EDIT: Steve Jobs wouldn't have whined like Musk, if anything he would have denied the problem existed while choking-throats behind the scenes to fix it (unless the "bad thing" happened live during the Apple developer conference...).
It was Musk who failed to keep things professional. His first post was literally humiliating his own employees for writing bad code. It's his own company, he may not have been around, but it's his people now. Even if Twitter's Android client is not the best, playing the blame game is callous and petty. There is no point to trying to show that you are better than your employees either. It's the opposite of what a functional CEO should do.
Same app in US takes ~2 secs to refresh (too long), but ~20 secs in India, due to bad batching/verbose comms. Actually useful data transferred is low."
But it doesn't matter who is right or wrong. The unprofessional atmosphere, the callousness, the one-upmanship is the problem. He is the CEO for God's sake. This is a PR nightmare. I know that it worked for Trump, but it isn't working even for him anymore.
I honestly don't understand what remote procedure calls have to do with the client. Surely the clients wouldn't interact in such a way with the microservices, there would be some sort of API gateway, maybe even one for each platform or service, like the backend for frontend pattern.
It's probably more complicated than this, and you can't exactly put it into a few words, but he tried, and it didn't make sense, but he still managed to call his employees idiots.
https://twitter.com/danluu/status/1591963269077819392
> An interesting thing about this claim is that not only is the implication wrong, Twitter probably has better evidence of its wrongness than any other company in its size class could have.
> There are very few companies that have a better distributed tracing setup w.r.t. getting actionable insights on the backend and the ones that have a better setup are much larger (Google, FB, etc.)
> Twitter client tracing also punches above its weight.
> https://twitter.com/danluu/status/1267069847428411392
> Of course, the key people who did that work left or got laid off, but it's clear from the data that, if you're looking at why Twitter is so slow in, e.g., India, Uganda, etc., esp. on slow devices, tail latency comes from the network due to unreasonably large payloads + client.
> When leadership wanted to drive growth in India, they were into "visionary" stuff, e.g., "add features cricket watchers would like" when the app was unusably slow [on] a low-end device and the client performance team had been disbanded.
Anyone that openly slaps down that asshole Musk is doing a public service, in my book. I hope more employees exit like this.
That's what increased compensation is for.
Except in this case, Elon has both pushed for cutting costs (negating the ability to pay increased compensation) and also pushed for a much worse work-life balance to the point that increased compensation may still result in worse $/hr than another tech job.
A: One that doesn't want to work there and is looking for attention on the way out.
There is only one way this would ever go. Would you, as the boss, keep such a person in your employ?
A developer unnecessarily jumps in front of the bullet to take the blame and say that Elon is wrong. It is poorly written in a different and vague set of ways. And the only solution is a complete rewrite: https://twitter.com/EricFrohnhoefer/status/15919684638491525...
Not defending Musk here, but this is a learning moment in managing up - it doesn't matter where you work, you probably shouldn't be publicly ridiculing your boss, especially for being technically incorrect. Especially when that boss was trying to hand you a blank check to give you what you want.
Rather glad speaking "truth to power" is a generally respected move at my current employer, and tussles like this - if they even happen - don't result in firings.
All this does is create an environment where people are afraid to voice opinions and address issues, e.g. because they're afraid of shoot-the-messenger. In my line of work (I make cars), dysfunctional discourse environments like that can get people killed.
That said, Twitter's architecture is a Rube Goldberg contraption and Musk is clearly on a warpath to fix it, so to come out publicly and yell, "It's fine," is kind of crazy. It's not fine and you're saying you're not interested in fixing it.
I think Musk is calling it out because he wants to see who wants to fix it and who wants to defend it.
From what I can see, he offered an opinion that the number of client requests (he gives a number of 20) and the number of internal RPCs (he gives 200) is not the primary reason the app is slow. I can't tell you whether he's right or wrong.
If I worked for six years on something and it still didn't work and someone came in and said it's "x", I would say, "I'm excited to see that data because I really want to fix this." I think I'm more upset at his attitude than anything.
In all honesty, I think what he meant was "I spent six years and failed to fix something that is fixable, and then outside consultants came in a clearly found clear problems in a couple weeks, and now I'm humiliated," but he has too big of an ego for that.
Also 1000 RPC's are a very valid performance bottleneck, 1000 * latency caused by serde+ network can compounds easily based on data locality + container network orchestration, no data was provided otherwise even when asked for.
If the internal arch is heavy on microservices and you're putting together, say, 50 tweets you're at 1000 RPC calls with just 20 per tweet. It's not inconceivable.
The developer puts the real number at 200.
You have no evidence to support this. Performance sucks in other countries because product leadership with their hands on the wheel of the company never prioritizes "unsexy" investments in performance and infrastructure work (same as the new guy btw). That is exactly what Eric was advocating in his thread.
The product is especially bad. The new CEO is trying to reform it. Eric is saying "spend more," which is the refuge of bad architecture. That's not the answer. And instead of privately working together to review it, he's publicly arguing. I wouldn't accept that either.
Imagine the same thing with Microsoft. We all know Windows is held together with scotch tape, not to mention that 7 years after Windows 10 they still haven't quite manage to unify the old and the new interfaces, not that Windows 11's new interfaces are any good. What a mess. Except it's not, it's business as usual. Big software projects are messy and hard to manage, but these issues are unimportant when you get the bigger picture right. For Windows the bigger picture is that it runs all your application. This is what makes Windows a good product, the rest is details and can be fixed over time. Preferably in a professional manner.
And the only one that started a public argument was Musk by making an incorrect claim and defacto blaming the engineers for something he clearly doesn't understand. He's trying to pull another Paypal and it's blowing up in his face now like it did then.
What everyone agrees on is that Twitter's architecture is deeply broken. Eric's been there six years, so he's probably at least a little culpable in that. If I'm Eric, and was part of a team that fucked up that badly for six years, I certainly wouldn't argue back with that much confidence.
I guess it’s not that easy. Space Karen did just tweet the first thing he heard from his stuff. And it’s more clearly he doesn’t know how to do PR by his own.
It’s different to apologise for bad performance or blame implicitly the developers.