Keep moving those goalposts

Huh? The initial claim is that he wasn’t a software guy. He was. Does that mean anything now? Probably not. Does that qualify him to be a good leader? Absolutely not.

This appears to be the entirety of Musk’s career as a software guy:

Global Link Information Network was founded in 1995 by brothers Elonand Kimbal Musk and Greg Kouri in Palo Alto, California with money raised from a small group of angel investors,[5][6][7] plus US$8,000 from Kouri.[8][3] In Ashlee Vance’s biography of Elon Musk, it is claimed that the Musks’ father, Errol Musk, provided them with US$28,000 during this time,[3]: Ch.4 but Elon Musk later denied this.[5] He later clarified that his dad provided around 10% of US$200,000 as part of a later funding round.[8]

Initially, Global Link provided local businesses with an Internet presence by linking their services to searchers and providing directions.[3]: 61 Elon Musk combined a free Navteq database with a Palo Alto business database to create the first system.[3]

The duration of this extensive ‘coding’ career seems to have been somewhere between 1 and 2 years, after which they got more funding, Musk was kicked upstairs to CTO, and presumably someone else wrote code.

Look, this man is very rich. Richer than everybody. Ergo, he must be better.

Credentials aside, “never rebuild a mature system from scratch” has been a maxim in software for two decades. There’s debate about that rule, but if you’re proposing it like Musk did yesterday, you need to make a convincing case for why. Musk doesn’t seem to know he’s doing something dangerous and doesn’t know why he’s doing it - an experienced engineering manager would know this.

Here’s what is happening in that conversation.

Elon Musk has literally no idea how Twitter works. In the past few weeks, he has been shown architecture diagrams, but since he lacks any expertise in enterprise software design, those diagrams totally bounced off him. He had no idea what he was looking at, and came to the conclusion that his lack of understanding must be due to some kind of inherent incomprehensibility of the architecture itself.

So his solution to this is to “redesign” it from the ground up, after which it works then make sense to him.

But here’s the thing:
Elon Musk doesn’t know shit about any of this stuff.

Twitter’s architecture is not simply complex for fun. It’s a big ass system, and big ass systems aren’t simple. Elon has only worked on trivially simple systems, or had more complex systems presented to him in executive summary versions, which are basically when engineers put together pictures for idiots so the idiots can feel like they are in charge.

There are almost certainly tons of aspects of Twitter which, like literally every legacy system in existence, could benefit from a complete overhaul… But I’ll tell you straight up, even if you went through that redesign process, fucking Elon Musk isn’t going to understand it. Because he’s not a software engineer.

Software engineering isn’t simply writing code, just like mechanical engineering isn’t making diagrams in CAD, or being an author isn’t typing words, or being a carpenter isn’t swinging a hammer. There is actual expertise in such professions, and if you push that expertise, then you can’t really understand what the practitioners are doing.

This is like every time I hear someone say in an exasperated voice : “I don’t understand why this is so complicated!” as I’m going over some new analysis / feature / tracking.

That’s god damn right, you don’t!

Good engineers will have decided that this was (given what work has already been done) actually the best trade-off of simplicity of design, effort of implementation, and robustness of the solution. So if it looks complex, it may be because the more simple solutions don’t cover enough corner cases and fail, leaving humans to have to clean up the constant mess.

It can be hard to teach non-developers that there are many many ways to solve a particular problem, none of them are perfect, and there’s some art in deciding what the traddeoffs (that you have to them live with) are.

I mean my job is literally managing enterprise software systems integrations and data automation. I have Seen Some Shit ™

I could describe our architecture diagram, post all the areas of friction, weakness, or inefficiency in it. I could (and have) proposed areas it could improve. Sometimes this is replacing a system, others could be merging one legacy system into a newer one. But nothing in that system is arbitrary, and divestments are time consuming and long processes. One particular pain system is 25 years old and was on year 2 of a 5 year divestment path when I joined in 2018. It still sits here at maybe year 2.5 of a 5 year divestment path. We are at least 2 financial years from pulling the plug.

Not because anybody loves this system and thinks it’s great today (granted that it still runs 25 years later means it was when it deployed on its original pre Windows 98 system), but because this shit is hard. If it was merely a matter of getting everyone to agree that it needs to be replaced it would have happened. But we do! We all really want this to happen!

But actually replacing those, still business critical, functions is not simple. And so it chugs along.

Now that he has reduced staff just to those coders who produce the most lines of code, how long could a complete rewrite take? Two weeks?

Well, maybe you could get a minimum viable product out the door, where only Elon could tweet and everyone else could read and like his posts.

I bet he’d LOVE that.

The catalyst for this bit was that George Hotz, who joined Twitter with big fanfare five weeks ago promising to “fix” Twitter’s search in twelve weeks, resigned yesterday saying he could not actually have any impact there [0].

And then Hotz, Musk, and various flunkies had a Twitter space where they whined about how surprisingly hard things were. (And generally came across as total morons why while doing it.)

But it was no surprise! People who have actually worked on large systems predicted specific ways in which this would fail, and everything they predicted came to pass.

This is not “there are two hundred people in the world who have this experience”. It’s that even a junior engineer who has worked on a big project could have identified a bunch of these issues in advance. But somehow nobody in Musk’s orbit is capable of it, or at least dares say it out loud.

[0] one more funny thing… Hotz ran a poll for whether to resign, promising to respect the outcome. The outcome was “no”, and three hours later he resigned anyway.

The idea that the people puking out the most LoC on a mature product are the valuable ones never stops being amusing to me.

Which Trapper Keeper of code that you review each week is the most impressive?

Trapper Keeper. Heh…

That says Twitter for iPhone. I thought… Nevermind.

Latest twitter files drop!

(thread)

I thought they already did Hunter Biden?

[/s]

Seems like they’d save that for part 666

When I was running a big, clunky, unwieldy Fortran system running on a Vax 11/780 back in the day, about 800k lines of highly classified code, it was instantly apparent to the programmer who worked with me–and even to me, whose experience was vastly less but who had had the task of writing the user docs for this beast immediately before taking over operations–that this thing was a hot mess. But it worked. And given that it was doing stuff that was in addition to be part of a black program was a highly valuable and actually useful black program, that provided useful stuff to people doing useful things, it was sort of a non-starter to bring it down and re do it. The costs in all senses of rewriting it and re-platforming it were too high compared to the benefits–what we’d lose while futzing around, assuming even we could recreate everything so it worked at least as well, would be too much, and what we’d gain would be too far in the future to matter.

So we soldiered on, tinkering here and there, making sure it stayed alive, and amazingly enough, it lasted until the end of the Cold War at least, when it sort of became more or less (I’m guessing here, as I left it about that point) irrelevant. Had we done the “rational” thing and reworked it all, we’d have lost two years of operational capability at a crucial time. Sure, it was complex as hell and made jack-all sense (comments like “what the hell does this do?” abounded) sometimes, but, eh, it worked.

That Twitter space recording is wild and proves beyond any doubt that Musk doesn’t know shit about software engineering.

I especially love the sheer incredulity in the voices of all speakers when Musk announces he wants to gain velocity by doing a total rewrite.