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”
@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.
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.
i remember a corporate rule came down that we needed something like 70% of all code unit tested for stability.
Damn were our getters and setters rock solid. No errors there. Business logic however…
Well, then the developers committed fraud, as getters and setters generally have very little logic. I’m surprised the code coverage reports failed to show the low coverage… You did have code coverage reports, rright?
Bruh it’s a story, not a trial.
I find it a bit obnoxious to claim unit testing is a waste of time and then point to worthless testing of logicless code as proof.
All that illustrates is that worthless tests are worthless. Basically, a tautology. If one wants to convince people that tests are worthless, show how actual test coverage added no value.
The reason most coverage requirements are about 80%, is precisely that testing should not be done on code that has no business logic, like getters and setters.
So, testing the one thing for which tests are worthless is fraudulent behavior and ironically just makes their own jobs that much more painful.
Yes. That was the joke of it all. That a useless business rule that came down made developers more focused on hitting a metric rather than building useful tests. Thank you for explaining my own story to me.
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”
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.
I don’t think we’re in disagreement here, these are just different indicators and consequences of what makes good software. Lines of code will correlate with software quality to a certain degree, but ultimately they’re a flawed metric when the actual goals are readability and maintainability.
Less code does not equal less readability. Less code comes naturally from SOLID, DRY principles and proper use of design patterns. Every one of those buzzwords emphasizes readability and maintainability. Throw in some DDD, and you have an excellent base for ever changing features.
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?”
I love that because it’s such a cautionary tale about bad leadership. He was toxic towards Twitter for years then bought them and doubled down on shitting on them and calling them incompetent… Of course they hate his guts and maliciously comply now.
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.
Thatsva tidy narrative there. Is there a correlary for the other 140k+ layofffs from the 2nd and 3rd tier tech companies that followed the lead?
Another tidy narrative is that these tech companies, besieged by pesky overworked employees who kept trying to unionize and demanding higher pay, decided to teach them who is in control.
Almost the same time all these “unnecessary” people were let go, these same companies ramped up their H1-b visa hires. Hmmmm, coincidence? Maaaaaayybe! It’s odd that some of these firings happened as unionization gained momentum. There was a time when that was illegal.
You mention things I haven’t heard about. Any sources on those?
Sure. Let’s see… There’s this: Tech Layoffs Likely Pose No Deterrent to Record H-1B Visa Demand
Tech workers willing to rake lower pay
This illustrates how widespread these layoffs are: More than 219,000 global tech workers have lost their jobs this year
In every other industry, hiring continues to be robust, yet pretty much the entire tech industry is in a depression. Why? Even the companies having “weak” earnings last quarter continue to do well financially.
Outsourcing hubs like India to bag 30% to 40% of jobs lost to tech layoffs
Big tech doubles down on union busting as labor movement intensifies
Thanks.
Again though, I think the why’s point back to the same thing.
Salaries in tech in the US has been boosted by ridiculous high demands.
Accountants don’t understand that skills and knowledge is something you pay for and just see that one dev in India costs 1/5 of one dev in the US.
Heck, even I’m cheap compared to the average US devs and I live in Norway.
But why do all these other companies do the same thing? Because they’re bandwagon companies. If FANG does something they’ll do the same.
I also read once that recessions hit the tech industry first, but it also bounces back first.
If that’s correct I have no idea, and I’ve yet to go through a proper recession in my career, but it’s definitely clear that we are busy making one.
All the companies going like “we need to be inflation winners”, I know mine does.
As for outsourcing to India, that always goes in waves. Hard to build good tech there. It’s only cheap in the beginning. Too much instability and job switching.
Note that I have never seen or met anyone who earns more than $160,000 as a developer. That is itself considered a huge sum of money here in the U.S.A. I am in the northeast, and it’s the same in the mid-Atlantic.
I think references to 300-600k pay is bullshit - a unicorn presented to make everyone outside the industry think we’re priveliged and have nothing to complain about. It’s a strawman, a convenient myth.