Complex internet services fail in interesting ways as they grow in size and complexity. Twitter’s recent issues show how failures emerge slowly over time as relationships between components degrade. Meta’s quick launch of Threads demonstrates how platform investments can compound over time, allowing them to quickly build on existing infrastructure and expertise. While layoffs may be needed, companies must be strategic to maintain what matters most - the ability to navigate complex systems and deliver value. Twitter’s inability to ship new features shows they have lost this expertise, while Threads may out-execute them due to Meta’s platform advantages. The case of Twitter and Threads provides a lesson for companies on who they want to be during times of optimization.
My favorite phrase in coding is “9 women can’t make a baby in a month, but 9 women can make 9 babies in 9 months”.
Elon took over and fired so so so many talented engineers saying they were lazy, or incompetant, or whatever excuse he had when he really meant “they cost a lot”. Now he’s seeing the downside of that.
The phrase means you can’t take a project and throw more people at it to make it go faster because there is institutional knowledge that needs to be learned first. You can’t take a 9 month long project that 1 person is in the middle of and throw 8 more people at it and demand it gets done in a month, something Elon is really trying to push. Those 8 other people need time to onramp, to learn how the thing is being built, to learn how systems and subsystems all interact. In fact, usually this is a sign of a terrible leader because most of the time projects will slow down while you’re trying to onramp all of those other people when at that point it would have just been faster to let the one person finish.
What you can do, as Facebook obviously did, is actually project plan. They said “we need 9 babies, what do you need to get that done?” and they replied “9 people and 9 months”. and look how it paid off.
I hope Elon’s twitter tanks because of his impulsive short sighted decisions that he thinks are “projects”
Elon’s antics aside, I hope no-one thinks that the amount of developers that Twitter had was needed or even sustainable.
Did he get rid of too many? Definitely. Did he get rid of the wrong ones? Definitely.
It depends on their aspirations.
Did they have too many engineers if all they wanted to do was keep the lights on for their core business? Yes.
Did they have too many engineers if they wanted to have the capacity to deliver more ambitious products and solutions, such as massively scalable live video streams, or social audio, or something entirely new? Maybe not.
Personally I believe their organization was highly bloated to the point of them being unable to reach any new goals with any reasonable pace.
Obviously that’s a highly speculative armchair based assessment and you may take it for what it’s worth, nothing.
But just look at the firing squad that’s been out this winter. Meta/Facebook, Twitter, Google.
Collectively that’s at least around 25k people that have been let go just from those three behemoths alone.
Access to capital was easy and they were simply throwing spaghetti at the wall to see what sticks.
Now that interest rates are higher profitability is suddenly important.
Now they actually have to think about what they invest in and which products deserve to live.
Not that it changes anything for Google, they’ll probably just keep making yet another chat service before killing it off again 3-5 years later after having introduced a few more in the meantime.
Hubris aside, Elon will tank because, at Twitter, he seems to be devoid of people who will make things work despite of him. Twitter employees must be giving Musk exactly what he orders and he is seeing the impact of that, since Musk must have thought “a web page… How hard can it be to someone who made reusable rockets?”
@scrubbles My favorite early moment was him firing people based on lines of code written… which of course meant he fired all of his best because the worst programmers write many lines that do less while great programmers write few lines that do more.
Meh, the best programmers are probably somewhere in the middle.
This also depends on what kind of work you’re doing.
Writing some frontend with lots of Boilerplate? That’s lots of lines.
Writing efficient code that for example runs on embedded systems? That’s different. My entire master’s thesis code project on an embedded system consisted of around 600 lines of C code, and it did exactly what it should, efficiently.
A better metric to that effect would be the git activity graph. People that do important changes don’t commit 20 times a day - they push a commit usually once a day tops to once every 2 weeks
@uberrice
It’s the fact that from what I saw he didn’t differ by project, and the fact that better programmers do more with less.
He literally had them print out their code to judge off of. Security engineer tracking down vulnerabilities? Well, since that’s just a couple lines of code (if not just characters) after long stretches of testing? Fired for “productivity”
the worst programmers write many lines that do less while great programmers write few lines that do more.
That doesn’t sound exactly right. Readability is IMO the most important code quality followed by things like maintainability. Conciseness is a lot further down the list. If I have to use more lines of code or even leave out a little performance optimization for readability, I generally do.
Great programmers aren’t playing code golf.
Their code is naturally smaller because they recognize patterns and understand what should be turned into functions/classes/etc and what should not. There absolutely is a point where cutting out lines of code is a negative, but well structured code just takes so much less code than a mess that that’s not what really moves the needle on the metrics.
The last few months have been me going back and removing code lol. Most of my time is spent reviewing my jrs code now, less even writing my own! But no he very smart for line count = good programming
Wasn’t that an old example of perverse incentives? IBM ranked or paid bonuses based on lines of code. In short order, all their code became bloated and inefficient.
This was an old example in the 90’s and maybe the 80’s, so could have been over of the other OG computer companies (Digital, Sun, HP, etc). Could also be apocryphal. Point is, it’s a classic example of dumb management ideas.