Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Elon: Code is brittle. Need a complete rewrite (twitter.com/elonmusk)
48 points by mihird9 on March 6, 2023 | hide | past | favorite | 44 comments


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.


His level of what?

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.


Probably plenty, they're just not famous.


1 point by about3fitty 0 minutes ago | root | parent | next | edit | delete [–]

I’m of the opposite opinion. At this stage, he has heard the counter arguments. He is smart enough to know what he is doing.

I genuinely think he is making these statements to wind us up, though I don’t guess as to why.


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


commonly called the novice expert


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.



Browser is lot more complex than Twitter.


I am extremely skeptical that Netscape 4 is a lot more complex than modern day Twitter.


It can be a legitimate strategy. Hard rules in software rarely work.


Any successful example?


Facebook has done it with their iOS Messenger app

https://engineering.fb.com/2020/03/02/data-infrastructure/me...


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.


This is one of the foundational concepts behind microservices.

A service small enough that a team or engineer can rewrite it in a cycle/sprint.

When it’s bigger than that, you have the compounding effects of other systems that interact with each other.


For microservices, the "rewrite" fallacy usually takes the form of:

"Why are there so many small services running? Surely we can shut down / delete/ merge together a bunch of them to clean things up"

I'm pretty sure Elon has also hit this fallacy during his tenure at Twitter.


> "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.


Beat me to it


"Second system syndrome" is what came to my mind. But I'm wicked old.


Actually its not going to be that.

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.


In a sane acquisition a list of issues would have some out in technical dd. Not that Elon would have listened to anyone doing technical dd.


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."


ego is brittle, needs a complete reckoning with reality.


Go for it. You have a lot of money to burn. Full-Scale Disaster.


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.

cf https://en.wikipedia.org/wiki/Second-system_effect


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.


This would be the most beautiful experiment.

Somehow we would need to track to two code bases for a decade afterwards and see which was the better choice.


His moonshot would be python


Imagine a VP of engineering saying what's in that tweet. How many minutes until they are fired af?


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.


If we’re going by Elon’s precedent with a Senior Android Engineer, looks like about 2 hours. https://www.theverge.com/2022/11/14/23458247/elon-musk-fires...


How about a Kickstarter for funding a McKinsey review? We just want to help.


At my company they'd be promoted to CTO!


You could abstract this for any technical area to show how empty of a statement it ends up being. Thinking about Teslas:

A small wiring change had massive ramifications. The car construction is extremely brittle for no good reason.

Will ultimately need a complete redesign.


Do it in rust and all of hn will be cheering for you.


Then he should go ahead and rewrite it himself.


Do that in Rust.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: