Elon sure reminds me of an inexperienced, over-confident (or "just enough experience to be dangerous") software engineer at times.
One who has enough experience to see flaws in an existing (or "legacy") system and feel they could do better if they just rewrote it all from scratch, but not enough experience (or too much hubris) to know how well that does or does not go in practice.
He may be right, of course. I'm just pattern matching on what he sounds like...
We shouldn't beat around the bush. Musk has shown very few times that he has any idea what he is talking about. His tweet sounds identical to some middle manager's sentiment you'd get at some huge conglomerate trying to make a name for themself after taking over a group.
And it should be noted that he's responding to another tech billionaire who fancies himself as an oracle as well. This is like throwing around verbal spars at the water cooler at the local squash club.
At his level who has had consistently more or the same level of success doing something similar to him? I don’t understand all the Elon hate lately outside of people being bias for the sake of the narrative.
I don't equate entrepreneurial success with knowing what you're talking about. Even Elon's entrepreneurial success is debatable with there being many stories of SpaceX and Tesla being successful despite Musk.
Wealth? There's like 0-3 others. So what? Lottery winners show no more skill than anyone else.
Visibility? Well, you've got Zuck (no what's-her-face in hiding from Meta anymore), not Jack Dorsey anymore, no Sergey or Larry or Bill or Steve... I can't think of anyone outside of tech. Clinton, Bush, Obama, Trump, Biden, they're more visible and seem to have a hard time keeping things together, especially since end of Bush, but they didn't fire half their workforce and make their operations break down frequently. I give Clinton and Obama decent marks for leaving the economy in a good shape for their successors to screw up. Jimmy Carter had great success in his endeavors.
Eptitude? I think the ept have avoided getting snared in awful deals like Elon stuck his finger into.
I think we're at the bottom of the second inning of this game of Twitter-ball. Let's see how it goes from here now that the team is down to a bare roster.
I think maybe the service just takes more people than he thought.
You could make the argument that "it shouldn't take as many people as it did" i.e. the code quality "is bad"
Or you could say "this is hard and takes people to make sure it works."
You will always find that "the code is brittle" as you get rid of more and more people if your assumption is that the service should run with no oversight and no people
Enterprise code is brittle. It's limited by business requirements like having multiple teams working on the same feature, or having the flexibility to change teams and have new people work on partially finished code.
In theory we could make software that lasts for decades, given some languages have been around for that long. Even if the programming languages changed, software could be abstracted and worked on a level that transcends technical specs. The problem is that it is not viable for large organizations with hundreds of engineers that are constantly rotating and changing focus. Business is too short-term oriented to care for any benefits of long-term engineering. I'm not saying it's good or bad, and maybe this changes as we move further and further into the information age.
As a second thought, I think the move from .NET Framework to .NET 5+ could be considered a rewrite, and that has been rather successful on many fronts.
I've done it myself several times, but of course on projects small enough for a single developer. I also think the approach of rewriting bits and pieces over time works. You can identify pieces of the old code base that has well-defined behavior and can be split off with a well-defined interface between the new and old code. This has the added benefit of both needing to understand the old codebase and what you'd ideally want from a new codebase.
> "Why are there so many small services running? Surely we can shut down / delete/ merge together a bunch of them to clean things up"
It’s such a Weird fallacy since I feel like the entire point of Microservces is that there’s an inherit reason they’re microservices in the first place.
If you don’t know why, you investigate why. It feels far easier to make a monolith than a microservice.
many years ago I worked on the windows firewall team at microsoft. it was common practice to get to a certain milestone of a project, then purposely ditch the code and start from scratch. I haven't seen this practice since then, but that part of windows was one of the least hated-on at the time.
That's when you've got something small that works and the rewrite is a bloated mess of every feature you could dream of.
This is the case where you've got an accumulation of over a decade of technical debt and Chesterton's Fences and someone who has no idea why the code is the way that it is inherits it and decides to rewrite it, and not knowing which constraints are necessary and which aren't they throw away most of them and find out the hard way that the problem isn't actually that simple.
It is almost the inverse of the second system syndrome.
But it is abundantly clear that Elon doesn't even know how to have this conversation.
This wouldn't be the first rewrite of Twitter. It feels like a Monty Python sketch: "So I built a third. That burned down, fell over, and then sank into the swamp."
In a comedy world, the results of
Twitter rewrite won't be a website where people can publish 280 characters at a time, but a software that will be able to drive a car autonomously...
Musk (1971) is chronologically older than The Mythical Man Month (1975), but I bet it had already been published by the time he could have understood it.
Moonshot project: stick half a dozen devs in an office and have them rewrite Twitter’s backend in Rust, and stick another half a dozen devs in the next office and have them rewrite Twitter’s frontend in Elixir/Phoenix.
I imagine a jr. programmer saying that to his sr. when he can't figure something out, before the sr. points out the trivial solution to them with a pat on the head and sends them back to the code mines.
He’s probably right?? but brittle’s inevitable with something like that. If his plan is to just min FTEs, I bet it does need a rewrite. But it will still be brittle. If this brings value to shareholders, somehow, then don’t hate the player hate the game.
I think Elmo is more or less sociopathic at this point, but I think he’s more correct about Twitter than people think, just not in the way people think. I think it can be profitable still. He’ll overcome his brand damage eventually.
One who has enough experience to see flaws in an existing (or "legacy") system and feel they could do better if they just rewrote it all from scratch, but not enough experience (or too much hubris) to know how well that does or does not go in practice.
He may be right, of course. I'm just pattern matching on what he sounds like...